3.1关系运算符与关系表达式(课件)-《 C语言程序设计》同步教学(电子工业出版社)

2024-08-11
| 20页
| 120人阅读
| 9人下载
普通

内容正文:

第三章 数据与运算 1 CONTENTS 目录 01 02 逻辑运算符与逻辑表达式 关系运算符与关系表达式 03 赋值运算符与赋值表达式 04 位运算符与表达式 05 其它运算符与表达式 06 数据类型的转换 知识树 My First Template 关系运算符与关系表达式 C语言程序设计 4 C语言 关系表达式的计算结果 = 逻辑值(真或假) 在C语言中,“0”表示“假”,“非0”表示“真” 关系运算符用于测试两个操作数或两个表达式之间的关系,其中操作数可以是变量、常量或表达式。 关系运算符 操作数 关系运算符 操作数 关系运算符与关系表达式 My First Template C语言 关系运算符关系表达式 1. 关系运算符(又称比较运算符) 用于比较两个表达式值的大小,有6种: > 、>= 、< 、<= 、= = 、!= 2. 关系表达式 • 是用关系运算符把两个表达式联系起来的式子 • 关系表达式成立,其值为真,用1代表;否则为假, 用0代表。 如 int a = 4, b = 8; 则 关系表达式 a > b 的值为0, 而 关系表达式 a < b 的值为1。 关系运算符与关系表达式 My First Template C语言 运用关系表达式时的注意事项:  关系表达式中字符型数据按其ASCII码值参加比较运算 100 < 'a' 值为0 '3'>30值为1  运算符两边的表达式可以是算术、字符、赋值、关系、或逻辑表达式。 例:(a+x)>(b+y) (x=4)<=y++  关系运算符运算时结合方向自左至右。 例: 若 a = 4, b = 3, c = 2 则: x = ( a < b < c ) x的值为 1; y = ( a > b > c ) y 的值为 0。 关系运算符与关系表达式 My First Template C语言 关系运算符与关系表达式 num1=10; num2=5;num3=20;num4=10; (num1 + num2) > (num3 – num4) num=40; num/10 != 2 gender = ‘m’ 真 假 == 如果 gender = ‘f’ 如果 gender = ‘m’ My First Template 逻辑运算符与逻辑表达式 C语言程序设计 9 C语言 逻辑运算符与逻辑表达式 1. 逻辑运算符 用于对逻辑量进行运算,有3种: && 逻辑与 双目运算符 || 逻辑或 双目运算符 ! 逻辑非 单目运算符 2. 逻辑表达式 • 是用逻辑运算符联系起来的表达式。如: a && b; a || b; ! a ; • 逻辑运算符两边是逻辑值。非0为真,0为假。 • 逻辑表达式的值也是逻辑值。真为 1,假为0。 逻辑运算符与逻辑表达式 My First Template C语言 逻辑与运算:两个运算量都为非0,结果才为1 (逻辑真) 。 逻辑与的真值表 逻辑运算符与逻辑表达式 My First Template C语言 逻辑或运算:两个运算量中只要有一个运算量非0,结果就为1(逻辑真)。 逻辑或的真值表 逻辑运算符与逻辑表达式 My First Template C语言 逻辑非运算:使运算量的值变反,即非0值变0值。 X ! X 非0 0 0 1 逻辑非的真值表 逻辑运算符与逻辑表达式 My First Template C语言 运用逻辑表达式的注意事项  判断数值是否为真时,非0代表真,0代表假  逻辑运算符两侧的操作数不仅可以是整数,也可以是其他数据类型,只要该类型 的数据值最终能得到0或非0值  逻辑表达式中,不一定对逻辑运算符两侧的表达式都求值 (&&、||)  数学上的数值区间不能直接用在C语言的判断条件上 如数学上的 1<x≤10,不应写成:1<x<=10; 而应写成:(1<x)&&(x<=10) 逻辑运算符与逻辑表达式 My First Template C语言 例1:int x,y,z,w; x=y=z=-1; w=(++x||++y)&&++z; printf ("%d,%d,%d,%d ",x,y,z,w); 输出为何? && 前的操作数值若是假,则后面的表达式无需运算 || 前的操作数值若是真,则后面的表达式无需运算 答案:0, 0, -1, 0 逻辑运算符与逻辑表达式 My First Template C语言 例2:逻辑表达式(!E) 的值等价于_____。 A) E = = 0 B) E != 1 C) E != 0 D)-E ! E E == 0 E != 1 E != 0 -E E=0 1 1 1 0 0 E≠0 0 0 不定 1 不定 逻辑运算符与逻辑表达式 My First Template C语言 例 : main ( ) { int a,b,c = 241; a = c/100%9; b = ( -1)&&( -2); printf ("%d, %d ", a, b);} 输出为何? 答案: 2, 1 2 1 逻辑运算符与逻辑表达式 My First Template C语言 逻辑运算符与逻辑表达式 问题描述: 要求用户输入一个字符,用程序判断该字符是否为小写字母 ,并输出相应的信息。 #include <stdio.h> void main() { char a; printf(" 请输入一个字符:"); scanf("%c",&a); if(a>='a' && a<='z') printf("您输入的字符是小写字母 ",a); else printf("您输入的字符不是小写字母 ",a); } 内存 num T 请输入一个字符:T 您输入的字符不是小写字母 实例1 My First Template C语言 逻辑运算符与逻辑表达式 实例2 问题描述: 接受用户输入的三种商品的价格。如果购买的三种商品中至少有一种商品的价格大于 50 或者三种商品的总额大于 100,则折扣率为15%,否则折扣率为0,计算并显示用户应付的钱数。 #include <stdio.h> void main() { float rate1,rate2,rate3; double discount,total; printf(" 请输入第一种商品的价格:"); scanf("%f",&rate1); printf(" 请输入第二种商品的价格:"); scanf("%f",&rate2); printf(" 请输入第三种商品的价格:"); scanf("%f",&rate3); total=rate1+rate2+rate3; if((rate1>50)||(rate2>50)||(rate3>50)||(total>100)) { discount=0.15*total; total=total-discount; printf(" 折后总价为:%6.2f ",total); } else printf(" 总价为:%6.2f ",total); } if((rate1>50)||(rate2>50)||(rate3>50)||(total>100)) 输出: 请输入第一种商品的价格:34 请输入第二种商品的价格:42 请输入第三种商品的价格:38 折后总价为:96.90 My First Template C语言 逻辑运算符与逻辑表达式 实例3 问题描述: 确定用户输入的数字是否可以被5整除,并输出相应的消息。 #include <stdio.h> void main() { int num; printf(" 请输入一个数:"); scanf("%d",&num); if (!(num %5)) printf(" 该数能被 5 整除 "); else printf(" 该数不能被 5 整除 "); } 请输入一个数:90 该数能被 5 整除 My First Template x y x&&y 非0 非0 1 非0 0 0 0 非0 0 0 0 0 x y x||y 非0 非0 1 非0 0 1 0 非0 1 0 0 0 $$

资源预览图

3.1关系运算符与关系表达式(课件)-《 C语言程序设计》同步教学(电子工业出版社)
1
3.1关系运算符与关系表达式(课件)-《 C语言程序设计》同步教学(电子工业出版社)
2
3.1关系运算符与关系表达式(课件)-《 C语言程序设计》同步教学(电子工业出版社)
3
3.1关系运算符与关系表达式(课件)-《 C语言程序设计》同步教学(电子工业出版社)
4
3.1关系运算符与关系表达式(课件)-《 C语言程序设计》同步教学(电子工业出版社)
5
3.1关系运算符与关系表达式(课件)-《 C语言程序设计》同步教学(电子工业出版社)
6
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。