哪位C语言高手帮忙回答一下几个运算符表达式方面的题,多谢啦!忙着准备二级考试呢!

分析下列程序运行结果。#include"stdio.h"voidmain(){inta,b,c;a=b=c=0;++a&&++b||c++;printf("a=%d,b=... 分析下列程序运行结果。
#include "stdio.h"
void main()
{
int a,b,c;
a=b=c=0;
++a&&++b||c++;
printf("a=%d,b=%d,c=%d\n",a,b,c);
a=b=c=0;
a++&&++b||++c;
printf("a=%d,b=%d,c=%d",a,b,c);
a=b=c=0;
a++&&b++||++c;
printf("a=%d,b=%d,c=%d",a,b,c);
a=b=c=0;
a++||b++&&++c;
printf("a=%d,b=%d,c=%d",a,b,c);
}
麻烦能尽量解释详细点,就是具体先算哪个再算哪个。帮忙解决一下,多谢啦!
展开
 我来答
龙蛋蛋与细儿
2010-08-14 · TA获得超过208个赞
知道答主
回答量:70
采纳率:0%
帮助的人:97.9万
展开全部
int a,b,c;
a=b=c=0;
++a&&++b||c++;
printf("a=%d,b=%d,c=%d\n",a,b,c);
<优先级:++自加 > &&逻辑与 > ||逻辑或;逻辑与和逻辑或都有自己的“
偷懒性”,执行过程“从左到右”(0&&0得0;x=0;0&&x++;还是得0,而
x++并没有参加运算,它的值还是为0,这就是因为逻辑与的“偷懒性”的
原因,逻辑与只要其中一个为0了值就是0,其它的部分不再运算;逻辑或
一样,只要其中一个为1了,其它部分就不再参加运算)>
<++前加先进行自加1后参加运算,后加++先进行运算后自加1>
<a、b先自加1再进行逻辑与运算(也就是1&&1),因为逻辑与的结果为1,
1或任何表达式它的值还是为1,由于逻辑或的“偷懒性”,c++就没有参加
运算了--- 输出结果:a=1,b=1,c=0>

a=b=c=0;
a++&&++b||++c;
printf("a=%d,b=%d,c=%d",a,b,c);
<优先级:++自加 > &&逻辑与 > ||逻辑或>
<++前加先进行自加1后参加运算,后加++先进行运算后自加1>
<b、c先自加1;a、b进行逻辑与运算(也就是0&&1),a自加1;逻辑与的
结果和c进行逻辑或运算(也就是0||1)--- 输出结果:a=1,b=1,c=1>

a=b=c=0;
a++&&b++||++c;
printf("a=%d,b=%d,c=%d",a,b,c);
<优先级:++自加 > &&逻辑与 > ||逻辑或>
<++前加先进行自加1后参加运算,后加++先进行运算后自加1>
<运算前,c先自加1;a、b进行逻辑与运算(也就是0&&0),然后各自加1
;a、b逻辑与结果与c进行逻辑或运算(也就是0||1)---输出结果:
a=1,b=1,c=1>

a=b=c=0;
a++||b++&&++c;
printf("a=%d,b=%d,c=%d",a,b,c);
<优先级:++自加 > &&逻辑与 > ||逻辑或>
<++前加先进行自加1后参加运算,后加++先进行运算后自加1>
<运算前,c先自加1;b、c进行逻辑与运算(也就是0&&1),然后b自加1;
b、c逻辑与结果和a进行逻辑或运算(也就是0||0),然后a自加1---输出
结果:a=1,b=1,c=1>

计算机二级C考试的话,建议多做历年真题和上机模拟题;多注意函数调用
、指针以及一些基本算法,基础知识一定要抓牢,每年考的知识点都差不
多,你可以从历年真题中多总结下经验。 祝你好运。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式