设x,y,z,t均为int型变量,则执行以下语句后,t的值为(D?)。 x=y=z=1; t=++x||--y&&++z; 求t值

c语言二级... c语言二级 展开
帐号已注销
2020-12-11 · TA获得超过77万个赞
知道小有建树答主
回答量:4168
采纳率:93%
帮助的人:157万
展开全部

 t值为1。

++x||--y 且x=y=z=1,对于或运算,只要第一项正确,后面的就不用去考虑。

++x运算后x变为2为真就不管--y的运行结果,这项表达式为1。

后面一项,&&++z,因为++运算优先等级大于&&

所以先计算++z,z计算后变为2,执行&&"且"运算。最后得出结果为1。

或:

if(x=y)

t =z

else

t=!baiz

if的判断条件是一个赋值表达式,赋值表达式的值为其=右边的值,也zhuan就是y,也就是0。

c语言中0代表假false。所以if的条件不成立,不执行if下面的语句,而是执行else

的 t=!z语句。z=0,z表示假,!z表示真,转换为整型也就是1。

扩展资料:

定义整型变量的格式是

整数类型1个变量名或用逗号隔开的多个变量名

类似地,还可以定义 unsigned int 、 unsigned long 型的变量。

定义一个变量,意味着在内存中给这个变量分配了相应大小的存储空间,同时确定了这个变量值的存储方式和可以进行的操作。

参考资料来源:百度百科-整型变量

匿名用户
2011-08-10
展开全部
因为x=y=z=1
所以t=2 ||2 && 2
2 && 2=1
2 || 1=1
t=1
追问
求具体,   儿咋来的?
追答
语句序列“x=y=z=l;t=++x||++y&&++z;”使变量x的值为1,变量t是赋一个逻辑表达式的值。在C语言中,由逻辑与和逻辑或构成的逻辑表达式有特别的计算规则,顺序计算各逻辑子表达式,并当一旦能得到逻辑表达式的结果时,就立即结束逻辑表达式的计算,不再计算后继逻辑子表达式。本题的逻辑表达式是两个运算分量的逻辑或,而且左运算分量++X的值为非0,立即得到逻辑或运算的结果为1,并将1赋给变量t,所以变量t的值为1。

请采纳 打字累死我了
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2011-08-10
展开全部
t=1
t=(++x) || (--y&&++z);
因为 x !=0 , 所以 (++x)为真,所以整个表达式为真
追问
意思是先运算(--y&&++z)?
追答
是的,&& 的优先级高于 ||
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式