




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、2022/8/171本章主要内容4.1 if语句4.1.1 if语句的一般形式4.1.2 if语句的嵌套4.2 switch语句4.2.1 switch语句的一般形式4.2.2 break语句4.3 选择结构程序设计举例第1页,共31页。2022/8/172简单分支语句语句一般格式 if (表达式) 语句功能:计算表达式的值,如果是一个非0值(即逻辑真),就执行内嵌语句,否则(即逻辑假)跳过内嵌语句,顺序执行后续语句。 内嵌语句,可为:赋值语句函数调用语句控制语句复合语句空语句可为算术、关系、逻辑、赋值等表达式第2页,共31页。2022/8/173简单分支语句的算法:例如: if (x0) m
2、+; if ( ab ) c=a; a=b; b=c; 表达式非0 T F 语句N-S结构图语句流程图NY表达式非0?第3页,共31页。2022/8/174双重分支语句 语句一般格式if (表达式) 语句1 else 语句2 功能:计算表达式的值,如果它的值是一个非0值(逻辑真),就执行内嵌语句1,之后跳过内嵌语句2,执行后续语句;否则跳过内嵌语句1,执行内嵌语句2,之后执行后续语句。 第4页,共31页。2022/8/175双重分支语句的算法:例如: if (x0) m+; else m-; if ( ch= a & ch= z ) ch=ch-32 ; printf( %cn,ch); el
3、se printf( %cn,ch) ; 表达式非0 T F 语句1 语句2N-S结构图 语句1 语句2流程图NY表达式非0?第5页,共31页。2022/8/176多重分支语句 语句一般格式if (表达式1) 语句1 else if (表达式2) 语句2 else if (表达式m) 语句m else 语句 n功能:依次计算并判断表达式i,为非0时执行后面的语句,都为0时,执行语句n无论执行完那个语句分支,都转到后续语句第6页,共31页。2022/8/177多重分支语句的算法流程图表达式2?表达式1?语句n 语句1 语句2 语句mYNYNNY表达式m ?第7页,共31页。2022/8/178多
4、重分支语句的算法N-S结构图 表达式1? T F 表达式2? 语句1 T F 语句2 表达式m? T F 语句m 语句n例如:if (a=A & ch=65 & ch =A & ch=A & ch=Z ? ch+32:ch);putchar ( n)第10页,共31页。2022/8/17114.1.2 if语句的嵌套如果if的内嵌语句中又使用了一个if语句,则构成if语句的嵌套。 【例4.a】比较两个整数的关系。#include main( ) int x, y; printf (Enter integer X and Y:); scanf (%d%d, &x, &y); if ( x !=
5、y ) if ( x y ) printf (XYn); else printf (XYn); else printf (X=Yn);应该正确判断:if的内嵌语句if和else的配对运行jc4_a提倡缩格书写有利于阅读程序第11页,共31页。2022/8/1712 if语句嵌套的形式简单if语句的嵌套形式 if (表达式) if 语句双重(或多重)分支if语句的嵌套形式 if (表达式) if 语句 else if 语句 可以是各种形式的if语句可以是各种形式的if语句如果是简单if语句,必须用“ ”括起第12页,共31页。2022/8/1713例如: if (c=50) printf(50=
6、c=100n); if (c=50) printf(50=c=100n);else printf(c50n);else if (c=150) printf(100c150n); if (c=50) printf(50=c=100n);else printf(cb) if(ac)if(ad) m=1; else m=2; else m=3;问题:哪一个 else 和哪一个 if 相匹配?规则:在嵌套的ifelse语句中,else总是与上面的离它最近的尚未配对的if 配对。第14页,共31页。2022/8/1715举例 【例4.4】输入一个数,判断它是奇数还是偶数,如果是奇数则进一步判断它是否为5
7、的倍数。 定义变量x输入x的值 x是奇数 T F 输出“odd” x是5的倍数 输出“even” T F是5的倍数第15页,共31页。2022/8/1716程序:main( ) int x; scanf (%d,&x); if (x%2 != 0) printf(%d is an odd n,x) ; if (x%5=0) printf(%d is the times of 5 n,x) ; else printf(%d is an even n,x) ;运行jc4_4思考:如果没有,算法和输出如何?第16页,共31页。2022/8/1717学习if语句的难点if else 语句的配对正确用表
8、达式描述条件例如:当x大于5小于10时令x自增 if ( 5x10 ) x+;正确判断内嵌语句例如:if(x5 & x 0时,方程有两个不相等的实根:x1=(-b+sqrt(d)/(2*a) x2=(-b-sqrt(d)/(2*a) 当d 0 计算重根 T F 输出重根 计算实根 计算虚根 输出实根 输出虚根第26页,共31页。2022/8/1727程序:#include math.hmain( ) float a,b,c,d,x1,x2,lp,ip; scanf(%f%f%f,&a,&b,&c); printf(the equation ); if (fabs(a)1e-6) printf(
9、is not quadratic); else d=b*b-4*a*c; if (fabs(d)1e-6) /* 不相等的实根 */ x1=(-b+sqrt(d)/(2*a); x2=(-b-sqrt(d)/(2*a); printf(has two real roots:n) ; printf(x1=%8.4f, x2=%8.4fn,x1,x2); else /* 虚根 */ lp=-b/(2*a);ip=sqrt(-d)/(2*a); printf(has two complex roots: n); printf(x1=%8.4f+%8.4fin,lp,ip); printf(x2=%8
10、.4f-%8.4fin,lp,ip); 运行jc4_6第28页,共31页。2022/8/1729举例(续):【例4.b】输入年份,判别该年是否为闰年。 思路:年份year为闰年的条件为 能够被4整除,但不能被100整除的年份; 能够被400整除的年份。只要满足任意一个就可以确定它是闰年。例如:1996年、2000年是闰年1998年、1900年不是闰年设定标志变量leap,只要符合其中一个条件的就是闰年,令 leap =1;否则令 leap=0 第29页,共31页。2022/8/1730算法:定义变量year、leap 输入年份year 能被4整除且 不能被100整除? T F 能被400整除? leap=1 T F leap = 1 leap = 0 leap=1? T F 是闰年 不是闰年year%400=0year%4=0 & year%100 !=0第30页,共31页。2022/8/1731程序:main( ) int year, leap ; scanf(%d, &year); if (year%4=0 & year%10
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025深圳市汽车租赁合同书范文
- 技术总监聘用合同书范文二零二五年
- 合同作废协议
- 二零二五版全新货物外包运输合同书
- 知识产权业务合作合同二零二五年
- 二零二五版土地及厂房租赁合同范例
- 2025标准股权投资合同模板
- 2025修订版大学生实习实践合同协议范本参考模板
- 2025标准酒店员工劳动合同
- 2025授权合同(标准)
- 交房通知短信(5篇)
- 高中英语 A precious family dinner说课课件
- 工艺联锁图识读
- 2023年中南大学湘雅二医院康复医学与技术岗位招聘考试历年高频考点试题含答案解析
- GB/T 21567-2008危险品爆炸品撞击感度试验方法
- 卫生人才培养方案计划
- DB64-T 1684-2020 智慧工地建设技术标准-(高清可复制)
- 婚丧嫁娶事宜备案表
- “三级”安全安全教育记录卡
- 风生水起博主的投资周记
- 赛艇赛事活动推广方案
评论
0/150
提交评论