设有语句int a=3,b=4 ,c=5 ;则表达式:! (a+b )+c-1&&b+c/2 的值为______ ,表达式 a | | b+c&& b = =
设有语句inta=3,b=4,c=5;则表达式:!(a+b)+c-1&&b+c/2的值为______,表达式a||b+c&&b==c的值为______。...
设有语句int a=3,b=4 ,c=5 ;则表达式:! (a+b )+c-1&&b+c/2 的值为______ ,表达式 a | | b+c&& b = = c 的值为______ 。
展开
展开全部
1和1
对于!(a+b)+c-1&&b+c/2 ,&&前后接两个表达式,一个是!(a+b)+c-1,另一个是b+c/2 ,第一个表达式结果为c-1即2(因为(a+b)非0,故!(a+b)结果为0),第二个表达式结果为6,所以这两个表达式均为非零,所以它们进行逻辑与操作之后的结果为1
对于a || b+c&& b == c,||逻辑或操作符连接两个表达式,但是第一个表达式为a,非0,故不用求后一个表达式的值,所以该表达式结果为1
在vs2010上运行通过
测试代码如下:
int a=3,b=4,c=5 ;
int d = !(a+b)+c-1&&b+c/2;
int e = a || b+c&& b == c;
cout << d << endl ;
cout<< e;
对于!(a+b)+c-1&&b+c/2 ,&&前后接两个表达式,一个是!(a+b)+c-1,另一个是b+c/2 ,第一个表达式结果为c-1即2(因为(a+b)非0,故!(a+b)结果为0),第二个表达式结果为6,所以这两个表达式均为非零,所以它们进行逻辑与操作之后的结果为1
对于a || b+c&& b == c,||逻辑或操作符连接两个表达式,但是第一个表达式为a,非0,故不用求后一个表达式的值,所以该表达式结果为1
在vs2010上运行通过
测试代码如下:
int a=3,b=4,c=5 ;
int d = !(a+b)+c-1&&b+c/2;
int e = a || b+c&& b == c;
cout << d << endl ;
cout<< e;
展开全部
学会这道题,需要了解运算符的优先级,还要知道这些都是int整形变量
()括号一级运算符
!逻辑非运算符属二级运算符
/ 除法运算符属三级运算符
&&逻辑与运算符属十一级运算符
运算符级数越高越先算
!(a+b)+c-1&&b+c/2
级数越高越先计算
左边0+5-1==4
右边4+2.5==6 因为是整形
两边都为真
&&是全真才真,两边都为真,故结果为1
()括号一级运算符
!逻辑非运算符属二级运算符
/ 除法运算符属三级运算符
&&逻辑与运算符属十一级运算符
运算符级数越高越先算
!(a+b)+c-1&&b+c/2
级数越高越先计算
左边0+5-1==4
右边4+2.5==6 因为是整形
两边都为真
&&是全真才真,两边都为真,故结果为1
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1
0
0
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1和0
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询