c语言程序设计姚琳教程课后答案,C语言程序设计 第2版 工业和信息化普通高等教育“十二五”规划教材立项项目 习题答案 作者 姚琳 23790第6章_指针习题答案.pdf...

习题解答

一、单项选择题

1. 若定义了intn=2,*p=&n,*q=p;则下面【】的赋值是非法的。

A. p=q B.*p=*q C.n=*q D.p=n

【答案】D

2. 若定义了double*p,a;则能通过scanf函数给输入项读入数据的程序段是【】。

A. p=&a;scanf(“%1e”,p); B.*p=&a;scanf(“%1f”,p);

C. p=&a;scanf(“%f”,p); D.p=&a;scanf(“%1f”,a);

【答案】C

3. 若定义了inta[10],i=3,*p;p=&a[5];下面不能表示为a数组元素的是【 】。

A. p[-5] B.a[i+5] C.*p++ D.a[i-5]

【答案】D

4. 若有如下定义:

intn[5]={1,2,3,4,5},*p=n;

则值为5的表达式是【 】。

A. *+5 B.*(p+5) C.*p+=4 D.p+4

【答案】C

5. 设变量b的地址已赋给指针变量ps,下面为“真”的表达式是【 】。

A. b &ps B.b ps C.b *ps D.&b &ps

【答案】C

6. 设有以下定义和语句:

inta[3][2]={1,2,3,4,5,6},*p[3];

p[0]=a[1];

则*(p[0]+1)所代表的数组元素是【 】。

A. a[0][1] B.a[1][0] C.a[1][1] D.a[1][2]

【答案】C

7. 若定义了char*str=”Hello!”;下面程序段中正确的是【 】。

A. charc[],*p=c;strcpy(p,str);

B. charc[5],*p;strcpy(p=&c[1],&str[3]);

C. charc[5];strcpy(c,str);

D. charc[5];strcpy(p=c+2,str+3);

【答案】B

8. 若有下面的程序段,则不正确的fxy函数的首部是【 】。

main()

{inta[20],n;

fxy(n,&a[10]);

}

A. voidfxy(inti,intj) B.voidfxy(intx,int*y)

C.voidfxy(intm,intn[]) D.voidfxy(intp,intq[10])

【答案】A

9. 不合法的带参数main函数的首部形式是【 】。

A. main(intargc,char*argv) B.main(inti,char**j)

C. main(inta,char*b[]) D.main(intargc,char*argv[10])

【答案】A

10. 设有如下定义int(*pt)();则以下叙述中正确的是【 】。

A. pt是指向一维数组的指针变量

B. pt是指向整型数据的指针变量

C. pt是一个函数名,该函数的返回值是指向整型数据的指针

D. pt是指向函数的指针变量,该函数的返回值是整型数据

【答案】D

二、填空题

1. 请指出在int*p[3];定义中p是 【1】 。

在int(*q)();定义中q是 【2】 。

【答案】【1】整型指针数组;【2】指向返回值是整型的函数指针

2. 若有如下定义,则使指针p指向值为20的数组元素的表达式是p+ 。

inta[6]={1,5,10,15,20,25},*p=a;

【答案】4

3. 执行以下程序段后,x的值为 。

inta[3][2]={{1,2},{10,20},{15,30}};

i

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值