作业帮 > 综合 > 作业

答案为什么是C15.有以下定义语句 double a,b; int w; long c; 若各变量已正确赋值,则下列选项

来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/03/29 16:43:02
答案为什么是C
15.有以下定义语句
double a,b; int w; long c;
若各变量已正确赋值,则下列选项中正确的表达式是
A.a=a+b=b++
B.w%(int)a+b
C.(c+w)%(int)a
D.w=a==b;
这个是全国计算机等级考试的题,没有老师问
做这道题目首先要明确以下几点
运算符的优先级顺序是++大于+ 大于== 大于 =
double → float 高

long

unsigned

int ←—— char,short 低
A. 相当于a=((a+b)=(b++))第二个等号左边不是变量,赋值是错误的
B.w%(int)a+b 正确
C.(c+w)%(int)a 正确
D.相当于w=(a==b);正确情况:C语言里没有布尔类型,比较的结果会是1或者0;错误情况,java里的布尔类型无法自动转化为int)
不好意思我昨天没认真看,你说的是有道理的,我特地在C和java上测试了一下,在C语言里B、C都正确,但是注意:java里直接一个运算式是不可以的,而且预算结果一定要赋值给高一级的变量,C语言里,a