C语言问题求解,分析

来源:百度知道 编辑:UC知道 时间:2024/06/01 21:40:18
一下叙述中错误的是()
A:c程序中j++;是赋值语句
B:除逗号运算符外,赋值运算符的优先级最底
请解释下这俩答案那个是对的?不对也解释,B中我感觉赋值和其它的有符号有着同级A因该没问题吧?
大家帮帮忙~
还有个
定义一下float a=2,b=4,h=3;一下c表达式与代数2分之a+b乘h计算结果不相符的是()
A;(a+b)*h/2 B;(1/2)*(a+b)*h C;(a+b)*h*1/2 D;h/2*(a+b)
我算的是A得9,B得0,C得0,D得6?我算错了?
求原因?!怎么搞了
麻烦大家了!

A错B对

赋值语句由一个一个赋值表达式加分号构成;
赋值表达式由一个变量,一个表达式和一个赋值运算符构成;
++不是赋值运算符,则j++不是赋值表达式,j++;就不是赋值语句 。

注意各表达式的输出数据类型
当定义为整型得到 0 0 0 无意义数
当定义为浮点型float得到 9 0 9 9
没有明确预定义,编译器一般默认为整型