设有说明语句:intx=1;doubley=1.0;,以下不符合C语言语法的表达式是()

题目
单选题
设有说明语句:intx=1;doubley=1.0;,以下不符合C语言语法的表达式是()
A

++x,y=x--

B

x=(int)*(y/3)

C

x=x+10=x+y

D

(doublE)x/3

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

第1题:

已知各变量的类型说明如下则以下不符合C语言语法的表达式是()。

A.x%(-3)

B.w+=-2

C.k=(a=2,b=3,a+b)

D.a+=a-=(b=4)*(a=3)


正确答案:A

第2题:

已知各变量的类型说明如下:则以下不符合C语言语法的表达式是( )。

A.

B.

C.

D.


正确答案:A
”%”是求余运算符或模运算符,”%”两侧均应为整型数据,选项A)中的X是double型数据。

第3题:

设有说明语句:intx=1,y=3,z=5;则下面表达式中值为0的是()。

A、x

B、charstr[80];str=”abcdefg”;

C、char*pstr=”abcdefg”

D、char*pstr=NULL;pstr=”abcdefg”;


参考答案:B

第4题:

设有定义语句“int a=10,*p=&a;”,则表达式“a十*p”的值是( )

A.10

B.20

C.100

D.语法出错


正确答案:B
在数据定义语句中的“*p=&a”,表示指针变量p已经指向变量a,所以表达式中的“*p”就是变量a,“a+*p”就是“a+a”,所以该表达式的值为20。本题答案应选B。

第5题:

设有以下C语言说明语句。 struct { int x,y;} s[2]={{1,2),{3,4}),*p=s,*q=s; 则表达式++p->x和表达式(++q)->x的值分别为(34)。

A.1、1

B.1、3

C.2、3

D.3、3


正确答案:C
解析:表达式++p->x中->(指向运算符)优先级高于++(自增运算符),所以先求出p->x中的值1。由于结构体数组元素(或结构体变量)中的成员是有存储单元的,可以像普通变量一样使用,因此++运算是针对s[0].x成员的,即该成员中的值自增后由1变为2。对于表达式(++q)->x,则是q先自增,q指向s[1],输出s[1].x成员中的值3。

第6题:

设有说明:charw;intx;f1oaty;doublez;则表达式w*x+z-y值的数据类型为()。

A.float

B.char

C.int

D.double


正确答案:D

第7题:

若有定义:inta,b;doublex;则以下不符合C语言语法的表达式是()

A.x%(-3)

B.a+=-1

C.a=b=2

D.x=a+b


参考答案:A

第8题:

在下面C语言的函数说明语句中,正确的是()。

A.intfun(int,int);

B.intfun(intx,y);

C.intfun(x,y);

D.intfun(intx;inty);

E.intfun(intx,inty);


正确答案:AE

第9题:

若有以下类型说明语句: charw;intx;floaty,Z; 则表达式w*x+z-y的结果为_______类型。

A.float

B.char

C.int

D.double


正确答案:A
解析:在进行运算时,不同类型的数据参加运算,需要先将其转换成同一类型的数据,然后再进行运算。转换的顺序由低到高为:char,short→int→unsigned→long→double←float,故结果为float型。

第10题:

设有定义语句“char s[]="123";”,则表达式“s[3]”的值是 ( )

A.’1’

B.’3’

C.0

D.语法出错


正确答案:C
字符数组s在定义时省略了数组长度,表示给每个数组元素均赋了初值。对本题来说,数组的长度为4;数组元素的值依次为:S[0]为'1'。S[1」为'2'。S[2]为'3'、S[3]为字符率结束标记符'\0',所以“s[3]”的值是'\0'。注意,这个字符的ASCII代码值是整数0,所以本题答案应选C。

更多相关问题