rjps.net
当前位置:首页 >> 若有定义:int A,B ; FloAt x,则以下不符合C语言语法的表达式是 >>

若有定义:int A,B ; FloAt x,则以下不符合C语言语法的表达式是

A. x%7 不符合C语言语法, % 是整数求余数运算,% 两边都必须是整型量,而这里 x 是float .B 没问题,x/=a-b ---- x = x / (a-b) 自动化为 float 相除.D. x=(float)a/b 没问题,先化a 为 float 再运算.C. a=b=2 没问题 都是 int

B、C都是正确的.A=是右结合的, x=x*3=2等价于 x=(x*3=2),x*3不是左值表达式,不能赋值 D%两边必须都是整数,i是float型浮点数,所以错.请看

B怎么对,y==1得到的是一个bollean型true值,而x是int型,怎么能赋值.

A.x%7 不符合C语言语法,% 是整数求余数运算,% 两边都必须是整型量,而这里 x 是float .B 没问题,x/=a-b ---- x = x / (a-b) 自动化为 float 相除.D.x=(float)a/b 没问题,先化a 为 float 再运算.C.a=b=2 没问题 都是 int

假如 a=1, b=2 switch(a+b) 等价于 switch(3) case 1+2 等价于 case 3 可能是在具体语境中是错的,除了没有 ; 之外,没啥语法错误

各类型的混合运算 不管INT SHORT CHAR FLOAT 在混合运算中 都得化作DOUBLE型来运算 所以最后的答案当然也是双精度型

选C分析:%d对应int,%f对应float,scanf的参数需要取址符&,所以选C.

你定义C为float,最后c就是float 虽然b+d-c的结果是double型,但最后赋值给c时都要强制转为float型 毕竟c(float)只占4个字节的空间,你怎么把8个字节的内容(double)直接放进去呢?

相关文档
网站首页 | 网站地图
All rights reserved Powered by www.rjps.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com