if选择结构程序设计.ppt

上传人:za****8 文档编号:14651536 上传时间:2020-07-27 格式:PPT 页数:44 大小:240KB
收藏 版权申诉 举报 下载
if选择结构程序设计.ppt_第1页
第1页 / 共44页
if选择结构程序设计.ppt_第2页
第2页 / 共44页
if选择结构程序设计.ppt_第3页
第3页 / 共44页
资源描述:

《if选择结构程序设计.ppt》由会员分享,可在线阅读,更多相关《if选择结构程序设计.ppt(44页珍藏版)》请在装配图网上搜索。

1、第四章 选择结构程序设计,宋秀琴 内蒙古科技大学,选择结构程序,程序的流程由多路分支组成,在程序的一次执行过程中,根据不同的情况,只有一条支路被选中执行,而其它分支上的语句被直接跳过。,在C语言中选择是用if语句和系统提供的switch语句实现的。,4.1 if语句的两种形式,1、 if(表达式)语句 2、 if (表达式) 语句1 else 语句 2 简称 if-else双分支,单分支,4.1.1 if (表达式)语句,格式:if (表达式) 语句 功能:当表达式的值为1(真)时执行语句,表达式的值为0(假)时跳过(不执行)语句。 表达式为:常量表达式、关系表达式、逻辑表达式等,流程图,例如

2、:从键盘输入一个正数则输出 “这是正数”。输入一个零或负数则不输出任何信息。,#include main() int a; scanf(“%d”, ,a0,输出这是正数,结束,真,假,例1:输入两个正整数,输出其中较大的数。,#include main() int a,b,max; scanf(“%d,%d”, ,maxb,真,max=b,假,例2:从键盘输入一个字符,判断是否英文字母,是输出yes,不是英文字母不输出任何信息。,问题的关键是If 条件的设置 变量c满足英文字母的条件是 a到z 或A到Z 用表达式 c=a c=getchar(); if(c=a ,c=a else max=b;

3、,if(ab) printf(“%d”,a); else printf(“%d”,b);,ab,max=a,max=b,真,假,例4:从键盘输入一个字符,判断是否英文字母,是输出yes,不是英文字母输出no。(上例),#include main() char c; c=getchar(); if(c=a ,两种if结构的比较,#include main() char c; c=getchar(); if(c=a ,#include main() char c; c=getchar(); if(c=a ,说明:,if 和else 后边默认的只能识别一条语句,如有两条语句需要同时执行时要加一个花括

4、号 组成一条复合语句,否则只能执行一条单语句。,例5 求分段函数的值,x+5 x0 y= x-5 x=0,条件的设置 x0,X0,Y=x+5,Y=x-5,真,假,程序,#include main() float x,y; scanf(%f, ,复合语句,复合语句,课堂练习:从键盘输入两个数,按着由小到大的顺序输出,问题的关键:如果ab,交换a和b的值。否则不用交换。,4.3 条件表达式与if 语句,当if语句中表达式为真或为假时都给同一个变量赋值时,可以用条件表达式表示。 max=(ab)?a:b 或 y=(x0) ?(x+5) : (x-5);,4.4 if 语句的嵌套,If语句中可以是任何

5、合法的语句,也可以是if语句,当if语句中再有if语句称为if语句的嵌套。 if 语句的嵌套有两种格式 (1)在if子句中嵌套 (2)在else子句中嵌套,4.4.1 if 子句中嵌套,格式1 if (表达式1) if(表达式2) 语句1 else 语句2 else 语句3 格式2 if (表达式1) if(表达2) 语句1 else 语句2 不可少, 内嵌的if中不带else,内嵌,表达式1,表达式2,语句1,语句2,语句3,真,真,假,假,结束,格式1: if(表达式1) 语句1 else if(表达式2) 语句2 else 语句3 格式2: if(表达式1) 语句1 else if(表达

6、式2) 语句2,4.4.2 else 子句中嵌套,表达式1,表达式2,语句2,语句3,语句1,真,真,假,假,结束,例6:求分段函数的函数值,y=,1 (x0),0 (x=0),-1 (x0),条件的合并:x=0,程序,main() int x,y; scanf(“%d”, ,y= 条件合并为x=0,例7:求分段函数的函数值,1 (x0),0 (x=0),-1 (x0),main() int x,y; scanf(“%d”,注意:,1、内嵌的子句以缩进两个字符格式输入。 2、C语言中else 总是与它 上面最近的if语句配对。所以在if子句中内嵌的if语句如果没有else,则一定把内嵌的if语

7、句用括起来。 if( ) if () else 3、一般在else 子句中内嵌的if无论有无else 子句都不会产生二义性。尽量在else中嵌套。,练习:从键盘输入学生成绩,如果=90输出“优秀”,6089输出“良好”,=60输出“不及格”,#include main() float s ; printf(“请输入学生成绩:n); scanf(%f, ,4.4.3 多分支选择结构,当多条件中选择一种操作时用 if (表达式1)语句1 else if(表达式2)语句2 else if(表达式3) 语句3 else if(表达式n) 语句n else 语句n+1,简称为 if else if el

8、se,功能: 当前面条件为假时,检测后边的条件,当前面条件为真时不检测后边的条件。因此多条件中只有一个为真时,只执行一个操作。不要以为前面条件为真还检测后边的条件,这样就是实现多操作了。 应该是多条件中只有一个是真,只执行一个操作。,格式: if (表达式1) 语句1 else if(表达式2) 语句2 else if (表达式3) 语句3 else if(表达式n) else 语句n,流程图,真,真,真,真,假,假,假,例8,从键盘输入学生百分制成绩,输出相应的等级。 如果90分以上输出“优秀!”; 8089分输出“良好!”;7079分输出“中等!”;6069分输出“及格!”; 60分以下输

9、出“不及格”。 分析:多条件中选一个。,程序,main() float s; printf(“n input s:”); scanf(“%f”, ,条件进一步简化 s=80 成绩B输出“8089”;成绩C输出“7079”;成绩D输出“6069”;否则输出“60”。,例9:从键盘输入三个整数,按着由大到小的顺序输出来。,main() int a,b,c,t; scanf(“%d%d%d”, ,a中是最大数,b中是中数,c是最小数,不能使用if else if,例如:从键盘输入一个年份,判断是否闰年,闰年的条件是1、年份能被4整除但不能被100整除,2、年份能被4整除同时也能被400整除。满足其中

10、一个条件时这个年份是闰年。,main( ) int year; scanf(“%d”, ,例如:某商场销售商品,实行按比例优惠,优惠率 如下,货款在某200元以下不优惠,200元以上优惠7。5%,300元以上优惠10%,400元以上优惠15%,500元以上优惠20%。求应付货款。,Main() float num,cost; scanf(“%f”, ,例:征税问题:价格高于10000元的税率为5%,高于5000元税率为3%,高于1000元税率为2%,低于1000元不征税。请输入货物价格,输出税金。,提示:各段采用不同税率进行征收。 如:贷款为53000元,其中43000元以上按5%征收,高于5000元按3%征收,高于1000元按2%,1000元以下不征税,#include main() float price,tax=0; printf(“input price:n”); scanf(“%f”, ,上例:如果不分段征税,如高于10000元的都按5%,高于5000元都按3%,高于1000元都按2%征收。,main() float price,tax; scanf(“%f”, ,从键盘输入一个字符,判断它是英文?数字?空格?其他字符?并输出相应信息。,

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!