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

下载本文档

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

文档简介

一、单选题

1、己有定义intk=2,*ptrl,*ptr2;,且ptrl和ptr2均已指向变量k,不能

正确执行的赋值语句是()o

A.k=*ptrl+*ptr2;

B.ptrl=ptr2;

C.ptr2=k;

D.k=*ptrl*(*ptr2);

正确答案:C

2、变量的指针是指该变量的()o

A.一个标志

B.别名

C.地址

D.值

正确答案:C

3、如果有定义inta=5;,则下面对①、②两个语句的正确解释是()。

A.①在说明p的同时进行初始化,使p指向a;②将变量a的值赋给*p

B.①在说明p的同时进行初始化,使p指向a;②将变量a的值赋给指针变量p

C.语句①和②的执行结果,都是把变量a的地址值赋给指针变量p

D.语句①和②的含义相同,都表示给指针变量p赋值

正确答案:A

4、若有定义和语句,则输出结果是()。

int**pp,*p,a=10,b=20;

pp=&p;p=&a;p=&b;

printf(〃%d,%d\nz,,*p,**pp);

A.20,20

B.20,10

C.10,20

D.10,10

正确答案:A

5、若有以下的定义,则值为3的表式是()o

inta[]={1,2,3,4,5,6,7,88,9,10},*p=a;

A.p+=3,*p++

B.p+=2,*++p

C.p+=2,++*p

D.p+=2,*(p++)

正确答案:D

6、设有定义:char*a[2]={〃ABC〃,〃123〃};则以下说法正确的是()。

A.a数组成元素的值分别是〃ABC〃和〃123〃

B.a是指针变量,它指向含有两个数组元素的字符型一维数组

C.a数组的两个元素中各自存放了字符'A'和'1'的地址

D.a数组的两个元素分别存放两个字符串的首地址

正确答案:D

7、下面各语句行中,能正确进行字符串赋值操作的语句是()o

A.charst[4][5]二{〃ABCDE〃};

B.char*s;scanf(〃%s〃,s);

C.char*s;s=〃ABCDE〃;

D.chars[5]={'A','B','C','D','E'};

正确答案:C

8、执行以下程序段后,y的值是()。

inta[]={2,4,6,8,10};

inty=l,x,*p;

P=&a[l];

for(x=0;x<3;x++)

y+=*(p+x);

printf(〃%d\n〃,y);

A.17

B.19

C.20

D.18

正确答案:B

9、有以下定义,则不能给数组a愉入字符串的语句是(]

chara[10],*b=a;

A.gets(&a[0]);

B.gets(a[0]);

D.*(pw+l)[2]

正确答案:A、C

3、以下程序段的功能是从键盘接收一个字符串,删除重复的字符。请选择填空

()。

charstring[100],c,*p,*q;

gets(string);

scanf(,z%c,z,&c);

for(p=q=string;*p;p++)

if(*p!=c){()}

*q='\0';

printf(,zresult;%s\n/z,string);

A.*q=*p;q++;

B.*p=*q;p++;

C.*q++=*p;

D.q=p;

正确答案:A、C

4、若有以下的定义:int能正确表示t数组元素地址的表达式是

()。

A.&t[3][2]

B.&t[l][2]

C.t[3]

D.t[2]

正确答案:B、D

三、判断题

1、同其他基本数据类型一样,指针类型的数据也有常量,例如数组名就是指针

类型常量。

正确答案:V

2、在定义指针变量的同时,可以对其进行初始化,以保证指针变量中的指针有

明确的指向。

正确答案:V

3、以下程序段,对于指针的使用是正确的。

shortinta;

float*p=&a;

正确答案:B

4、运算符&、*、++、一的优先级相同,按自右向左的方向结合。

正确答案:V

5、当两个指针指向不同数组时,两个指针可以比较大小,但没有实际意义。

正确答案:J

6、在C语言中,二维数组以行优先方式存放在一维线性内存空间中。

正确答案:J

7、若有inta[5][5];则*(a+i)+j是a[i][j]的地址,*(a+i)等价于a[i]等价于

正确答案:V

8、若有int(*p)[4];则表示变量p是一个指向有4个元素的一维整型数组的指

针变量。

正确答案:V

9、空指针并不指向任何对象,仅是一个概念,在程序中没有应用意义。

正确答案:X

10、在说明指针时,很多时候是由指针、数组、函数说明组合而成的。但它们并

不能任意组合。

正确答案:J

四、填空题

1、有以下程序段,b的值是()。

inta[10]={l,2,3,4,5,6,7,8,9,10},*p=&a[3J,b;

b=p[5];

正确答案:9

2、对象在内存中所占存储空间的()称为指向该对象的指针。

正确答案:起始地址

3、有以下程序段,输出结果是()o

char*p[10]={〃abc〃,“aabdfg”,〃dcdbe〃,〃abbd”,〃cd〃};

printf(z,%d\nz,,strlen(p[4]));

正确答案:2

4、有如下程序段,输出结果为()。

chars口=“goodbay!〃;

char*p=s;

while(*p)p++;

printf(〃%d〃,p-s);

正确答案:8

5、设sizeof(shortint)==2,显示结果为()。

shortint*p,*q;

shortintar[10]={0};

p

温馨提示

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

评论

0/150

提交评论