1楼:匿名用户
编程语言里来逻辑这种数据类源型的值只有true和false两种,因
为只有2种取值的可能性,所以最节约空间的存储方法就是只用1个比特位来表示,也就是0为假,1位真。但是不是所有语言都支持原生的bit类型,而且不同语言对于逻辑这个数据类型的定义都不一样,确切说不是所有语言和cpu都支持位寻址,所以有时用一个字节的存储空间来表示一个位的效率更高,。比如c语言中没有bool类型,c语言中if(exp)中,不管exp是那种数据类型,只要exp值非零,就会去执行func_true()分支。
也就是0为假,非0为真。
2楼:
先算括号里的,值为1,取非后为0,0与任何数取与均为0,故值为0
逻辑表达式3<2或-1&&4>3-!0的值为多少,求过程谢谢
3楼:匿名用户
#include
using namespace std;
main()
{bool ret = 3<2||-1&&4>3-!0;
cout << ret << endl;
cout << (ret?"真":"假") <:1真press any key to continue逻辑过程如下:
3<2||(-1&&4>3-!0)
其中3<2=0(假)
右边是逻辑与运算:
逻辑与的左半侧:-1,值非零,逻辑结果为1(真);
逻辑与的右半侧:4>3-!0,!0是非运算,结果为1,所以4>3-1 => 4>2,逻辑结果为1(真);
所以逻辑与运算的结果=1(真)
所以整个逻辑表达式=0||1=1(真)
c语言中4&&0||2的值为1困惑
4楼:匿名用户
逻辑运算符的运算优先级是! > && > ||所以先算4&&0,因为4为非0,即为真,但这并能表明整个4&&0就是真,还要判断后面的0,为假,所以整个表达式4&&0就为假,值为0,然后再算0||2,因为是或运算,第一个表达式为0,还不能表明整个表达式0||2的值为0,所以还要判断后面的2,是非0,为真,所以整个表达式的值为1&&的运算法则是:有0为0,全1为1||的运算法则是:
由1为1,全0为0
5楼:匿名用户
c语言中非0值为真,0为假,所以4&&0是逻辑结果,其值为假,为0,||为c语言的逻辑或运算符,只要两边有一个为真,就可以判断其值为真,为1,同时有一点提醒一下,逻辑和关系运算,关系运算中值为1或0,但是逻辑表达式中如果是判断真假,值为0或非0值,如果为逻辑运算结果则为0为假1为真。
6楼:匿名用户
&& ii 运算的优先级一样时,运算顺序从左到右
(!a==1)&&(!b==0),而a=2,b=3,第一个表达式是什么意思
7楼:匿名用户
这个考的是c语言的运算
符的优先级了。
一般来说单目运算符优先级高于双目运算符。
这里! 逻辑非运算符高于== 判等运算符,所以会优先计算!。
并且c语言使用0表示逻辑假;非0表示逻辑真,一般使用1来表示。
a=2,非0的值,是逻辑真,所以!a就是逻辑假,即0b=3,非0的值,是逻辑真,所以!a就是逻辑假,即0上面的表达式就相当于
(0==1)&&(0==0),&&是逻辑与运算符,两边同时为真才是真。
而0==1是逻辑假,那么这个表达式的值就是逻辑假,即0。
8楼:一剑挥刀断情丝
a不等于1与b不等于2
c语言b=2&&(-1)=?是什么意思
9楼:天府第一宝
3)。逻辑运算符是根据表达式的值来返回真值或是假值。其实在c语言中没有所谓的真值和假值,只是认为非0为真值,0为假值。
符号 功能
&& 逻辑与
|| 逻辑或
! 逻辑非
当表达式进行&&运算时,只要有一个为假,总的表达式就为假,只有当所有都为真时,总的式子才为真。当表达式进行||运算时,只要有一个为真,总的值就为真,只有当所有的都为假时,总的式子才为假。逻辑非(!
)运算是把相应的变量数据转换为相应的真/假值。若原先为假,则逻辑非以后为真,若原先为真,则逻辑非以后为假。
还有一点很重要,当一个逻辑表达式的后一部分的取值不会影响整个表达式的值时,后一部分就不会进行运算了。例如:
a=2,b=1;
a||b-1;
因为a=2,为真值,所以不管b-1是不是真值,总的表达式一定为真值,这时后面的表达式就不会再计算了。
这是一类特殊的运算符,自增运算符++和自减运算符--对变量的操作结果是增加1和减少1。例如:
--couter;
couter--;
++amount;
amount++;
看这些例子里,运算符在前面还是在后面对本身的影响都是一样的,都是加1或者减1,但是当把他们作为其他表达式的一部分,两者就有区别了。运算符放在变量前面,那么在运算之前,变量先完成自增或自减运算;如果运算符放在后面,那么自增自减运算是在变量参加表达式的运算后再运算。这样讲可能不太清楚,看下面的例子:
num1=4;
num2=8;
a=++num1;
b=num2++;
a =++num1;这总的来看是一个赋值,把++num1的值赋给a,因为自增运算符在变量的前面,所以num1先自增加1变为5,然后赋值给a,最终a也为5。b=num2++;这是把num2++的值赋给b,因为自增运算符在变量的后面,所以先把num2赋值给b,b应该为8,然后num2自增加1变为 9。
那么如果出现这样的情况我们怎么处理呢?
c=num1+++num2;
到底是c=(num1++)+num2;还是c=num1+(++num2);这要根据编译器来决定,不同的编译器可能有不同的结果。所以我们在以后的编程当中,应该尽量避免出现上面复杂的情况。
10楼:匿名用户
让你用逻辑运算符和赋值运算符的优先级
3<2||-1&&4>3-!0的值是多少(c语言)
11楼:匿名用户
看成是数值的话就是1,如果是bool型的就是true,表达式的值要么0(false),要么1(true);
该式先算!0 = 1,接着3-1 =2 ;然后算3<2 4>2 还有-1是否为真。式子变成(真)或(假)为真
真与真为真,所以整个式子为真。值为1(true)。
请问c语言中,0&&0||1的值是多少啊 ?
12楼:匿名用户
值为1,因为它有2个逻辑运算符,执行的是2次不同的操作,先做了0&&0,然后做了0||1,这跟你说的情况是不同的,
13楼:yiqi翱翔
“&&”(逻辑与)、"||"(逻辑或)是逻辑运算符。 同一等级的,从左到右结合运算,0&&0为假,即为0,0再与1相或0||1为真,即为1.
14楼:匿名用户
根据运算优先级,先算0&&0得0,再算0||1得1,所以最终结果是1。
15楼:乐酷科技
(0&&0)||1
这样子 括号左边为0 看 右边 为真 所以表达式为真 输出1
16楼:匿名用户
除非是0&&(0||1)
在c语言中t=!(a-c>1||2&&0); 的计算顺序是什么?怎么算的?
17楼:匿名用户
先括号运算,括号内:先数**算a-c,再比较运算,a-c>1;然后是逻辑与&&;2&&0结果为0;然后再和a-c>1的结果进行逻辑或||运算;然后对结果进行逻辑非!运算;再进行赋值运算,即把结果赋值给t
18楼:匿名用户
按运算符优先级,应该是先计算a-c ,然后是 a-c>1,再&&,再 ||,最后执行!取反
19楼:稳住大神
你可以查看优先级呀,
1.括号的优先级最高!可以看成括号里面是一部分,!
是另一部分2.“-”号优先级高于》,而》又高于&&高于||3.综上可以看成,判断a-c>1是否为真,然后2&&0,然后将结算结果||,最后再取反
表达式1 2 3 4的值为,表达式3&4的值为?表达式3|4的值为?,表达式3&&4的值为?
1楼 方震 true 或者说返回为真 2楼 匿名用户 include int main 输出结果 1 表达式3 4的值为?表达式3 4的值为?,表达式3 4的值为? 3楼 四舍 入 1 表达式3 4的值为0,3 4即二进制数011和100按位与,结果是二进制数000,即十进制数0。 2 3 4即二进...
VB中表达式1Mod2 4 3 6 2的值为
1楼 匿名用户 vb中表达式 1 mod 2 4 3 6 2的值为 1 vb表达式2 3 10 4 mod6 2的值? 2楼 听不清啊 vb运算符优先级 由高到低分别为 取负 幂 或 mod 四舍五入法 或 vb表达式 2 3 10 4 mod 6 2 的值是2。 2 3 10 4 mod 6 2 ...