c语言赋值表达式a=(9 b,c=d 9)
来源:学生作业帮助网 编辑:作业帮 时间:2024/09/21 19:47:43
a是int类型的吧,整形把小数点后的数字直接去掉.就剩0了.
27:B。表达式必须要赋值给一个变量才行。故C错。等号左面必须是变量,故D错。A无此用法。28:D.编译器会先运算W*X,会把w的char类型转换为int,然后再相乘,结果与Z相加,则转换为doubl
都不对,因为后面都没有分号;都对,4项全都是C的合法语句,如果后面有分号的话.A是对3.14取整,在不发生混淆的情况下int(3.14)和(int)3.14效果是一样的;D是逗号表达式,也合法……
Aa=a+7;//不符合,这不是表达式,是语句Ba=7+b+c,a++//符合,这是逗号表达式Cint(12.3%4)//不符合,12.3不能做%运算Da=a+7=c+b//不符合,a+7不能做左值.
a+7=c+b是错的.等号左边只能是变量,不能有常量.例如:7=b;这样赋值是错的
#includeintmain(void){inta=3,b=6,c=9;a=a+7;a+7=b+c;printf("%d%d%d\n",a,b,c);return0;}如果如上编写程序,则无输出;a
以下详细解析.A:正确B:a=7+b+c,a++;在编译器看来这句代码是可以通过编译的,但是!逗号表达式的值是最后一个表达式的值,也就是说,a=a++;a=a++;这句代码存在undefinedbeh
B、d=9+e,f=d+9C、d=9+e,e++,d+9//经测试,上面两个都对.再问:是单选题,不会有两个答案吧再答:这个题目就是两个答案。开始我也怀疑,后来我测试了,两个都没有有问题。
a=a*(b+3)再问:只有这一个?再答:只用这几个就只能这样。当然还有移位,但对于这个不实用
A选项不是赋值语句根本就没有值a=a+7例如在inta=a+7根本无法代表赋予什么值再问:a+7不是赋给a的值麽?再答:题目的意思是问你inta=a+7这句话对不对?很明显是错的如果改成inta=7那
Aa=a+7;//不符合,这不是表达式,是语句Ba=7+b+c,a++//符合,这是逗号表达式Cint(12.3%4)//不符合,12.3不能做%运算Da=a+7=c+b//不符合,a+7不能做左值.
测试代码:#include"stdio.h"#include"conio.h"main(){inta=3,b=2,c=1;a=(b=4)=3;printf("a=%d,b=%d,c=%d\n",a,b
A错,不能过表达式赋值B对C对D错,不能过表达式赋值
C语言可以这样赋值吗?应该是C++吧赋值是从右向左进行的.即先将c的值赋值给b,然后将b的值赋值给a
a=9+b,b++,这是个逗号表达式,先执行a=9+b,然后执行b++;#include#includevoidmain(){inta,b=8;a=b+9,b++;printf("%d,%d\n
A和B都正确赋值表达式形式:变量=表达式1.计算赋值运算符右侧表达式的值.(“=”为赋值运算符)2.将赋值运算符右侧表达式的值赋给左侧的变量.3.将赋值运算符左侧的变量的值作为表达式的值.A不用说了吧
A里面9+e+f=d这个错了,因为赋值运算符左边必须是一个能接受值的量,比如变量或者引用.B是个逗号表达式,不是赋值表达式C没有赋值号
需要首先明确1.)赋值操作符的优先级比“+”更低.2.)赋值操作符的返回值是赋值后的左操作数的值.3.)常量和表达式不能作为左值,不能作为左操作数(即不能放在二元运算符的左边).以上3点判断如下:A:
选C,C是逗号表达式.A中有两个赋值语句是错的,B中==是判断语句不是赋值语句