第三讲 c语言 分支结构(if)教材
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
运算结果: d=1,a=1,b=2,c=2
3.2.1 条件语句(if) ——3. 多分支语句
语句一般格式
if (表达式1) {语句1} else if (表达式2) {语句2}
…… else if (表达式m) {语句m} else {语句 n}
Y
表达式1?
N
语句例1 如: Y
表达式2?
if (语a<句0)2 x= -1 ;
语句一般格式
if (表达式) {语句}
流程图
N-S结构图
表达式非0?
Y 语句
N
表达式非0
T
F
语句
⑴ if (x>0) m++; ⑵ if ( a>b )
{ c=a; a=b; b=c; }
2020/7/18
基本数据类型
2.4.3 关系运算符和关系表达式
关系运算符: > < >= <= == !=
C 语言程序设计
选择结构程序设计
本节主要内容
1 if语句 1. 简单单分支语句 2. 双分支语句 3. 多分支语句 4. if语句的嵌套
2 switch语句 1. switch语句的一般形式与break 语句 2. switch语句的简单应用
2020/7/18
3.2.1 条件语句(if)
——1. 单分支语句(简单if语句格式)
x
else
if (money>50) else cost=1; 0
<coxst≤=05.905;
pห้องสมุดไป่ตู้ice=money*cost;
2020/7/18
3.2.1 条件语句(if)——4. if语句的嵌套
如果if的内嵌语句中又使用了一个if语句,则构 成if语句的嵌套。
简单if语句的嵌套形式 if (表达式) if 语句
例: a=0; b=1; c=2; d=a++&&b++&&- -c; 运算结果: d=0,a=1,b=1,c=2
(2)a || b || c 求解方法:只要a为真(非0),就不必判断b和c;只有a 为假,才判断b;a和b都为假,才判断c。
例a=0; b=1; c=2;
d=a++||b++||- -c;
if (3) if (c<=100)
配
if (c>=50) printf("50<=c<=100\n");
对
else printf("c<50\n");
?
else
if (c<=150) printf("100<c<=150\n");
else printf("c>150\n");
2020/7/18
if再(a>例b)如:
2.逻辑“真”、“假”的判断
非0→逻辑“真” 0 →逻辑 “假”
3.逻辑表达式
如: 判断闰年的逻辑表达式:
(year%4= =0 && year %100 !=0) || year %400= =0
注意: 在逻辑表达式的求解中,并不是所有的 逻辑运算符都被执行,只是在必须执行下一个 逻辑运算符才能求出表达式的解时,才执行该 运算符。 (1)a && b && c 求解方法:只有a为真(非0),才需要判断b的值,只 有a和b都为真,才需要判断c的值。只要a为假,就不必 判断b和c,运算立即中止。
{
if(a>c) if(a>b)
{
if(a>c)
} iefl(sae>die)fl(smmae>==d12;;)
1.关系运算的结果是整型
1 表示真 0 表示假
2.关系表达式
x>y+1 a!=b+1
x= =0
13>27 结果为 0
13<=21 结果为1
3.特别注意:
设a=3,b=2,c=1, 则a>b>c的值为0
a>0 == b>0 表示a、b要么都是正数,要么都不是整数,等价于
( a>0) ==( b>0)
3.2.1 条件语句(if)
else printf(" %c\n",ch) ;
2020/7/18
基本数据类型
2.4.4 逻辑运算符和逻辑表达式
1.逻辑运算符
&&(与) | | (或) ! (非) 一元运算符
x && y x和y都为1时,结果为1,否则为0
x | | y x和y都为0时,结果为0,否则为1
!x
x为0时,结果为1,x为1时,结果为0
可以是各种形式的 if语句
双重(或多重)分支if语句的嵌套形式
if (表达式) {if 语句}
如果是简单if语句, 必须用“{ }”括起
else {if 语句}
可以是各种形式的 if语句
2020/7/18
例if (如cif<(=:c<1=0100)0)
{i{⑴f (cif>(=ciefl5<s(0e=c>)1p=0pr5i0rn0)itn)f(pt"fr(ci"<n5t5f00("\<n5="0)c<;<==c<1=0100\0n\"n)";);
Y
else if (a==0 ) x=语0句; m else x=1 ;
N…
表达式m ?
N 语句n
2020/7/18
if语句的简单应用
例如:商场促销,购物500元以上,8折;购物300元 以上,85折;购物100元以上,9折;购物50元以上 ,95折;购物50元以下,不打折。根据消费量, 计算实际价格。
——2. 双分支语句
语句一般格式
if (表达式) {语句1} else {语句2}
流程图
N-S结构图
Y 语句1
表达式非0?
N 语句2
表达式非0
T
F
语句1 语句2
⑴ if (x>0) m++; else m--;
⑵ if ( ch>= 'a' && ch<= 'z' )
{ ch=ch-32 ; printf(" %c\n",ch); }
设:消费量为 mo0ne.8y;*x折扣为 cost5; 0实0际<花x费 price
if (mon0e.8y5>*5x00) cost=300.08;< x ≤ 500
else if 0(m.9o*xney>300) co1s0t0=0<.85x; ≤ 300
y= els0e.9if5(*mx oney>100)5c0os<t=x0.9≤;100
e}lse ipfr(icn>tf=(5"0c<) 5p0r\inn"tf)("50<=c<=100\n");
}e{lse
与 哪 个
(2) if (icf <(c=<1=0105)0) printf("100<c<=150\n");
if (ecls>e=p5r0in)tfp("rcin>1tf5(0"\5n"0)<; =c<=100\n"); } else printf("c<50\n")