c语言中逻辑运算怎么做啊

&& 是与操复作。
A&&B,当且公当制AB都为真是,逻辑为真,返回值为1

A||B
或,也就是"||"操作,当且仅当两AB都为假是,逻辑为假。返回值为0

上面,2&&8,2,8,非零即为真,所以逻辑返回1,1==1为真,所以值为1

0||9,9非零,所以逻辑返回1,1==0为假,所以值为0

Ⅱ c语言逻辑与和逻辑或和逻辑非的运算

逻辑与:p且q 全真则真,有假则假
逻辑或:p或q 有真则真,全假则假
逻辑非:非p p假,则非p真,p真,则非p假

“逻辑与”和“逻辑或”的关系:当“p且q ”真,则“p或q”真;当“p或q”假,则“p且q ”假。

Ⅲ C语言的逻辑运算和按位运算怎么区分

1、作用的不来同

&&、||是逻辑源运算符,用于从左到右求表达式的真值。假设x=1;y=2;那么x&&y=1;x||y=1。

&、|是位运算符,是对x,y进行位运算,x,y取值如上,那么有x&y=0;(x的二进制表示为00,y的二进制表示为10)。

2、判断这个表达式的真或假的不同

&和|既是逻辑运算符也是位运算符,而&&和||只是逻辑运算符。

当&与&&同为逻辑运算符时,它们都用于连接两个Boolean类型的表达式,当&和&&的两端表达式同时为真时,表达式的结果为真,只要有一端为假,那么表达式结果为假。

例:3>5&3>2;3>5&&3>2;

当|和||的两端表达式同时为假时,表达式的结果为假,只要有一端为真,那么表达式结果为真。

3、计算方式不同

当使用&运算符:计算机在判断表达式的值的时候,先判断3>5的值为假,然后再判断3>2的结果为真,于是最后的结果是假&真为假;

但是当我们使用&&运算符的时候:计算机先判断3>5的值为假,此时表达式的结果一定为假,所以计算机就不再往下判断了,判定表达式结果为假。

Ⅳ c语言逻辑运算符有哪些,及运算先后顺序

逻辑运算有三种,与或非。
1 逻辑与运算,符号为&&,形式为a&&b;
2 逻辑或运算,符号为|专|,形式为a||b;
3 逻辑非运算,符号为!,形式为!a。

当逻辑运算写在一起的时候,逻辑非!运算优先级最高,其次为逻属辑与&&,最低为逻辑或||。
即先计算非,再计算与,最后计算或。
同类运算时,运算顺序为从左到右。

Ⅳ c语言逻辑运算符 我不明白&&和||到底是怎么运算的

||1 形式:
&&的形式为a&&b。
||的形式为a||b。
2 计算规则:
&&只有当a和b的值均非0时,内结果为1,否则容结果为0。
||只有当a和b的值均为0时,结果为0,否则结果为1。
3 优先级:
&&的优先级比||高,所以在写在一起时,先计算&& 再计算||。
相同符号时,自左向右计算。
4 短路原则:
对于&&,如果左操作数a为0,那么结果必然为0, 右操作数b将不参与计算。
对于||,如果左操作数a非0,那么结果必然为1, 右操作数b将不参与计算。

Ⅵ C语言中逻辑运算符非"!"与"&&"或"||"的优先级怎么说

逻辑非的优先级最高,逻辑与次之,逻辑或最低,即:!(非) → &&(与) → ||(或)

记忆口诀:(非) and(与) or(或)

运算规则

1)&&:当且仅当两个运算量的值都为"真"时,运算结果为"真",否则为"假"。

2) || :当且仅当两个运算量的值都为"假"时,运算结果为"假",否则为"真"。

3) ! :当运算量的值为"真"时,运算结果为"假";当运算量的值为"假"时,运算结果为"真"。

例如,假定x=5,则(x>=0) && (x<10)的值为"真",(x<-1) || (x>5)的值为"假"。

(6)c语言逻辑与运算扩展阅读

优先级

优先级与求值顺序无关。如a+b && b*c,虽然*优先级最高,但这个表达式求值顺序是从左到右。

优先级从上到下依次递减,最上面具有最高的优先级,逗号操作符具有最低的优先级。

相同优先级中,按结合性进行结合。大多数运算符结合性是从左到右,只有三个优先级是从右至左结合的,它们是单目运算符、条件运算符、赋值运算符。

基本的优先级需要记住:

指针最优,单目运算优于双目运算。如正负号。

先算术运算,后移位运算,最后位运算。请特别注意:1 << 3 + 2 & 7等价于 (1 << (3 + 2))&7.

逻辑运算最后结合。

Ⅶ C语言中逻辑运算符的规则是什么

逻辑运算符把各个运算的变量(或常量)连接起来组成一个逻辑表达式。
逻辑运算符有4个,它们分别是:!(逻辑非)、||(逻辑或)、&&(逻辑与)^(异或)。在位运算里面还有&(位与)、|(位或)的运算。

什么是逻辑运算--逻辑运算用来判断一件事情是“对”的还是“错”的,或者说是“成立”还是“不成立”,判断的结果是二值的,即没有“可能是”或者“可能不是”,这个“可能”的用法是一个模糊概念,在计算机里面进行的是二进制运算,逻辑判断的结果只有二个值,称这二个值为“逻辑值”,用数的符号表示就是“1”和“0”。其中“1”表示该逻辑运算的结果是“成立”的,如果一个逻辑运算式的结果为“0”,那么这个逻辑运算式表达的内容“不成立“。
例 1:通常一个教室有二个门,这二个门是并排的。要进教室从门A进可以,从门B进教室也行,用一句话来说是“要进教室去,可以从A门进‘或者’从B门进”
用逻辑符号来表示这一个过程--能否进教室用符号C表示,教室门分别为A和B。C的值为1表示可以进教室,为0表示进不了教室。A和B的值为1时表示门是开的,为0表示门是关着的,列表如下:

说明 C A B 2个教室的门都关着,进不去教室 0 0 0 门B是开着的,可以进去 1 0 1 门A是开着的,可以进去 1 1 0 门A和B都是开着的,可以进去 1 1 1
把表中的过程写成逻辑运算就是:C = A || B 这就是一个逻辑表达式,它是一个“或”运算的逻辑表达式。这个表达式要表达的是这个意思--如果要使得C为1,只要 A“或”B其中之一为 1即可以达到。所以“||”运算称为“或”运算。
思考--如果有一个表达式 C = A || B || C怎样理解这个逻辑表达式?

例2:假设一个房间外面有一个晒台,那么这个房间就纵向开着二个门,要到晒台去,必须要过这二个门,很明显这二个门必须都是开着的才行,否则只要其中一个门关着就去不了晒台。列表如下:

说明 C A B 二个门都关着,去不了晒台 0 0 0 门A关着,去不了晒台 0 0 1 门B关着,去不了晒台 0 1 0 门A与门B都开着,可以去晒台 1 1 1
把表中的过程写成逻辑运算式就是: C = A && B && C ,用一句话来描述这个表达式--如果要使得C为1,必须A‘与’B都为1才行,否则其中任一个为0,C就为0。所以“&&”运算符称为“与”运算。
思考--如果有一个表达式 C = A && B && C 怎样理解这个逻辑表达式?

例3:有一个问题如下,有一个晚会,对参加晚会的人有一定的条件限制,教师可以参加,学生当中只有年龄达到16岁以上的男生才能参加,怎样用上面所讲的逻辑运算来表达这样的逻辑关系?
设能够参加晚会为D,教师为A,男生为B,16岁以上为C,可以用下式来描述:
D = A || ( B && C ) /*这个表达式可以理解吗,可以参照上面表格用0、1来写一下*/

例4:下面是一个程序,用到了if判断语句(if是如果的意思)
#include<stdio.h>
void main()
{
int a=0,b=0,c=0;
scanf("%d%d%d",&a,&b,&c); /*从键盘输入参加者的条件*/
if((a||(b&&c)) /*如果是教师或者是16岁以上的男生*/
printf("你可以参加这个晚会。"); /*输出可以参加的信息*/
else /*否则*/
printf("你不能参加这个晚会。"); /*输出不能参加的信息*/
}

逻辑量和逻辑值
在逻辑表达式里有参加逻辑运算的逻辑量及逻辑运算最后的结果(逻辑值),把这二个概念区分开来和记住它们是很重要的。
什么是逻辑量--凡是参加逻辑运算的变量、常量都是逻辑量。
我们来仔细分析一下哪些是逻辑量,哪些是逻辑值。
要表达一件事情是否成立是这样描述的:“如果他来了,这件事情一定能成功”。用程序语句描述就是 if(a!=0)在这个语句里用变量a来表示他来与不来这件事,变量的值为1说明他来了,为0就是不来。在C语言中,一般不写成这样(如果一定要写成if(a!=0),别人一看你的程序就知道你是编程菜鸟),而是写成 if(a)。括号里面的变量a就是逻辑量。当该逻辑量的逻辑值为1时,if表达式为真,这时可以执行if 后的的程序语句。当该逻辑量的逻辑值为0时,if表达式为假,就不能执行if后面的程序语句。可以看出,if表达式能否成立是要看“逻辑量”最后的“逻值值”是否为1来判断的。
什么是逻辑值--逻辑量、逻辑表达式其最后的运算结果的值就是逻辑值。逻辑值只能是“0”和“1”这二个数。“1”表示逻辑真(成立);“0”表示逻辑假(不成立)。
一切非“0”的逻辑量其逻辑值都为真。正确理解这句话很重要。例:if(-1),这一句可以这样来分析--首先“-1”是一个非“0”的逻辑量,它的逻辑值为“1”,那么这个if语句就成为 if(1),这个if表达式成立。

思考:下面的式子中,哪个语句不被执行
int a=0,b=10; if(a) {b++;a++} a+=10; if(b) {a=10;b=-10;} if(b)a=0;

C语言中进行逻辑运算时要注意的问题:
例1:
现在要判断一个变量的值是否在12到30之间,很自然想到了这样一个表达式:
scanf("%d",&a);
if(12<a<30) /*这样的写法对吗*/
printf("%d".a);
把这样的语句放在程序里编译一下,没有什么不正常的,编译通过。
但是在运行的时候就会出问题。下面仔细分析一下if语句的运行过程:
表达式12<a<30中首先进行12<a的判断,如果a>12则为真,否则为假。设a的值为14,些时表

Ⅷ C语言中的 与或非运算

C语言中的与、或、非是C语言的逻辑运算符。

1、逻辑与

在C语言中逻辑与用&&表示。回

举例:a&&b(其中a、b都代表一个条答件)

如果a和b都为真,则结果为真,如果a和b中有一个条件为假,则结果为假。

2、逻辑或

在C语言中逻辑或用||表示。

举例:a||b(其中a、b都代表一个条件)

如果a和b有一个或以上为真,则结果为真,二者都为假时,结果为假。

3、逻辑非

在C语言中逻辑非用!表示。

举例:!a(a代表一个条件)

如果a为假,则!a为真,如果a为真,则!a为假。

(8)c语言逻辑与运算扩展阅读

在C 语言中的逻辑运算符及优先级:

一元:!(逻辑非)。

二元:&&(逻辑与)、||(逻辑或)。

以上三种逻辑运算符中,逻辑非 ! 的优先级最高,逻辑与 && 次之,逻辑或 || 优先级最低。即算术、逻辑、赋值运算符的优先级顺序为:

逻辑非 ! >算术 > 逻辑与 &&、逻辑或 || > 赋值=

Ⅸ c语言中逻辑与的符号是什么

&&逻辑与,||逻辑或,!逻辑非

运算举例如下:

a&&b,若a,b为真内,则a&&b为真

a||b,若a、容b之一为真,则a||b为真

!a,若a为真,则!a为假;若a为假,怎!a为真。

C语言编译系统在表示逻辑运算结果时,以数值1代表“真”,以0代表“假”。即将一个非零的数值认作为“真”。