c语言 指针章节,C语言指针章节选择题.doc

1. 若已定义: int a[]={0,1,2,3,4,5,6,7,8,9},*p=a,i;

其中0≤i≤9,则对a数组元素不正确的引用是

A) a[p-a] B) *(&a[i])

C) p[i] D) a[10]

D

2. 已知指针p的指向如下图所示,则执行语句*--p;后*p的值是

a[0] a[1] a[2] a[3] a[4]

┌──┬──┬──┬──┬──┐

│ 10 | 20 | 30 │ 40 | 50 |

└──┴──┴──┴──┴──┘

p↑

A) 30 B) 20

C) 19 D) 29

B

3. 下面程序运行时,如果从键盘上输入3,5,程序输出的

结果是________。

main( )

{ int a,b,*pa,*pb;

pa=&a; pb=&b;

scanf("%d,%d",pa,pb);

*pa=a+b;

*pb=a+b;

printf("a=%d,b=%d\n",a,b);

}

A) a=13,b=13 B) a=8,b=8

C) a=8,b=13 D) 出错

C

4. 下面程序段的输出结果是________。

main( )

{ char string1[20],string2[20]={"ABCDEF"};

strcpy(string1,string2);

printf("%s\n",string1+3);

}

A) EF B) DEF

C) CDEF D) ABCDEF

B

5. 下列程序执行后的输出结果是________。

main()

{ int a[3][3],i,*pmul;

pmul=&a[0][0];

for(i=0;i<9;i++) pmul[i]=i+1;

printf("%d\n",a[1][2]);

}

A) 3 B) 6

C) 9 D) 随机数

B

6. 有如下程序段

int *p,a=10,b=1;

p=&a; a=*p+b;

执行该程序段后,a的值为________。

A) 12 B) 11

C) 10 D) 编译出错

B

8. 以下函数返回a所指数组中最小值所在的下标值

fun( int *a,int n)

{ int i,j=0,p;

p=j;

for(i=j;i

if( *(a+i)

return (p);

}

在下划线处应填入的是________。

A) i=p; B) a[p]=a[i];

C) p=j; D) p=i;

D

8. 有如下说明

int a[10]=[1,2,3,4,5,6,7,8,9,10},*p=a;

则数值为9的表达式是________。

A) *(p+9) B) *(p+8)

C) *p+=9 D) p+8

B

9. 有如下程序

main()

{ char s[]="ABCD",*p;

for(p=s+1;p

}

该程序的输出结果是________。

A) ABCD B) A

BCD B

CD C

D D

C) B D) BCD

C CD

D D

D

10. 下面程序的输出结果是

main()

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

p=a;

printf("%d\n",*p+9);

}

A) 0 B) 1

C) 10 D) 9

C

11. 若有说明语句"int i,j =7,*p=&i;",则与i=j等价的语句是

A) i=*p; B) *p=*&j;

C) i=&j; D) i=**p ;

B

12. 若有说明语句"int a[10],*p=a;"

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值