逻辑表达式!(2-10的值,逻辑表达式3<2或-1&&4>3-!0的值为多少,求过程谢谢

2021-02-17 05:11:01 字数 4168 阅读 5045

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 ...