a=b 1 符合C语言语法吗
来源:学生作业帮助网 编辑:作业帮 时间:2024/10/07 00:13:24
27:B。表达式必须要赋值给一个变量才行。故C错。等号左面必须是变量,故D错。A无此用法。28:D.编译器会先运算W*X,会把w的char类型转换为int,然后再相乘,结果与Z相加,则转换为doubl
Aa=a+7;//不符合,这不是表达式,是语句Ba=7+b+c,a++//符合,这是逗号表达式Cint(12.3%4)//不符合,12.3不能做%运算Da=a+7=c+b//不符合,a+7不能做左值.
A中的":="不是可识别的运算符,故错;B是对的,相当于:b=c+2;a=b;(赋值运算从右到左算);C:错的,要么定义变量:inta=18.5%3;要么数据类型强制转换:(int)18.5%3;in
是A自加运算符不能用于常量B逗号表达式,返回分号前最后一个表达式的值C不能这样赋值D取余运算符两边不能有小数两年没看过C了,应该没记错吧……
以下详细解析.A:正确B:a=7+b+c,a++;在编译器看来这句代码是可以通过编译的,但是!逗号表达式的值是最后一个表达式的值,也就是说,a=a++;a=a++;这句代码存在undefinedbeh
答案B,A中没有小数部分C中指数部分为小数D中没有小数部分
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不能做左值.
是这样的,第一句a=a+7是单纯的把a加上7赋值给啊自己,在没有前后设定的条件下是可以的,不必管a的初值是什么.第二句,b的值是多少啊?没给出赋值的话就是个随机数了,就是程序占用内存内随机的一个数,所
A错,不能过表达式赋值B对C对D错,不能过表达式赋值
没有啥意思,就是简单的运算.这里涉及如下运算符,赋值=,自增++,括号,和逗号运算符.按照运算符的优先级,先计算括号也就是讨论c++,b++然后计算++,也就是c和b分别自加.(注意)然后谈论逗号运算
D表示的是将i强制转化为浮点数之后赋值给yA选项表示的是对a、b分别赋值为3、4,但是表达式不完整,只有赋值,没有参与运算.B选项也是多个等号杂糅C选项不是表达式,里面也有多个运算符的错误第二个选择A
abc三个数a=10b=20a%b1意思就是10除以20为0.50.5不大于1所以2个运算都为假也就是都为0||为逻辑或运算符所以(a%b1)为0||0为0最终输出结果为10200
答案da:不能用逗号b:左操作数必须为变量c:同上再问:a的逗号没有违规呀再答:++x是一条独立的语句啊。intx=1,y=1;++x,y=x--;怎么没违规啊.再问:z=x++,y++,++y;这种
a=9+b,b++,这是个逗号表达式,先执行a=9+b,然后执行b++;#include#includevoidmain(){inta,b=8;a=b+9,b++;printf("%d,%d\n
D:a==b,c==d;等等于只能用于判断
CA中的b+=a你看成b=b+a,b没有初值B中的a=b=2是先执行b=2,然后执行a=b;在先执行b=2的时候,b还没有被声明成intD中的x=3.2,int的,要改为;.因为这是2个声明语句
A里面9+e+f=d这个错了,因为赋值运算符左边必须是一个能接受值的量,比如变量或者引用.B是个逗号表达式,不是赋值表达式C没有赋值号
选C,C是逗号表达式.A中有两个赋值语句是错的,B中==是判断语句不是赋值语句