三九宝宝网宝宝教育教学论文

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

01月06日 编辑 39baobao.com

[用C编程集合运算及实现]详细c代码:#include#include#define MAX_SET_NUM 5#define YES 1#define NO 0typedef struct data_set{ int arr_A[MAX_SET_NUM]; int arr_B[MAX_SET_NUM]; int Intersection...+阅读

逻辑运算符把各个运算的变量(或常量)连接起来组成一个逻辑表达式。逻辑运算符有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是如果的意思)#includevoid 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

以下为关联文档:

C语言中运算符是取整运算符参与运算量均为整型时, 结果也为整型,舍去小数。如果运算量中有一个是实型,则结果为双精度实型。 printf("%d,%d\n",10/3,-10/3); printf("%f,%f\n",10.0/3,-10.0/3); C语言有以下...

易语言如何在高级表格这一控件上做运算法则1.下列叙述正确的是(C)(A)计算机中所存储处理的信息是模拟信号(B)数字信息易受外界条件的影响而造成失真(C)光盘中所存储的信息是数字信息(D)模拟信息将逐步取代数字信息分析:计算机...

C语言转换类型运算符怎么用不是有强制类型转换吗? 强制类型转换 强制类型转换 当操作数的类型不同,而且不属于基本数据类型时,经常需要强制类型转换,将操作数转化为所需要的类型。强制类型转换具有两种形...

加法运算律怎样先学后教教案设计导入较好一、教学简介: 本节课学习加法交换律、结合律、乘法交换律、结合律。 二、教学重点: 要求学生学会运用加法运算律并能熟记加法运算律的意义 三、教学难点: 使学生经历探索并记...

C语言中逻辑运算符用法1、逻辑运算符是根据表达式的值来返回真值或是假值。在C语言中没有专门的真值和假值,认定非0为真值,0为假值。 2、逻辑运算符运算规则: || 或:两个条件中,只要有一个成立,则结果就...

C语言逻辑运算C语言中的逻辑运算符就三种,&与||或!非,它们的优先极顺序为非,与,或。它们含义如下,!:当操做数为真时,结果为假,反之也成立,并且它的优先极也最高,因为只有它是单目运算符,&:只有当两个操...

C语言逻辑运算符用法我自学C与语言逻辑运算符用法和作用介绍下还& (逻辑与运算符)用法:表达式1 & 表达式2 当表达式1和表达式2都为真时此逻辑才为真,否则为假即true & true = true true & false = falsefalse & true = false false & false =...

c语言逻辑运算符怎么理解C语言中的逻辑运算符使用规则如下: 1、逻辑运算符是根据表达式的值来返回真值或是假值。在C语言中没有专门的真值和假值,认定非0为真值,0为假值。 2、逻辑运算符运算规则:|| 或:...

c语言逻辑运算符问题在c中&和||都是短路运算符,像++i||++j&++k这个表达式,++i的值为2,隐式转换为bool型为true(0转为false其他都为true),因此这个表达式等价于ture || ++j & ++k,由于短路,当||前面的...

推荐阅读
图文推荐