C语言作业 求大神解答

单项选择题

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

第1个回答  2014-05-05
DDDBD
CBCDC
第2个回答  2014-05-05
D D D B D B B A D C
第3个回答  2014-05-05
1、B;2、C;
第4个回答  2014-05-05
DDDBDBBCDC
相似回答
大家正在搜