下面哪个语句不能定义一个字符变量()A、char c1='a';B、char c2="S";C、char c4=97;D、char c3='\u0041';

题目

下面哪个语句不能定义一个字符变量()

A、char c1='a';

B、char c2="S";

C、char c4=97;

D、char c3='\u0041';

参考答案和解析
答案:B
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

下列能正确定义字符串的语句是( )。

A.char str[]={'\64'};

B.char str="kx43";

C.char str=";

D.char str[]="\0";


正确答案:D
解析:字符串常量是用一对双括号括起来的一串字符。它用字符数组来存放,不能用一对大括号对括起来。

第2题:

下面各语句中,能正确进行赋字符串操作的语句是

A.char s[5]= { "ABCDE" };

B.char s[5]= { 'A' ,' B' ,' C' ,' D' ,' E' };

C.char *s; s = "ABCBE";

D.char *s; scanf("%s", s);


正确答案:C

第3题:

下面能正确进行字符串赋值操作的是

A.char s[5]={"ABCDE"};

B.char s[5]={′A′,′B′,′C′,′D′,′E′};

C.char *s; s="ABCDE";

D.char *s;scanf("%s",s);


正确答案:C
解析:考查了一维字符数组的定义和初始化。选项A)和B)定义的数组空间太小,至少应该为6个字符的长度才可以。选项D)中的指针s未赋初值,所以指向一个不确定的地址,因而不能用scanf输入数据到这一指针所指向的地址中。

第4题:

下面各语句行中,能正确地给字符串赋值的语句行是( )。

A.char st[4]={"ABCDE"};

B.char s[5]={'A','B','C','D','E'};

C.char *s="ABCDE";

D.char *s; scanf("%s",*s);


正确答案:C
解析:选项A)字符串的赋值产生越界错误,不正确;选项B)是字符数组的赋值,而不是字符串的赋值;选项D)中scanf的列表项必须为变量的地址。

第5题:

若要说明一个类型名STP,使得定义语句STPs;等价于char*s;以下选项中正确的是

A.typedef STP char *s

B.typedef*char STP;

C.typedef STP *char;

D.typedef char* STP;


正确答案:D
解析:指针类型的自定义的形式如下:typedef类型说明符*用户类型名。不难看出只有选项D是正确的定义形式。

第6题:

若要说明一个类型名STP,使得定义语句STP s;等价于char *s;,以下选项中正确的是

A.typedef STP char *s;

B.typedef *char STP;

C.typedef STP *char;

D.typedef char* STP ;


正确答案:D

第7题:

下面能正确进行字符串赋值操作的是

A.char s[5]={"ABCDE"};

B.char s[5]={'A','B','C','D','E'};

C.char*s;s="ABCDE";

D.char*s;char a;scanf("%s",&s);


正确答案:C
解析:如果一个字符数组用来存储字符串,那么在定义该字符数组时,数组的大小应该比它将要实际存放的字符串长度大1,所以选项A)和B)错。选项D)e本身就是一个字符指针,不需再取地址。

第8题:

以下语句或语句组中,能正确进行字符串赋值的是( )。

A.char*sp;*sp="right!";

B.char s[10];s="right!";

C.char s[10];*s="right!";

D.char*sp="right!";


正确答案:D
解析:本题的考点是C语言的数组和指针。C的数组名是一个特殊类型的指针,固定指向数组第一个元素的位置,运行过程中不能再改变其指向。因此选项B、C都是错误的。指针可以指向任何单元,但选项A是错误的,因为赋值语句“*sp=”right!”;”是错误的,正确写法是“sp=”right!”;”。而对于选项D,由于“char*sp="right!";”是定义指针同时赋初值,因此是正确的。

第9题:

以下语句或语句组中能正确进行字符串赋值的是( )。

A.ehar以*sp; * sp = "right!";

B.char s[10] ;s = "right!";

C.char s [10]; * s = "right !";

D.char * sp = "right !";


正确答案:D
解析:选项A)应将*sp="right!";中的*叩改为sP,即把字符串"right!”的首地址赋给指针变量sp;选项B)中的s代表数组的首地址,不能给它赋字符串,只能在定义数组时,对其进行初始化;选项C)中的。s指的是数组的第一个元素,不能给它赋字符串。

第10题:

定义如下变量:char one_char,则语句cin>>one_char等价于C语言中的( )语句。

A.printf(one_char);

B.prinft("%c",one_char);

C.scanf(one_char);

D.scanf("%c",& one_char);


正确答案:D

更多相关问题