C语言程序设计 ,单项选择题,求大神给答案啊

单项选择题
(5月30日前提交该作业)

1. 已有定义 int a[10],*p; 则正确的赋值语句是( )。
A. p=100; B.p=a[5]; C.p=a[2]+2; D.p=a+2;

2. 若有定义int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a; 则不能表示a数组元素的表达式是 ( )
A.*p B.a[1] C.*a D.a[10]

3. 设有定义int x[6]={2,4,6,8,5,7},*p=x, i; 要求依次输出x数组6个元素中的值,不能完成此操作的语句是( )。
A.for(i=0;i<6;i++)printf("%2d",*(p++)); B.for(i=0;i<6;i++)printf("%2d",*(p+i));
C.for(i=0;i<6;i++) printf("%2d",*p++); D.for(i=0;i<6;i++)printf("%2d",(*p)++);

4. 若有定义char *s1="12345",*s2="1234"; 则printf("%d\n",strlen(strcpy(s1,s2)));的输出结果是( )。
A.4 B.5 C.9 D.10

5. 若定义int a=511,*b=&a; 则printf("%d\n",*b); 的输出结果为( ) 。
A.无确定值 B. a的地址 C. 512 D. 511

6. 若已定义char s[10] ;则下面表达式中不表示s[1]的地址的是( )。
A.s+1 B.s++ C.&s[0] +1 D.&s[1]

7. 有定义 int a[ ]={2,5,6,},*p=a+1; 则*(p+1)所代表的数组元素是( )。
A.a[3] B.a[2] C.a[1] D.a[0]

8.已知有定义int a[10] ; a数组中最后一个元素的地址可表示为( )。
A.&a+9 B.a+10 C.a+9 D.&a[10]

9. 若有定义int x[ ]={8,7,6,5,4,3,2},*s; s=x+3;则表达式*(s-1)的值为( )。
A.3 B. 4 C. 5 D. 6

10. 有定义char s[ ]="China",*p=s;则执行printf("%s",p+1);的输出结果为( )。
A.无输出 B.China C.hina D.ina

第六题,s是一个常量,s++的意思是s = s + 1,给常量赋值了,编译都不能通过。 应该选B。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-11-27
1.D 2.D 3.D 4.A 5.D
6.A 7.B 8.C 9.D 10.C
第2个回答  2014-11-27
D D D A D
C B C D C
第3个回答  2014-11-27
6 选b,不能++
相似回答