早教吧作业答案频道 -->其他-->
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、针对下列各题,各编写一条...的网友还看了以下:
某储户2002年5月1日存入银行定期存款1000元,存期一年,假设存入时该档次存款年利率为3%,该储 2020-05-21 …
储户张先生在某年的8月1日存入银行定期存款10 000元,存期1年,假设存入时该档次存款年利率为2. 2020-05-21 …
某储户2009年3月1日存入1 000元,原定存期1年,假设存入时该档次月利率为8‰,回答 97~1 2020-05-21 …
根据下列资料,回答9~12题:某储户2009年3月1日存入1000元,原定存期l年,假设存入时该档次 2020-05-30 …
某储户2007年3月1日存入1000元,原定存期1年,假设存入时该档次月利率为9‰,该储户于2007 2020-11-06 …
A公司2007年第3季度的基本账户共发生如下变化:9月30日存入10000元;10月12日,支取存款 2020-11-06 …
2002年5月1日存入定期存款1000元,存期一年,假设存入时该档次存款年利率为3%,于2003年6 2020-11-06 …
假若宇宙中真的存在外星人生活的星球.则该星球存在生命的物质条件有哪些?注意:假设存在物质条件! 2020-12-14 …
如图,为了促进当地旅游发展,某地要在三条公路AB、AC、BC两两相交围成的一块平地上修建一个度假村. 2020-12-14 …
假定一个VisualBasic应用程序由一个窗体模块和一个标准模块构成。为了保存该应用程序,以下正确 2020-12-14 …