C语言程序设计(指针)期末单元测试与答案_第1页
C语言程序设计(指针)期末单元测试与答案_第2页
C语言程序设计(指针)期末单元测试与答案_第3页
C语言程序设计(指针)期末单元测试与答案_第4页
C语言程序设计(指针)期末单元测试与答案_第5页
已阅读5页,还剩1页未读, 继续免费阅读

下载本文档

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

文档简介

一、单选题

1>若有说明:intn=2,*p=&n,*q=p;

则以下非法的赋值语句是()

A.p=q;

B.p=n;

C.n=*q;

D.*q=3;

正确答案:B

解析:B、p为指针类型,即“地址箱”,要保存地址,而n为整型

数,类型不匹配。

2、若有以下定义:

intx,*pb;

则正确的赋值表达式是()

A.*pb=*x;

B.pb=x;

C.pb=&x;

D.*pb=&x;

正确答案:C

解析:A、x是整型变量,普通变量前面加*,这是错误的,没有该

语法D、运行时错误。

正确的是pb=&x;x的地址应放到“地址箱”即指针变量pb中,

一定要注意“地址箱”即指针变量为pb,而非*pb。

如果写成*pb=&x;会出现什么问题呢?

pb为随机指向的“野指针”,即随机指向一个空间,该语句试图吧&x

放入到该随机空间中,报运行时错误

3、若定义:inta=511,*b=&a;则printf("%d\n”,*b);的输出结果为

()

A.511

B.无确定值

C.512

D.a的地址

正确答案:A

解析:A、b是指针变量,保存a的地址,那么*b就是a

4、下面能正确进行字符串赋值操作的是(:)

A.char*s;

s="abcde";

B.char*s;

scanf(“%s”,s);

,;,,,

C.chars[5]={'ab7c'/d/e'};

D.chars[5]={"abcde"};

正确答案:A

解析:B、编译不报错,运行时错误。

原因s指针随机指向一个空间,即野指针,不能试图把一个字符串输

入到该随机空间中,运行时报错C、语法正确,但数组s中由于缺

少字符串结束符‘\0’,故村的不是字符串,而是5个独立的字符。D、

s数组可容纳5个字符元素,而字符串“abcde“别忘了默认一个'(T,

故共6个字符,存不下,语法保存

5、下列语句错误的是()

A.chara[10]="china";

B.chara[10],*p;

p=a="china";

C.char*a;

a="china";

D.chara[10],*p=a;

p="china";

正确答案:B

解析:B、p=a="china";

为连续赋值语句,由于赋值号二的右结合性,先执行把“china"赋

值给a,这步就有语法错误,因为a是数组名,数组名是常量,不能

为其赋值C、开始指针a为随机指向的“野指针”

后来指向字符串常量"china”,即指向该字符串中的首字符'c'

为正确语法D,p初始指向a[0],指向完p="china";后p指向字

符串常量“china”,不再指向a⑼,为正确语法

6、若已定义chara[10];则在下面表达式中不表示a[l]地址的是

()

*y=*p;

)

C.voidswap(int*xjnt*y)

(

int*p;

P=x;

x=y;

y=p;

)

D.voidswap(int*x,int*y)

(

intt;

t=*x;

*x=*y;

*y=t;

)

正确答案:D

解析:A、首先分析调用语句swap(&a,&b);两个实参分别传递

的是地址,那形参自然要是“地址箱”即指针变量来接受该地址c应

该为voidswap(int*x,int*y)

故该选项不对B、p指针没有合法指向,为“野指针”,不能为该随

机空间赋值,即*p=*x;这条编译时并不会报错,但运行时错误

C、该选项交换的是x、y两个指针变量中的值即地址,交换前:x

中保存a地址、y中保存b地址;交换后:x中保存b地址,v中

保存a地址。

即该选项swap内部交换的是形参中a和b的地址,对外部a和b的

值并没改变

8、以下程序的输出结果是()

#include<stdio.h>

intmain(void)

(

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

P++;

printf("%d"/*(p+4));

return0;

)

A.6

B.8

C.7

D.5

正确答案:A

解析:A^p初始指向a[0],执行p++后,p指向a[l],即p保存a[l]

的地址p+4表示在&a[l]+

温馨提示

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

评论

0/150

提交评论