早教吧作业答案频道 -->其他-->
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、针对下列各题,各编写一条...的网友还看了以下:
设双曲线C的中心在原点,以抛物线的顶点为双曲线的右焦点,抛物线的准线为双曲线的右准线.(1)试求双 2020-04-08 …
设双曲线C的中心在原点,以抛物线y2=23x−4的顶点为双曲线的右焦点,抛物线的准线为双曲线的右准 2020-04-08 …
1、针对下列各题,各编写一条C++语句完成指定的任务.假设双精度的浮点数存储在8个字节中,数组在内 2020-05-13 …
( 17 )下列指令中,哪一个不是特权指令?A) 访管指令B) 启动设备指令C) 设置时钟指令D) 2020-05-23 …
下列指令中,哪一个不是特权指令?A.访管指令B.启动设备指令C.设置时钟指令D.停机指令 2020-05-23 …
计算机问题下列指令中,哪一个不是特权指令()A.访管指令B.启动设备指令C.设置时钟指令D.停机指 2020-06-18 …
有关pascal指针的问题双向链表中有两个指针域llink和rlink,分别指向该结点的前驱及后继 2020-06-30 …
问题之数据结构链表双向链表中有两个指针域,llink和rlink分别指向前趋及后继,设p指向链表中 2020-07-22 …
关于excel,利用公式计算红外光谱共有峰率和变异峰率双指标我想计算一下两个药品红外光谱的共有峰率和 2020-11-01 …
在生活中常常用转盘来设计对双方公平的游戏.如图1是4个小朋友设计的转盘.(1)你认为谁设计的转盘能使 2020-11-07 …