电大形成性考核册c第三次作业及答案
- 格式:doc
- 大小:29.32 KB
- 文档页数:7
计算机应用专业“C++语言程序设计”课程作业
第三次作业
一、填空题
1.假定p所指对象的值为28,p+1所指对象的值为62,则* p + +的值为28。
2.假定p所指对象的值为28,p+1所指对象的值为62,则* + + p的值为62。
3.假定p所指对象的值为25,p+1所指对象的值为50,则执行“(*p)+ +;”语句后,p 所指对象的值为26。
4.假定p所指对象的值为25,p+1所指对象的值为50,则执行“*(p+ +);”语句后,p 所指对象的值为50。
5.假定a是一个指针数组,则a+i所指对象的地址比a地址大未知字节。
6.假定a是一个一维数组,则a[i]的指针访问方式为*(a+i)。
7.假定a是一个二维数组,则a[i] [j]的指针访问方式为*(*(a+i)+j)。
8.假定a是一个一维数组,则a[i]对应的存储地址(以字节为单位)为(char
*)a+i*sizeof(a[0])。
9.假定一个二维数组为a[M] [N],则a[i] [j]对应的存储地址(以字节为单位)为(char
*)a+(i*N+j)*sizeof(a[0][0])。
10.假定一个二维数组a[M] [N],则a[i]的地址值(以字节为单位)为(char
*)a+i*N*sizeof(a[0][0])。
11.假定p是一个指向float型数据的指针,则p+1所指数据的地址比p所指数据的地址大4字节。
12.假定a为一个字符数组名,则元素a[8]的字节地址为8。
13.假定a为一个整型数组名,则元素a[4]的字节地址为16。
14.假定一个结构类型的定义为“struct A{int a,b;short c;A*d;};”,则该类型的大小为14 字节。
15.假定一个结构类型的定义为“struct B{int a[8];char* b;};”,则该类型的大小为
36 字节。
16.假定一个结构类型的定义为“struct D{int a;union{int b;double c;};D*d[3];};”,则该类型的大小为24字节。
17.假定要动态分配一个类型为Worker的具有n个元素的数组,并由r指向这个动态数组,则使用的语句为r=new Worker[n];。
18.假定要访问一个结构x中的由a指针成员所指向的对象,则表示方法为*(x.a)。19.假定要访问一个结构指针p所指对象中的b指针成员所指的对象,则表示方法为
*(p->b)。
二、给出下列程序运行后的输出结果
以下结果中空格以'ˉ'表示
1.#include
void main(){
;}7,9,11,13,3,8,15,17{int a[8]=
int *p = a;
for(int i =0;i<8;i + +){
cout< if((i +1)%4 = =0)cout< } } ˉˉˉˉ7ˉˉˉˉ9ˉˉˉ11ˉˉˉ13 ˉˉˉˉ3ˉˉˉˉ8ˉˉˉ15ˉˉˉ17 2.#include void main(){ int a[5]={3,6,15,7,20}; int *p = a; for(int i = 0;i<5;i + +) cout< cout< for(i =0;i<5;i + +) cout< cout< } ˉˉˉˉ3ˉˉˉˉ6ˉˉˉ15ˉˉˉˉ7ˉˉˉ20 ˉˉˉ20ˉˉˉˉ7ˉˉˉ15ˉˉˉˉ6ˉˉˉˉ3 3.#include void main(){ int a[8] ={4,8,12,16,20,24,28,32}; int *p = a; do{ cout<< *p << ' '; p + =3;