C语言作业7

一、单选

1. 在执行int a[ ][3]={1,2,3,4,5,6};语句后,a[1][0]的值是 ( )。
A.1 B.4 C.2 D.5

2. 若有说明int a[10]; 则对a数组元素的正确引用是( )。
A.a[10] B. a[3.5] C. a[2-1] D. a(5)

3. 以下正确的说明语句是( )。
A.int a[10]=(1,2,3,4,5); B.int a[10]={ }; C.int a[ ]= {0}; D.int a[10]={10*1};

4. 若有说明int a[ ]={ 1,2,3,4}; 则a数组包含的元素个数是( )。
A.不确定 B. 3 C. 5 D. 4

5. 有字符数组s1[80]和s2[80],则正确的输出形式是( )。
A.puts(s1),puts(s2); B.puts(s1,s2); C.putchar(s1,s2); D.printf(“%s %s”,s1[ ],s2[ ]);

6. 给出定义  char x[ ]="abcdefg", y[ ]={'a','b','c','d','e','f','g'};  则正确的叙述为( )。
A.数组x和数组y等价 B.数组x和数组y的长度相同
C.数组x的长度大于数组y的长度 D.数组x的长度小于数组y的长度

7. 判断字符串s1是否大于s2,应当使用( )。
A.if (s1>s2) B.if (strcmp(s1,s2)) C.if (strcmp(s2,s1)>0) D.if (strcmp(s1,s2)>0)

8. 合法的数组定义是( ) 。
A.int a[]="string"; B.int a[5]={0,1,2,3,4,5};
C.char s="string"; D.char a[]={0,1,2,3,4,5};

9. 若有定义char s[10]="abcd"; 则执行printf ("%s",s); 的输出结果为( )。
A.abcd B.a C.abcd\0 D.编译不通过

10. 若有定义 char s[ ]="\n123"; 则数组s的大小为( )
A.赋初值的字符串有错 B.6 C.5 D.4

11.下列对字符串的定义中,错误的是( )。
A.char str[7]=”FORTRAN”; B.char str[] =”FORTRAN”;
C.char *str = ”FORTRAN”; D.char str[] = {'F', 'O', 'R', 'T', 'R', 'A', 'N', '\0' };

二、多选

1. 对于下面关于数组声明,正确的是( )。
A.int x[][5]; B.int y[]={0}; C.int z[2,3]; D.char s[11]=“abc\ndef\n”;

2. 引用数组元素时,其数组下标表达式允许是( )。
A.整型常量 B.整型表达式 C.任何类型的表达式 D.任何类型的函数调用

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

4. 设有说明:int a,b[3]={1,2,3},*p=b;下面能够正确执行的语句有( )
A.p = *b; B.a = p; C.p = b+1; D.a = *p;

第1个回答  2009-05-09
答案 :
单选:
第一题:B 第二题 C
第三题:只有A是错误的,BCD都是正确的答案
第四题:D
第五题:D
第六题:C
第七题:BD
第八题:D
第九题:A
第十题:D
第十一题:A

多选题
第一题:ABD
第二题:AB
第三题:AB
第四题:CD
第2个回答  2009-05-09
b c a d d
c d a a d a
例如好似11题的a那样,最后应该有个‘\0’的占空间的 。

abd
ab
bc
cd
ps:我只是新手,所以上面的答案你当参考好了,不一定正确的。
路过……
第3个回答  2009-05-09
一 1B 2C 3C 4D 5A 6C 7D 8A 9D 10C 11A
二 1BD 2AB 3B 4不知道本回答被提问者采纳
相似回答