11、下面哪个选项不能将"hello"字符串存入字符数组str中()。
A、char str[]="hello" ;
B、char str[30]; strcpy(str, "hello");
C、char str[30];str="hello";
D、char str[30],*ps=str; strcpy(ps,"hello");
正确答案:C
12、有以下定义,不能表示字符 ‘C’ 的表达式是()。char str[]="ABCDEFG",*p=str;
A、*(p+2)
B、str[2]
C、*(str+2)
D、*p+2
正确答案:D
13、程序段char c[]="abcdefg "; printf("%s",c+4);的运行结果是()。
A、abcd
B、efg
C、abcdefg
D、defg
正确答案:B
14、有如下定义,不能给数组a输入字符串的是()。char a[20],*p=a;
A、gets(p)
B、gets(a[0])
C、gets(&a[0])
D、gets(a)
正确答案:B
15、下面说法正确的是()。
A、若定义char s[]="well"; char t[]={‘w’,’e’,’l’,’l’};,则数组s与数组t中内容相同。
B、当两个字符串所包含的字符个数相同时,才能比较两个字符串的大小。
C、函数strcpy(str1,str2); 的功能是将str2中字符串复制到str1中。
D、定义char a[30], b[]="China"; 后,可执行a=b; 将数组b中的字符串赋值给数组a。
正确答案:C
16、接受用户输入含有空格的字符串时,应使用()。
A、getchar()
B、gets()
C、scanf()
D、printf()
正确答案:B
17、列描述中错误的是 ()。
A、可以对字符数组进行整体输入、输出。
B、字符串可以存储在字符数组中。
C、不能对字符数组存储的字符串进行更改。
D、不能使用赋值运算符“=”,直接对字符数组名进行赋值。
正确答案:C
18、执行以下程序段后,输出结果是()。 char str[20]="door",t; int i,j; i=0; j=strlen(str)-1; t=str; str=str[j]; str[j]=t; puts(str);
A、door
B、dood
C、rood
D、roor
正确答案:C
19、若有如下定义char a[30],b[30],则以下正确的输入语句是()
A、gets(a,b);
B、gets(a); gets(b);
C、scanf("%s",a,b);
D、scanf("%s%s"&a,&b);
正确答案:B
20、执行以下程序段后,输出结果是() 。 char s[20]= "Good",t[]="Moring!"; strcat(s,t); puts(s);
A、GoodMoring!
B、Moring!
C、Good
D、Moring!Good
正确答案:A
第九章测试
1、在c语言中以下不正确的说法是()。
A、实参可以是常量、变量、或表达式