C语言程序设计

char a[10];不能将字符串"abc"存储在数组中的是( ).A、strcpy(a,"abc");B、a[0]=0;strcat(a,"abc");C、a="abc";D、int i;for(i=0;i<3;i++)a[i]=i+97;a[i]=0;

题目

char a[10];不能将字符串"abc"存储在数组中的是( ).

  • A、strcpy(a,"abc");
  • B、a[0]=0;strcat(a,"abc");
  • C、a="abc";
  • D、int i;for(i=0;i<3;i++)a[i]=i+97;a[i]=0;
如果没有搜索结果,请直接 联系老师 获取答案。
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

已知:char a[15],b[15]={"I love china"};则在程序中能将字符串I love china赋给数组a的正确语句是

A.a="I love china";

B.strcpy(b,a);

C.a=b;

D.strcpy(a,b);


正确答案:D

第2题:

以下能将字符串“good!”正确地存放在字符数组s中,或使指针;能指向这个字符串的是(33)。

A.char s[4]={'g','o','o','d','!')

B.char s[5];s="good!";

C.int s[5]="good!";

D.char *s;s="good!:;


正确答案:D
解析:选项A是逐个字符赋值,字符数组末尾无“'\0'”结束符,因此不是字符串。选项A应更正为:chars[5]={'g','o','o','d','!','\0'}。选项B的错误在于,在赋值语句中对字符数组进行整体赋值。通常,在定义时可以对字符数组进行字符串的整体赋值。chars[5]="good!";是对选项B的更正。选项C存在语法错误。数组类型为int型,不是char型,不能进行初始化。chars[5]="good!";是对选项C的更正。选项D的“char*s;s="good!";”,是通过指针s指向字符串"good!"。

第3题:

有以下定义:include char a[10],*b=a;不能给数组a输入字符串的语句是()。A.gets(a)B.ge

有以下定义: #include <stdio.h> char a[10],*b=a; 不能给数组a输入字符串的语句是( )。

A.gets(a)

B.gets(a10])

C.gets(&a[0});

D.gets(b);


正确答案:B
解析:函数gets()的调用形式为gets(str_adr);str_adr存放字符串的起始地址。可以是字符数组名、字符指针或字符数组元素的地址。gets函数用来从终端键盘读入字符串(包括空格符),直到读入一个换行符为止。本题中定义一个长度为10的字符数组,和一个指针变量b,并且通过赋值让它指向数组a。选项A、选项B、选项C和选项D中只有选项B中gets函数的参数a[0]不能表示数组a的首地址,故选项B不正确。所以,4个选项中选项B符合题意。

第4题:

下列各个选项中对字符数组赋字符串的语句中,错误的是( )。

A.char s[10];s="program";

B.char s[]="program";

C.char s[10]="program";

D.char s[10]; strcpy(s,"program");


正确答案:A

第5题:

不能把字符串"Hello!"赋给数组b的语句是______。

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

B.char b[10]={'h', 'e', 'l', 'l', 'o','!'};

C.char b[10];strcpy (b, "Hello!"};

D.char b[10]="Hello!";


正确答案:B
解析:在C语言中,大写字母和小写字母被认为是两个不同的字符,因此,“hello!”和“Hello!”是两个不同的字符串。

第6题:

执行语句序列

char str1[10]="ABCD",str2[10]="XYZxyz";

for(int i=0;strl[i]=str2[i];i++);

后,数组strl中的字符串是______。


正确答案:XYZxyz
XYZxyz 解析:注意for的循环体为空语句,其第二个表达式为一个赋值语句而不是一个逻辑表达式语句。因此,for循环的作用实际上是将str2的字符逐个赋值给str1中的对应位置。

第7题:

有以下程序: include main() {char p[]={'a','b','c'},q[10]={'a','b','

有以下程序: #include <string.h> main() {char p[]={'a','b','c'},q[10]={'a','b','c'}; printf("%d%d\n",strlen(p),strlen(q)); } 以下叙述中正确的是 ______。

A.在给p和q数组置初值时,系统会自动添加字符串结束符,故输出的长度都为3

B.由于p数组中没有字符串结束符,长度不能确定;但q数组中字符长度为3

C.由于q数组中没有字符串结束符,长度不能确定:但p数组中字符长度为3

D.由于p和q数组中没有字符串结束符,故长度都不能确定


正确答案:B
解析:strlen是计算以“\0”结束的字符串的长度的函数,函数的值为字符串中实际长度,不包括“\0”。题中“q[10]={'a','b','c'}”虽然给出了数组大小,即数组实际分配的存储空间,但此字符串只占用前3个存储弹元,其余存储单元系统自动加上“\0”故数组q的长度为3;由于p数组中没有字符串结束符,故字符串的长度不自绷定。

第8题:

执行语句序列

char strl[10]="ABCD",str2[10]="XYZxyz";

for (int i=0; strl[i]=str2[i]; i++)

后,数组str1中的字符是XYZxyz,数组str2中的字符串是【 】。


正确答案:XYZxyz
XYZxyz 解析:注意for的循环体为空语句,其第二个表达式为一个赋值语句而不是一个逻辑表达式语句。因此,for循环的作用实际上是将str2的字符逐个赋值给str1中的对应位置。

第9题:

不能把字符串“Hello!”赋给数组的语是 ______。

A.char b[10]={'H' ,' e' ,'1', '1', 'o' ,' !'};

B.char b[10];b=" Hello!" ;

C.char b[10];strcpy(b,"Hello!");

D.char b[10]="Hello!"


正确答案:B

第10题:

有以下定义:include char a[10], *b=a; 下面不能给数组a输入字符串的语句是()。A.gets(

有以下定义: #include <stdio.h> char a[10], *b=a; 下面不能给数组a输入字符串的语句是( )。

A.gets(a)

B.gets(a[0]);

C.gets(&a[0]);

D.gets(b);


正确答案:B
解析:函数gets(字符数组)的功能是从终端输入一个字符串到字符数组,并且得到一个函数值,该函数值是字符数组的起始地址。函数的参数应该是一个指针,所以选项B)错误。

更多相关问题