手机版

C语言程序设计(第三版)第五章-谭浩强

时间:2025-07-05   来源:未知    
字号:

第五章

本章要点

关系表达式 逻辑表达式

选择结构程序设计

主要内容5.1 关系运算符和关系表达式

5.2 逻辑运算符和逻辑表达式5.3 if语句

5.4 switch语句5.5 程序举例

§5.1 关系运算符和关系表达式(一).关系运算符及其优先次序 1. < (小于) 2. <= (小于或等于) 优先级相同(高) 3. > (大于) 4. >= (大于或等于) 5. == (等于) 优先级相同(低) 6. 说明: != (不等于) 关系运算符的优先级低于算术运算符关系运算符的优先级高于赋值运算符

§5.1 关系运算符和关系表达式(续)(二).关系表达式 用关系运算符将两个表达式(可以是算术表达式或 关系表达式,逻辑表达式,赋值表达式,字符表达式) C语言中没有专用 接起来的式子,称关系表达式的逻辑值,1代表 真,0代表假 例:a>b,a+b>b+c,(a=3)>(b=5), a < b ,(a>b)>(b<c)

关系表达式的值是一个逻辑值,即“真”或“假”。 例:关系表达式”a>b”的值为“真”,表达式的值为1。

§5.2 逻辑运算符和逻辑表达式(一).逻辑运算符及其优先次序 1. && (逻辑与) 相当于其他语言中的AND 2. || (逻辑或) 相当于其他语言中的OR 3. ! (逻辑非) 相当于其他语言中的NOT 例:a&&b 若a,b为真,则a&&b为真。 a||b 若a,b之一为真,则a||b为真。 !a 若a为真,则!a为假。 优先次序: !(非)->&&()->||() 逻辑运算符中的“&&”和“||”低于关系运算符,“!”高于算 术运算符

§5.2 逻辑运算符和逻辑表达式(续)(二)逻辑表达式 用逻辑运算符将关系表达式或逻辑量连接起来的式子就 是逻辑表达式 逻辑表达式的值应该是一个逻辑量“真”或“假”。任何非零的数值被认作“真”

例:设a=4,b=5: !a的值为0 a||b的值为1 4&&0||2的值为1

a&&b的值为1 !a||b的值为1

§5.2 逻辑运算符和逻辑表达式(续)例:5>3&&8<4-!0自左向右运算5>3逻辑值为1 !0逻辑值为1 4-1值为3

表达式值为0

1&&0逻辑值为0

8<3逻辑值为0

§5.2 逻辑运算符和逻辑表达式(续)

在逻辑表达式的求解中,并不是所有的逻辑运算符都要被执行。 (1)a&&b&&c 只有a为真时,才需要判断b的值,只有a和b都为真时, 才需要判断c的值。 (2)a||b||c 只要a为真,就不必判断b和c的值,只有a为假,才 判断b。a和b都为假才判断c

例:(m=a>b)&&(n=c>d) 当a=1,b=2,c=3,d=4,m和n的原值为1时,由于“a>b”的值 为0,因此m=0,而“n=c>d”不被执行,因此n的值不是0而 仍保持原值1。

§5.2 逻辑运算符和逻辑表达式(续)用逻辑表达式来表示闰年的条件 能被4整除,但不能被100整除。 能被4整除,又能被400整除

答 案

(year%4==0&&year%100!=0)||year%400==0

值为真(1)是闰年,否则为非闰年。

§5.3 if语句一

.If语句的三种基本形式(1)if (表达式) 语句 ch=getchar(); if(ch>= a &&ch<= z ) ch=ch- a + A ; putchar();

表达式 真(非0)语句

假 (0)

ch=getchar(); if(ch>= a &&ch<= z ) {ch=ch- a + A ; putchar();}

§5.3 if语句(续)(2)if(表达式) else 语句1 语句2

非0 条件 语句1

0 语句2

例:if(x>y) printf(“%d”,x); else printf(“%d”,y);

§5.3 if语句(续)(3)if(表达式1)语句1 else if(表达式2)语句2 else if(表达式3)语句3 …… else if(表达式m)语句m else 语句n

§5.3 if语句(续)例:if (number>500)cost=0.15; else if(number>300)cost=0.10; else if(number>100)cost=0.075; else if(number>50)cost=0.05; else cost=0;

§5.3 if语句(续)说明:(1).3种形式的if语句中在if后面都有表达式, 一般为逻辑表达式或关系表达式。 (2).第二,第三种形式的if语句中,在每个 else前面有一个分号,整个语句结束处有一 个分号。 (3).在if和else后面可以只含有一个内嵌的操 作语句,也可以有多个操作语句,此时用花 括号将几个语句括起来成为一个复合语句。

§5.3 if语句(续)例5.1 输入两个实数,按代数值由小到大的顺序输出这两 个数。 #include<stdio.h> a>b void main() {float a,b,t; y scanf(“%f,%f”,&a,&b); n T=a if(a>b) A=b {t=a; B=t a=b; b=t;} printf(“%5.2f,%5.2f\n”,a,b);}

…… 此处隐藏:92字,全部文档内容请下载后查看。喜欢就下载吧 ……
C语言程序设计(第三版)第五章-谭浩强.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
    ×
    二维码
    × 游客快捷下载通道(下载后可以自由复制和排版)
    VIP包月下载
    特价:29 元/月 原价:99元
    低至 0.3 元/份 每月下载150
    全站内容免费自由复制
    VIP包月下载
    特价:29 元/月 原价:99元
    低至 0.3 元/份 每月下载150
    全站内容免费自由复制
    注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
    × 常见问题(客服时间:周一到周五 9:30-18:00)