早教吧作业答案频道 -->其他-->
1、针对下列各题,各编写一条C++语句完成指定的任务.假设双精度的浮点数存储在8个字节中,数组在内存中的开始地址为1003600.这道练习题的每个部分应该在恰当的地方使用前面部分的结果.a)
题目详情
1、 针对下列各题,各编写一条C++语句完成指定的任务.假设双精度的浮点数存储在8个字节中,数组在内存中的开始地址为1003600.这道练习题的每个部分应该在恰当的地方使用前面部分的结果.
a)
声明一个含有10个元素的double类型的数组numbers,并把10个元素初始化为0.0,1.1,2.2…,9.9.假设符号常量SIZE已定义为10
b)
声明一个指针nPtr,指向double类型的变量
c)
利用一条for语句,用数组下标表示法打印数组numbers的10个元素.以小数点后面精度为1的格式打印每个数.
d)
编写两条不同的语句,将数组numbers的开始地址赋给指针变量nPtr.
e)
利用一条for语句,使用指针/偏移量表示法通过指针nPtr打印数组numbers的元素
f)
利用一条for语句,把数组名作为指针,用指针/偏移量表示法打印数组numbers的元素.
g)
利用一条for语句,使用指针/下标表示法通过指针nPtr打印数组numbers的元素.
h)
分别用数组下标表示法、把数组名作为指针的指针/偏移量表示法、nPtr的指针下标表示法和nPtr的指针/偏移量表示法引用数组numbers的第4个元素.
i)
假设nPtr指向数组numbers的开始位置,则nPtr+8引用的是哪个地址?该位置存储的值是什么?
j)
假设nPtr指向numbers[5],则执行nPt-=4之后nPtr引用的是哪个地址?该位置存储的值是什么?
a)
声明一个含有10个元素的double类型的数组numbers,并把10个元素初始化为0.0,1.1,2.2…,9.9.假设符号常量SIZE已定义为10
b)
声明一个指针nPtr,指向double类型的变量
c)
利用一条for语句,用数组下标表示法打印数组numbers的10个元素.以小数点后面精度为1的格式打印每个数.
d)
编写两条不同的语句,将数组numbers的开始地址赋给指针变量nPtr.
e)
利用一条for语句,使用指针/偏移量表示法通过指针nPtr打印数组numbers的元素
f)
利用一条for语句,把数组名作为指针,用指针/偏移量表示法打印数组numbers的元素.
g)
利用一条for语句,使用指针/下标表示法通过指针nPtr打印数组numbers的元素.
h)
分别用数组下标表示法、把数组名作为指针的指针/偏移量表示法、nPtr的指针下标表示法和nPtr的指针/偏移量表示法引用数组numbers的第4个元素.
i)
假设nPtr指向数组numbers的开始位置,则nPtr+8引用的是哪个地址?该位置存储的值是什么?
j)
假设nPtr指向numbers[5],则执行nPt-=4之后nPtr引用的是哪个地址?该位置存储的值是什么?
▼优质解答
答案和解析
double number[SIZE]={0.0,1.1,2.2,3.3,4.4,5.5,6.6,7.7,8.8,9.9};
double* nPtr;
printf("c)");
for(int icnt=0;icnt!=10;++icnt)
{
printf("%.1f ",number[icnt]);
}
nPtr=number;
nPtr=&number[0];
printf("\ne)");
for(int icnt=0;icnt!=10;++icnt)
{
printf("%.1f ",*(nPtr+icnt));
}
printf("\nf)");
for(int icnt=0;icnt!=10;++icnt)
{
printf("%.1f ",*(number+icnt));
}
printf("\ng)");
for(int icnt=0;icnt!=10;++icnt)
{
printf("%.1f ",nPtr[icnt]);
}
printf("\nh) %.1f %.1f %.1f %.1f ",number[3],*(number+3),nPtr[3],*(nPtr+3));//1003664->8.8
printf("\ni) %d->%.1f",nPtr+8,*(nPtr+8));
nPtr=&number[5];
nPtr-=4;
printf("\nj) %d->%.1f",nPtr,*nPtr);//1003608->1.1
double* nPtr;
printf("c)");
for(int icnt=0;icnt!=10;++icnt)
{
printf("%.1f ",number[icnt]);
}
nPtr=number;
nPtr=&number[0];
printf("\ne)");
for(int icnt=0;icnt!=10;++icnt)
{
printf("%.1f ",*(nPtr+icnt));
}
printf("\nf)");
for(int icnt=0;icnt!=10;++icnt)
{
printf("%.1f ",*(number+icnt));
}
printf("\ng)");
for(int icnt=0;icnt!=10;++icnt)
{
printf("%.1f ",nPtr[icnt]);
}
printf("\nh) %.1f %.1f %.1f %.1f ",number[3],*(number+3),nPtr[3],*(nPtr+3));//1003664->8.8
printf("\ni) %d->%.1f",nPtr+8,*(nPtr+8));
nPtr=&number[5];
nPtr-=4;
printf("\nj) %d->%.1f",nPtr,*nPtr);//1003608->1.1
看了 1、针对下列各题,各编写一条...的网友还看了以下:
矩形的长为a,宽为b,面积为s,则矩形的面积为S=ab(1)用S,a,表示b;(2)用S,b,表示a 2020-03-30 …
一个底面是正方形的长方形容器,高为10厘米,底面正方形的边长为a厘米,它高不变底面正方形的边长增加5 2020-03-31 …
内存字节算法内存按字节编址,地址从A4000H到CBFFFH,共有(1)个字节.若用存储容量为32 2020-04-26 …
2008年6月1日北京奥运会圣火在宣昌传递,圣火传递路线分为两段,其中在市区的传递路程分为700( 2020-05-13 …
用单调有界数列收敛准则证明数列极限存在.(1)X1>0,Xn+1=1/2(Xn+a/Xn)(n=1 2020-05-16 …
已知函数f(x)=loga(3-ax)(1)当x在【0,2】时,函数f(x)恒有意义,求实数a的取 2020-05-16 …
数学题:妈妈每月工资的3分之1用于生活支出,4分之1存入银行,其余用于外出开支,外出开支为妈妈每月 2020-05-17 …
已知二维数组A[1:4,1:6)采用行序为主序方式存储,每个元素占用3个存储单元,并且A[1,1]的 2020-05-26 …
已知线段AB=a,延长AB至点C,使BC=1/3AB,点D为线段AC的中点.1用含a的代数式表示C 2020-06-05 …
y=ax2+bx+c顶点为(2,4)(1)用含a式子表示b,c(2)若y=kx+4(k不等于0)与 2020-07-25 …