c语言 运算符

a: 5|2
b: 5||2
c: 5&2
d:(5>2)&&(3==2)
e:(3>4)||!(4==1)
f:3==4?1:0
上面几个算术的运算过程是怎么样的 然后结果是什么 一定要说明每个符号的 意思哦 希望高手帮我一下 我新手拉 谢谢!!!

a:按位或
00000101
00000010
--------
00000111
结果7
b:逻辑或
只要有一个为真,总的值就为真,只有当所有的都为假时,总的式子才为假。
两边都为真
结果:真(非零数)
c:按位与
00000101
00000010
----------
00000000
结果:0
d:逻辑与
只要有一个为假,总的表达式就为假,只有当所有都为真时,总的式子才为真。
5大于2真
3恒等于2假
结果:假
e:
3大于4 假
4恒等于1假
!逻辑非是把相应的变量数据转换为相应的真/假值。其优先级高逻辑或
!(4==1) 真
结果:真
f:条件运算符
是对第一个表达式作真/假检测,然后根据结果返回两外两个表达式中的一个。
<表达式1>?<表达式2>:<表达式3>
在运算中,首先对第一个表达式进行检验,如果为真,则返回表达式2的值;如果为假,则返回表达式3的值。
3恒等于4 假
选择表达式3为0
结果:0
温馨提示:内容为网友见解,仅供参考
第1个回答  2009-04-08
a:|是按位“或”符号,把5和2换成二进制分别是101和010,然后按位或,结果就是111,换成十进制就是7.
b:||是逻辑“或"符号,因为它两边的值都是非零,所以最后结果是1.
c:&是按位”与“符号,把5和2换成二进制分别是101和010,然后按位与,结果是000,换成十进制是0.
d:&&是逻辑”与“符号,它左边表达式的值为1(5>2为真),右边表达式的值为0(3==2为假),所以最后结果是0.
e:||是逻辑”或“符号,!是逻辑”非“,||左边表达式的值为0,右边表达式的值为1,所以最后的结果是1.
f:为 表达式1?表达式2:表达式3 的形式,表达式1为非0时,最后结果取表达式2的值;表达式1为0时,最后结果取表达式3的值。3==4的值为0,所以最后结果是0.
够详细了吧, 我是教C的老师,不懂的还可以问我
相似回答
大家正在搜