有以下变量定义,则表达式a*b d-c的值类型是
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/12 11:56:38
D(x%=k)-(k%=5)(x%=k)就等价于(x=x%k)即12%7即5(k%=5)就等价于(k=k%5)即7%5即25-2等于3
错的,b+5是一个函数,c-7是一个函数,你把一个函数的返回值赋值给另一个函数的返回值,显然是错的啦
0)w=a=bw的类型和ab不同,类型不同占用的存储空间和存放的寄存器也不一样,如果要赋值需重新对类型进行注释:w=(int)a=(int)b0)a=a++=5连环赋值是c和C++特有用法,顺序是从右
A)a%(int)(x-y)//这个是正确的B)a=x!=y;//这个是语句,不是表达式C)(a*y)%b//a*y不是整数,%的两个操作数必须是整数D)y=x+y=x//x+y不能出现在左边
x%=(k%=5)为0x%=(k-k%5)为2x%=k-k%5为2(x%=k)-(k%=5)为3D.
结果是0023,同意上面的.%表示取余运算.x%=k表示对x赋值(x整除k后的余数).x%=k结果为5,即12除以7的余数,同理k%=5结果为7÷5的余数2.所以D的结果为3.
Da,b是double类型,如果ab是0.1,就会出现除数是零了,就出错了,D是对的,先判断,后赋值,这样允许的!
选B再问:能不能解释一下为什么?再答:其实我看错了应该选C,D的A的a+b是表达式不能作左值B项中(int)a+b是double类型的不能作%的除数CD是对的弱类型的变量可以赋给强类型的变量但是不能反
1级优先级(左结合)()圆括号;[]下标运算符;->指向结构体成员运算符;.结构体成员运算符.2级优先级(右结合)!逻辑非运算符;~按位取反运算符;++前缀增量运算符;--前缀减量运算符;+正号运算符
选A,B有些人会说B是不正确的,不过严格说来它是对的.虽然对double来说,相等判断用==或!=有点值得商榷,但是绝对是可以这么用的.C取模只支持整数a*y是double了D赋值的运算优先级是很低的
D,A我用visualc++试过,说左操作必须为左值,就是说只能a=a+b,或a=b++;B显然被除数必须为整数.C除数和被除数不是同一类型.
答案:double类型参考:“隐式类型转换”C++定义了一组内置的类型对象之间的标准转换,在必要时它们被编译器隐式的应用到对象上.在算式转换保证了二元操作符,如加法或乘法的两个操作数被提升为共同的类型
else匹配最近的if意思就是如果a=b的情况就没语句了也就是y=0条件a
Aa&&b;//结果为1B:a再问:D、!((a
n%=2就是n=n%2=1,a=a%1等于0,所以值为0
做这道题目首先要明确以下几点运算符的优先级顺序是++大于+大于==大于=double→float高↑long↑unsigned↑int←——char,short低A.相当于a=((a+b)=(b++)
楼主想表达神马意思?三目运算符可以这样来理解,如果“?”号前面的表达式为TRUE(或者说不等于0)则返回“?”后的第一个表达式,这里是a,如果“?”号前面的表达式为FALSE(或者说等于0)则返回“?
A.x%7不符合C语言语法,%是整数求余数运算,%两边都必须是整型量,而这里x是float.B没问题,x/=a-b----x=x/(a-b)自动化为float相除.D.x=(float)a/b没问题,