C++指针数组试题.doc_第1页
C++指针数组试题.doc_第2页
C++指针数组试题.doc_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

(一) 填空题1. 一个指针类型的对象占用内存的_个字节的存储空间.2. 一个指针类型指向一个数据对象,它保存着该数据对象的_,若数据对象为DataType类型,则该指针的类型为_.3. 若要把一个整形指针P转换为字符指针,则采用的强制转换表达式为_.4. 假定一个数据对象为int *类型,则采用的强制转换表达式为_.5. 假定P是一个指向整数对象的指针,则用_表示该整数对象,用_表示指针变量P的地址.6. 假定P是一个指针,则*P+运算首先访问_,然后使_的值增1.7. 假定P是一个指针,则(*P)+运算首先访问_,然后使_的值增1.8. 假定P所指对象的值为25,P+1所指对象的值为42,则*P+的值为_.9. 假定P所指对象的值为25,P+1所指对象的指为42,则*+P的值为_.10. 假定P所指对象的值为25,P+1所指对象的值为42,则执行(*P)+运算后,P所指对象的值为_.11. 假定P所指对象的值为25,P+1所指对象的值为42,则执行*(P+)或*P+运算后,P所指对象的值为_.12. 假定A是一个一维数组,则Ai的指针访问方式为_.13. 一个数组的数组名实际上是指向该数组_元素的指针,并且在任何时候都不允许_它.14. 若要定义整形指针P并初始指向X,则所使用的定义语句为_.15. 若P指向X,则_与X的表示是等价的.16. 在一个二维数组int amn中,包含的一维元素ai的类型为_,访问ai时返回值的类型为_.17. 假定a是一个二维数组,则aij的指针访问方式为_.18. 若y是x的引用,则&y和&x的值_,即为变量_的地址.19. 招待int *p=new int10操作,使p指向动态分配的数组中下标为_的元素,该元素可表示为_或_.20. 执行char *p=new char(a)操作后,p所指向的数据对象的值为_.21. 执行_操作将释放由P所指向的动态分配的数据空间.22. 执行_操作将释放由P所指向的动态分配的数组空间.(二) 写出下列每个程序运行后的输出结果并上机验证1. #includevoid main() char a15=”1352460357589”; char *p=a; int c1,c3,c5; c1=c3=c5=0; while(*p) if(*p=1) c1+; else if(*p=3) c3+; else if(*p=5) c5+; p+; coutc1 c3 c5endl; 2. #includevoid main()int a8=3,5,7,9,11,13,15,17;int *p=a;for(int i=0;i8;i+)coutsetw(5)*p+;if(i+1)%4=0) coutendl;3.#includevoid main()int a8=46,38,72,55,24,63,50,37;int s=0;int *p=a+3;while(pa+8) s+=*p+;couts s/5 float(s)/5endl;4. #includevoid main()int a8=46,38,72,55,24,63,50,37;int max=*a,min=*a;for(int *p=a+1;pmax) max=*p;if(*pmin) min=*p;coutmax minendl;5. #includevoid main()int a5=3,6,9,12,15;int *p=a;for(int i=0;i5;i+) coutsetw(5)*p+;coutendl;for(i=0;i5;i+)coutsetw(5)*-p;coutendl;6. #includevoid main()int a8=4,8,12,16,20,24,28,32;int *p=a;docout*p ;p+=2;while(pa+8);coutendl;7. #includevoid main()int x=20,y=40,*p;p=&x;cout*p ;*p=x+10;p=&y; cout*pendl;*p=y+20; coutx yendl;8. #includevoid main()int x=12, *xp=&x;*xp=x+5;cout*xp xendl;x+=2*xp+1;cout*xp xendl;9. #includevoid main()char a315=computer,typewriter,telephone;char (*p)15=a;for(int i=0;i3;i+)cout*p+endl;10. #include#includetypedef char AA10;void main()AA a,b=camera;char *ap=a,*bp=b+strlen(b);while(bp!=b) *ap+=*-bp;*ap=0;couta bendl;11. #includeconst n=5;void main()int an=3,10,5,4,7;int *p1=a,*p2=a+n-1;while(p1p2)int x=*p1;*p1=*p2;*p2=x;p1+;p2-;for(int i=0;in;i+)cout*(a+i) ;coutendl;12. #includevoid main()int x=24;int &y=x;coutx yendl;y=46; x=y+3;coutx yendl;13. #includevoid main()int x=23;int *p1=new int(5);int *p2=new int(x-8);cout*p1 *p2endl;int temp=*p1;*p1=*p2;*p2=temp;cout*p1 *p2endl;delete p1; delete p2;14. #includeconst int n=12;void main()int *a=new intn;a0=0; a1=1;for(int i=2;in;i+)ai=ai-1+ai-2;for(i=0;in;i+)coutsetw(5)ai;if(i+1)%6=0) coutendl;delete a;(三) 编写下列程序并上机运行1. 有一个数列,它的第一项为0,第二项为1,以后每一项都是它的前二项之和,试产生出此数列的前20项,并按逆序显示出来.2. 从键盘上输入一个字符串,假定该字符串的长度不超过30,试统计出该串中所有十进制数字字符个数.3. 首先从键盘上输入一个4行4列的一个实数矩阵列到一个二维数组中,然后求出主列角线上元素之乘积.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.4.已知一个数组矩阵为 求出该矩阵的转置矩阵. 并输出出来,其中转置矩阵中的ij位置上的元素等于矩阵中的ji位置上的元素.5.首先让计算机随机产生出10个两位正整数,然后按照从小到大的次序显示出来.6.从键盘上输入一个字符串,假定

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论