C语言程序设计:指针的使用单元测验与答案_第1页
C语言程序设计:指针的使用单元测验与答案_第2页
C语言程序设计:指针的使用单元测验与答案_第3页
C语言程序设计:指针的使用单元测验与答案_第4页
C语言程序设计:指针的使用单元测验与答案_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

1、、单项选择题1、已有定义 int k=2, *ptrl, * ptr2;,正确执行的赋值语句是()oA. k=*ptrl+*ptr2;B.ptrl=ptr2;ptr2=k ;k=* ptrl*(* ptr2);正确答案:C2、变量的指针是指该变量的(A. 一个标志B.别名C.地址D.值正确答案:C3、如果有定义int a=5;,那么下面对、1、已有定义 int k=2, *ptrl, * ptr2;,正确执行的赋值语句是()oA. k=*ptrl+*ptr2;B.ptrl=ptr2;ptr2=k ;k=* ptrl*(* ptr2);正确答案:C2、变量的指针是指该变量的(A. 一个标志B.别

2、名C.地址D.值正确答案:C3、如果有定义int a=5;,那么下面对、且ptrl和ptr2均已指向变量k,不能)o两个语句的正确解释是( )oA.在说明p的同时进行初始化,使p指向a;将变量a的值赋给*pB.在说明p的同时进行初始化,使p指向a;将变量a的值赋给指针变量pC.语句和的执行结果,都是把变量a的地址值赋给指针变量pD.语句和的含义相同,都表示给指针变量p赋值正确答案:A4、假设有定义和语句,那么输出结果是( )o int *pp, *p, a=10, b=20;pp=&p; p二&a; p=&b;printf (d, %dn,*p, *pp);20, 2020, 1010, 20

3、10, 10正确答案:A5、假设有以下的定义,那么值为3的表式是( )oint a = 1, 2, 3, 4, 5, 6, 7, 88, 9, 10, *p=a;p+=3, *p+p+=2, *+pp+=2, +*pp+=2, * (p+)正确答案:D6、设有定义:char*a2=ABC,勺23;那么以下说法正确的选项是()a数组成元素的值分别是ABC和 123a是指针变量,它指向含有两个数组元素的字符型一维数组a数组的两个元素中各自存放了字符A和1的地址a数组的两个元素分别存放两个字符串的首地址正确答案:D7、下面各语句行中,能正确进行字符串赋值操作的语句是()。char st45 = AB

4、CDE;char *s; scanf ( % s,s);char * s;s=ABCDE;char s5=A, B, C, D, E;正确答案:C8、执行以下程序段后,y的值是()。int a = 2, 4, 6, 8, 10);int y=l, x, * p;p=&al;for (x=0;x3;x+)y+二*(p+x);printf (%dn, y);17192018正确答案:B9、有以下定义,那么不能给数组a输入字符串的语句是()。 char a10, *b=a;gets(&a0);gets(a0);gets (a);gets (b);正确答案:B10、以下说法正确的选项是()oA.在使用

5、指针变量时,其可以指向任意内存空间B.数组在内存中占有连续空间,数组名是其首地址C.通过指针的引用运算可以修改指针所指对象的地址D.指针的指向不能改变正确答案:B二、多项选择题1、假设已定义chars10;,那么下面表达式中能表示sl的地址的是()。&s0+l&sls+1s+正确答案:A、B、C2、假设有以下定义和语句,能正确引用w数组元素的是( )o int w23, (*pw)3;pw=w;*(pwl+2)*wl 2pw0 0* (pw+1) 2_正确答案:A、C3、以下程序段的功能是从键盘接收一个字符串,删除重复的字符。请选择填空( )。char string100, c, *q;get

6、s (string);scanf(%c, &c);for (p=q=string;*p;p+)if (*p!=c) () *q= 0;printf (result;%sn,string);A.*q=*p;q+;B.*p=*q;p+;*q+=*p;q=p ;正确答案:A、C4、假设有以下的定义:int t32;能正确表示t数组元素地址的表达式是()o&t3 2&tl 2C. t3D. t2正确答案:B、D三、判断题1、同其他基本数据类型一样,指针类型的数据也有常量,例如数组名就是指针 类型常量。正确答案:V2、在定义指针变量的同时,可以对其进行初始化,以保证指针变量中的指针有 明确的指向。正确答

7、案:V3、以下程序段,对于指针的使用是正确的。short int a;float *p=&a;正确答案:B4、运算符&、*、+、一的优先级相同,按自右向左的方向结合。正确答案:V5、当两个指针指向不同数组时,两个指针可以比拟大小,但没有实际意义。正确答案:V6、在C语言中,二维数组以行优先方式存放在一维线性内存空间中。正确答案:V7、假设有int a5 5;那么*(a+i)+j是ai j的地址,*(a+i)等价于ai等价于 &ai 0o正确答案:V8、假设有int (*p) 4;那么表示变量p是一个指向有4个元素的一维整型数组的指 针变量。正确答案:V9、空指针并不指向任何对象,仅是一个概念,

8、在程序中没有应用意义。正确答案:X10、在说明指针时,很多时候是由指针、数组、函数说明组合而成的。但它们并 不能任意组合。正确答案:V四、填空题1、有以下程序段,b的值是( )oint a10 = l, 2, 3, 4, 5, 6, 7, 8, 9, 10, *p=&a3, b;b=p5;正确答案:92、对象在内存中所占存储空间的()称为指向该对象的指针。正确答案:起始地址3、有以下程序段,输出结果是()。char *p10 = abc,aabdfg”,dcdbe,“abbd,cd;printf(%dn,strlen(p4);正确答案:24、有如下程序段,输出结果为()ochar s 口二goodbay ! ; char *p=s;while (*p) p+;printf (%d, p-s);正确答案:85、设 sizeof (short int)=2,显示结果为()。short int *p, *q;short

温馨提示

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

评论

0/150

提交评论