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

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

x%(-3)

B

a+=-1

C

a=b=2

D

x=a+b

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

第1题:

若有定义inta=12;则表达式a+=a-=a*=a的值是-144。()


正确答案:×

第2题:

若变量a、b、x、i都已正确定义并赋值,则以下符合C语言语法的表达式是( )。A.a+=a-=(b=4)*(a=3)SXB

若变量a、b、x、i都已正确定义并赋值,则以下符合C语言语法的表达式是( )。

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

B.x%(-3);

C.a=a*3=2

D.y=float(i)


正确答案:A
取余运算符%两边都应是正数,赋值语句左边必须是变量,不能是表达式,强制转换语句强制类型应加括号,而非加在变量上。

第3题:

若有形参定义:inta[10];则a++是合法的表达式。()

此题为判断题(对,错)。


参考答案:错误

第4题:

若有定义:

则以下不能正确表示该数组元素的表达式是( )。

A.A

B.B

C.C

D.D


正确答案:A
本题考查的是通过指针引用二维数组元素。通过一维数组名或指向一维数组元素的指针来引用数组元素有两种写法:a[i]和*(a+i),它们是等价的。这是一种运算符之间的等价转换,就好像a一(b—c)等价于a-b+c一样。知道了这种转换,我们可以将之扩展到二维数组甚至任意维数组上来。因为口运算符的结合性是从左至右的,所以w[i珩]等价于(w[i][j],此时可以先将任意一个口运算符转换为指针形式为(·(w+i))[j]或*(w[i]+j),或者同时转换为*(*(W+i)+j)。上述几种形式都完全等价于w[il[j]。

第5题:

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

A.

B.

C.

D.


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

第6题:

若有定义inta=1,b=2;则表达式(a++)+(++b)的值是()

A、3

B、4

C、5

D、6


参考答案:B

第7题:

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

A.x%(-3)

B.w+=-2

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

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


正确答案:A

第8题:

若有定义语句:inta=3,b=2,c=1;,则表达式b<b?a:b的值是______。


正确答案:2
2

第9题:

若变量已正确定义并赋值,则以下符合C语言语法的表达式是( )。

A.a=a+7;

B.a=7+b+c,a++

C.int(12.3%4)

D.a=a+7=c+b


正确答案:B

第10题:

若有定义:“inta=4,b=5;floatx=3.4,y=2.1;”,则下列表达式的值为( )。 A.5.5B.55

若有定义:“inta=4,b=5;floatx=3.4,y=2.1;”,则下列表达式的值为( )。

A.5.5

B.55

C.5.500000

D.55.00000


正确答案:C
在计算(float)(a+b)/2时,由于通过强制类型转换将(a+b)转换成了float型,所以应先将2转换成float型,再进行计算,得4.500000。在计算(int)x%(int)y时,先将x和y通过强制类型转换成int型,再进行求余运算,结果为1。又因为4.500000是float型,所以将1和它相加时,先将1换成float型,再计算,得到5.500000。类型转换的一般规则是低级类型从高级类型进行相应的转换。数据类型的级别由低到高的排序表示为:char→int→unsigned→log→float→double。

更多相关问题