第四章 数组2 下载本文

内容发布更新时间 : 2024/10/20 11:33:14星期一 下面是文章的全部内容请认真阅读。

第四章 数组2

一.选择题

1. 不能把字符串:Hello!赋给数组b的语句是( )。

A. char str[10]= {'H', 'e', 'l', 'l', 'o', '! '}; B. char str[10];str=\

C. char str[10];strcpy(str,\D. char str[10]=\

2. 合法的数组定义是( )。

A. int a[]=\ B. int a[5]={0,1,2,3,4,5}; C. int s=\ D. char a[]={0,1,2,3,4,5}; 3. 下列语句中,不正确的是( )。

A. char a[2]={1,2}; B. char a[2]={ '1', '2'}; C. char a[2]={ '1', '2', '3'}; D. char a[2]={ '1'}; 4. 若给出以下定义: char x[ ]=\

char y[ ]={'a','b','c','d','e','f','g'};

则正确的叙述为( )。

A. 数组x和数组y等价 B. 数组x和数组y的长度相同

C. 数组x的长度大于数组y的长度 D. 数组x的长度小于数组y的长度 5. 若有数组定义: char country [ ]=\则数组 country所占的空间为( )。

A. 7个字节 B.8个字节 C. 9个字节 D. 10个字节 6. 若有定义和语句:

char s[10];s=\

则结果是(以下└┘代表空格)( )。

A. 输出abcd B. 输出a C. 输出abcd└┘└┘└┘└┘ D. 编译不通过 7. 下面程序运行后,输出结果是( )。 main() {

char ch[7]={ \int i,s=0;

for(i=0;ch[i]>= '0'&&ch[i]<= '9';i+=2) s=10*s+ch[i]- '0'; printf(\}

A. 12ba56 B. 6521 C. 6 D. 62

8. 运行下面的程序,如果从键盘上输入:123<空格>abc<空格>def<回车>,输出结果是( )。 A. 123, ,789 B. 123,a,bc C. 123,abc,def D. 123,a,bc def main() {

char s[100]; int c, i;

scanf(\ scanf(\ scanf(\ printf(\

}

9. 运行下面的程序,如果从键盘上输入: ab<回车> c <回车> def<回车>

则输出结果为( c )。 A. a B. a C. ab D. abcdef b b c c c d d d e f

#include #define N 6 main() {

char c[N]; int i=0;

for( ;i

for( i=0;i

putchar(c[i]);

printf(\}

10. 运行下面的程序,如果从键盘上输入:ABC时,输出的结果是( a )。 #include main() {

char ss[10]=\strcat(ss, \

gets(ss);printf(\ }

A. ABC B. ABC9 C. 123456ABC D. ABC456789 11. 判断两个字符串是否相等,正确的表达方式是 C )。

A. while(s1==s2) B. while(s1=s2)

C. while(strcmp(s1,s2)==0) D. while(strcmp(s1,s2)=0) 12. 以下程序的输出结果是(A )。 main() {

char str[12]={ 's','t','r','i','n','g'}; printf(\ }

A. 6 B. 7 C. 11 D. 12 13. 若有以下程序片段: char str[ ]=\

printf(\

上面程序片段的输出结果是 A )。

A. 3 B. 4 C. 6 D. 12 14. 设有static char str[ ]=\

则执行printf(\后的输出结果为 ( 5 )。

A. 5 B. 7 C. 12 D. 14

二. 填空题

1. 若想通过以下输入语句使a中存放字符串abcdefg,b中存放字符A,则输入数据的形式应该是____A=____。 char a[10],b;

scanf(\

2. 以下程序段的输出结果是________。 main() {

char b[]=\ b[2]=’\\0’;

printf(\ }

3. 若有以下程序段,若先后输入: English? Good?

则其运行结果是________。 main() {

char c1[60],c2[10]; int i=0,j=0; scanf(\ scanf(\

while(c1[i]!= '\\0') i++;

while(c2[j]!= '\\0') c1[i++]=c2[j++]; c1[i]= '\\0';

printf(\}