C语言程序设计能力教程(第二版) 教学课件 ppt 作者 赵凤芝 第4章 选择结构程序设计

上传人:E**** 文档编号:89423677 上传时间:2019-05-25 格式:PPT 页数:30 大小:296KB
返回 下载 相关 举报
C语言程序设计能力教程(第二版) 教学课件 ppt 作者 赵凤芝 第4章 选择结构程序设计_第1页
第1页 / 共30页
C语言程序设计能力教程(第二版) 教学课件 ppt 作者 赵凤芝 第4章 选择结构程序设计_第2页
第2页 / 共30页
C语言程序设计能力教程(第二版) 教学课件 ppt 作者 赵凤芝 第4章 选择结构程序设计_第3页
第3页 / 共30页
C语言程序设计能力教程(第二版) 教学课件 ppt 作者 赵凤芝 第4章 选择结构程序设计_第4页
第4页 / 共30页
C语言程序设计能力教程(第二版) 教学课件 ppt 作者 赵凤芝 第4章 选择结构程序设计_第5页
第5页 / 共30页
点击查看更多>>
资源描述

《C语言程序设计能力教程(第二版) 教学课件 ppt 作者 赵凤芝 第4章 选择结构程序设计》由会员分享,可在线阅读,更多相关《C语言程序设计能力教程(第二版) 教学课件 ppt 作者 赵凤芝 第4章 选择结构程序设计(30页珍藏版)》请在金锄头文库上搜索。

1、第四章 选择结构程序设计,4.1 选择结构程序设计简介,1. 选择结构(分支结构),选择结构是先给出问题中需要用来进行判断的条件,然后根据实际情况对给定的条件进行判断,依据条件成立与否执行不同操作语句的一种程序设计方法。 类似下列问题均需用选择结构解决。 a. 从键盘输入一个数,如该数为正,打印,否则不打印; b. 打印考试成绩不及格的学生名单出来; c. 解一元二次方程,求出相应的实根或复根。,2. 选择结构标准流程图,执行流程: 先计算条件表达式的值,如果为条件的值为Y(成立),则选择语句1执行;否则,如果为条件的值为N(不成立),则选择语句2执行。,例1 编写程序,判断学生成绩是否合格。

2、,程序如下:,#include main( ) int score; printf(“Please input a students score:“); scanf(“%d“, ,本节 重点,一. if语句的三种基本形式,if语句的简单形式(缺省形式) 格式:if(表达式) 语句; 功能:判断表达式的值,若为非 0,执行语 句,否则,跳过语句继续,4.2 if语句的典型形式,【例4.2】:用if形式编写程序,判断变量x、y 的值的大小关系并输出对应的数值。,问题分析: 本例要求判断变量x,y的值的大小关系。首先应该从键盘输入变量x,y的值,然后再采用缺省形式if语句判断它们的大小关系并输出对应

3、的数值。,运行程序,格式: if(表达式) 语句组1 else 语句组2 功能:判断表达式的值,若为非0,执行语句组1,否则执行语句组 2。,main( ) int a; scanf(“%d”, ,2. if语句的标准形式,通常判断某年为闰年有两种情况: (1) 年号能被4整除但不能被100整除; (2) 年号能被400整除。 假设用整型变量Y表示该年的年号。 上述两种情况分别可以表示为: (1) (Y%4=0)&(Y%100!=0) (2) Y%400=0 最终判断某年是否为闰年的表达式为: (Y%4=0)&(Y%100!=0) | (Y%400=0),【例4.3】:设计程序,判断某年是否为

4、闰年。,问题分析:,流程图:,#include main() int Y,leap; printf(“Please insert the year number:“); scanf(“%d“, ,程序如下,运行程序,三、 嵌套if语句,在一个if语句又包含一个或多个if语句(或者说if语句中的执行语句本身又是if结构语句的情况)称为if语句的嵌套。,功能: 先判断表达式1的值,若表达式1为非0,再判断表达式2的值,若表达式2为非0,则执行语句1,否则执行语句2。若表达式1的值为0,再判断表达式3的值,若表达式3为非0,则执行语句3,否则执行语句4。,嵌套if语句的流程图,有关嵌套if语句使用的

5、几点说明: 1. 嵌套if语句使用非常灵活,不仅标准if语句可以嵌套,其它if语句也可以嵌套;被嵌套的if语句可以是标准if语句,也可以是其它if语句。 2. 被嵌套的if语句本身又是一个嵌套的if语句,则称为if语句的多重嵌套。 3. 在多重嵌套的if语句中,else总是与离它最近并且没有与其它else配对的if是配对关系。,【例4.4】从键盘上输入3个实数a,b,c,求出 其中的最小值并输出其值。,#include main( ) float a,b,c,min; printf(“Please input a,b,c:“); scanf(“%f%f%f“, ,程序如下:,运行程序,四、多分

6、支ifelse if语句形式,语法格式: if(表达式1) 语句1; else if(表达式2) 语句2; else if(表达式n-1) 语句n-1; else 语句n;,功能:首先计算表达式1的值,若值为真,则执行分支语句1;否则,再计算表达式2的值,若值为真,则执行分支语句2,如果所有if后的表达式都不为真,则执行分支语句n。,if-else-if形式,【例4.5】编写程序,要求输入一个学生的考试成绩,输出其分数和对应的等级。,问题分析:学生成绩共分5个等级:小于60分为“E”;6070分为“D”;7080分为“C”;8090分为“B”;90分以上为“A”。,#include main(

7、) int f; printf(“Please input a students score:“); scanf(“%d“, ,程序如下,运行程序,1.if语句中的条件表达式必须用()括起来,并且 在括号外部不能加分号; 2.if或else子句后面的执行语句均有分号; 3.else是if语句的子句,必须与if搭配使用,不可 以单独使用; 4.当if或else子句后是多个执行语句构成的语句组 时(复合语句),必须用 括起来,否则各子句 均只管到其后第一个分号处; 5.if或else子句后只接单个分号时,应把之作为空 语句处理。,有关if语句使用的几点说明:,4.3条件运算符与条件表达式,条件运算

8、符是C语言中唯一的一个三目运算符。,(表达式1)?(表达式2):(表达式3),1. 格式,判断表达式1的值,若为非0,则表达式2的值为条件表达式的值,否则,表达式3的值为条件表达式的值。,2 功能:,x=(ab)?a:b 当 a=9,b=5时,x=9,3 条件运算符的优先级:高于赋值,低于其他,4 结合性:从右向左,z=(ab)?a:(ad)?c:d,5 数据类型可以不同:,xy?a:b,执行:int x=10,y=9; int a,b,c; a=(- -x=y+)?-x:+y; b=x+; c=y; 后a,b,c?,a, b, c A) 9, 9, 9 B) 8, 8, 10 C) 8,10

9、, 9 D) 1,11,10,X为9 y为10,X为8,程序如下: include main() int a,b,max; printf(“Please input a,b:“); scanf(“%d%d“, ,【例4.6】用条件表达式输出最大值。,运行程序,格式:switch(表达式) case 常量表达式1: 语句1 case 常量表达式2: 语句2 case 常量表达式n: 语句n default: 语句n+1 ,先计算表达式的值,判断此值是否与某个常量表达式的值匹配,如果有,控制转向其后相应的语句,若无,检查 default。,功能:,多重分支的条件语句 switch,4.4 swit

10、ch语句,例:按照考试成绩输出百分制分数段。,main( ) char grade; scanf (“%c”, ,输入字母B,输出:70-84 60-69 60 Error,?,printf(“70-84n”);,printf(“70-84n”); break;,2 case 后的每个常量表达式必须各不相同;,说明:,1 括号内的表达式可以是 int ,char;,3 case 和 default的位置是任意的;,每一个case之后应有一个 以跳出switch( ) 结构;,break(间断语句),5 每个case 之后的执行语句可多于一个,但不必加 ;,6 允许几种case情况下执行相同的语

11、句,不必每个都写。,4.6 选择结构程序设计举例,例1 银行如何根据存入现金和年限计算利息?,银行计算利息的情况如下: 1、当存储年限Y为1年以上时,月息r为5 ; 2、当存储年限Y为2年以上时,月息r为6 ; 3、当存储年限Y为3年以上时,月息r为6.5 ; 4、当存储年限Y为5年以上时,月息r为8 ; 5、当存储年限Y为8以上年,月息r为10 ;,main( ) int Y; float m, r, t ; /* 本金,月利率,本利合计*/ printf(“Input money and year =?“); scanf(“%f%d“, ,程序如下:,例2 试编程判断某人是否属于肥胖体型。

12、,分析:根据身高与体重的关系,医务工作者经过广泛的调查分析得出以下“体指数”与肥胖程度的关系: 体指数t=体重w/(身高h)2 当t=27时,为肥胖。 其中w单位为千克,h单位为米。,main( ) float h,w,t; printf(“Please input w,h:“); scanf(“%f,%f“, ,程序如下:,例3 编制完成加,减,乘,除运算的计算器程序。,分析: 编制计算器程序,就是编制一个在输入两个运算数及一个运算符后就可以进行运算的程序。要进行不同的运算,需要根据所输入的运算符号才能决定: 若输入的运算符号为“+”时,就进行加法运算;若输入“-”时,即进行减法运算;当输入“*”时,即进行乘法运算;当输入“/”时,即进行除法运算;当输入为其它字符时,则给出出错信息。,main( ) float a,b,c; char op; printf(“Please input a,op,b:“); scanf(“%f%c%f“, ,程序如下:,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号