
C++ 数据类型与表达式的题
1、字符串“\t\v\\\0which\n"的长度是多少?答案是3,求解释。2、设intx=2,y=3,z=4,则下列表达式中值不为1的是()A.'x'&&'z'B.(!...
1、字符串“\t\v\\\0which\n"的长度是多少?答案是3,求解释。
2、设int x=2, y=3, z=4,则下列表达式中值不为1的是( )
A.'x'&&'z' B.(!y=1)&&(!z=0) C.(x<y)&&!z||1 D.x||y+y&&z-y 答案是B,求解释
3、设int x=2, y=4, z=7;,则执行x=y--<=x||x+y!=z后,x,y的值分别是???求解释 展开
2、设int x=2, y=3, z=4,则下列表达式中值不为1的是( )
A.'x'&&'z' B.(!y=1)&&(!z=0) C.(x<y)&&!z||1 D.x||y+y&&z-y 答案是B,求解释
3、设int x=2, y=4, z=7;,则执行x=y--<=x||x+y!=z后,x,y的值分别是???求解释 展开
1个回答
展开全部
\t 水平制表符一个 \v垂直制表符 一个 \\ 一个反斜杠一个 \0字符串结束总共长度就3
'x' &&'z' =0x78 && 0x7a 前后都不是0自然不是0
B 选项你确定你没抄错,这是语法错误的!无语。。。。是(!y==1)&&(!z==0)么
!y=0 0==1 自然是0 !z=0 ,0==0表达式的值是1 0&& 1 自然就是0
对于C 先计算x<y 值是1 再计算 1&&!z 值是0,最后计算0||1 自然就是1
对于Dx||y 值为1 y&&z值为1 ,1+1-y=-1表达式还是1
执行完后x=1 y=3
+的优先级高于赋值运算符
所以先计算x||x值为1然后加上y 值为5 然后计算y--<=5 为1 然后计算这个1!=z为1 所以x自然就是1算
(有可能不是这样算的,我再分析一下)
事实上是这样的
表达式中出现的运算符优先级 先后顺序是这样的:
--
+
<=
!=
||
=
所以这个表达式等价于
x=((y--<=x)||((x+y)!=z))
就是x=((4<=2)||((2+4)!=7))
x=(0||1)
最后x=1;
y--后等于3
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询