c语言程序设计ppt_第3章_分支结构程序设计

上传人:luoxia****01812 文档编号:57375057 上传时间:2018-10-21 格式:PPT 页数:38 大小:1.05MB
返回 下载 相关 举报
c语言程序设计ppt_第3章_分支结构程序设计_第1页
第1页 / 共38页
c语言程序设计ppt_第3章_分支结构程序设计_第2页
第2页 / 共38页
c语言程序设计ppt_第3章_分支结构程序设计_第3页
第3页 / 共38页
c语言程序设计ppt_第3章_分支结构程序设计_第4页
第4页 / 共38页
c语言程序设计ppt_第3章_分支结构程序设计_第5页
第5页 / 共38页
点击查看更多>>
资源描述

《c语言程序设计ppt_第3章_分支结构程序设计》由会员分享,可在线阅读,更多相关《c语言程序设计ppt_第3章_分支结构程序设计(38页珍藏版)》请在金锄头文库上搜索。

1、C语言程序设计(第3版)张磊编著 清华大学出版社,C语言程序设计(第3版)张磊编著, 2012年10月清华大学出版社出版。 该教材面向程序设计初学者编写, 适合将C语言作为第一门程序设计语言的高校学生。该教材理论教学和实验教学合二为一, 在每章之后均设有实验指导。实验指导分为基础实验和综合实验两部分。 基础实验紧密结合教材中的例题程序设置,以“理解验证完善扩充提高”为实验教学线索,重在巩固课堂教学知识,提高调试程序及完善程序的能力; 综合实验以算法设计和程序实现为重点,训练运用所学知识解决实际问题的能力。该教材同时配有程序资源和试题库。Email:,C语言程序设计(第3版)课件,C语言程序设计

2、(第3版)张磊编著 清华大学出版社,C语言程序设计第3章 分支结构程序设计,C语言程序设计(第3版) 张 磊 编著21世纪高等学校规划教材 清华大学出版社,C语言程序设计(第3版)张磊编著 清华大学出版社,第3章 分支结构程序设计,3.1 简单条件的分支程序 3.2 复合条件的分支程序 3.3 用switch语句实现分支控制 3.4 goto语句 3.5 条件运算 3.6 分支结构应用举例,C语言程序设计(第3版)张磊编著 清华大学出版社,3.1 简单条件的分支程序,3.1.1判断优等生程序 3.1.2关系表达式 3.1.3 if语句,C语言程序设计(第3版)张磊编著 清华大学出版社,3.1.

3、1判断优等生程序,例3-1 输入一个学生的两门课的成绩,若平均成绩不低于90分,则显示“优等生”,否则显示“要加油啊!”。 1程序 /* program e3-1.c */ #include void main() int a1,a2,ave;printf(“输入两门课的成绩:“);scanf(“%d,%d“, ,2程序解析 程序中的if-else命令用于实现分支控制,分支处理的条件是“ave=90”。当ave=90成立时,执行语句“printf(”优等生!n“);”,输出字符串“优等生!”;否则,执行语句“printf(”要加油啊!n“);”,输出字符串“要加油啊!”。 第一次执行结果 输入

4、两门课的成绩:88,96 优等生! 第二次执行结果 输入两门课的成绩:77,85 要加油啊!,C语言程序设计(第3版)张磊编著 清华大学出版社,3.1.2关系表达式,关系表达式:由关系运算符连接若干个算术表达式构成的式子。分支结构的条件部分,通常使用关系表达式表示。如,程序e3-1.c中if命令的分支处理条件“ave=90” 1关系运算符,C语言程序设计(第3版)张磊编著 清华大学出版社,3.1.2关系表达式,1关系运算符,C语言程序设计(第3版)张磊编著 清华大学出版社,3.1.3 if语句,if语句的一般形式 if语句的简单形式 if语句的嵌套结构 if-else if结构,C语言程序设计

5、(第3版)张磊编著 清华大学出版社,3.1.3 if语句,结构if(表达式)语句组1else语句组2 其执行过程 如果表达式的值为非0, 则执行“语句组1”,然后执行紧接“语句组2”之后的语句;否则,跳过语句组1而执行语句组2,然后继续向下执行。,1if语句的一般形式,C语言程序设计(第3版)张磊编著 清华大学出版社,3.1.3 if语句-if语句的一般形式,例3-2 计算分段函数的值。,/* program e3-2.c */ #include void main() int x,y;printf(“X=“);scanf(“%d“, ,C语言程序设计(第3版)张磊编著 清华大学出版社,3.1

6、.3 if语句-if语句的简单形式,结构 if(表达式) 语句组执行过程 若表达式的值非0(即真), 则执行语句组,然后继续执行if语句的下一个语句;否则,不执行语句组,而直接执行语句组之下的语句,即if语句的下一个语句。 即:该if语句的功能就是根据条件(表达式的值),决定是否执行语句组。,C语言程序设计(第3版)张磊编著 清华大学出版社,3.1.3 if语句-if语句的简单形式,例3-3 输入一个学生两门课的成绩,若平均成绩不低于90分,则显示“优等生”。, 程序实现 /* program e3-3.c */ #include void main() int a1,a2,ave;print

7、f(“输入两门课的成绩,数据之间用“,”分隔:“);scanf(“%d,%d“, , 算法设计,C语言程序设计(第3版)张磊编著 清华大学出版社,3.1.3 if语句-if语句的简单形式,例3-4 输入一个整数x,若是偶数,则输出它。, 程序实现 /* program e3-4.c */ #include void main() int x;printf(“Input x: “);scanf(“%d“, , 算法设计,C语言程序设计(第3版)张磊编著 清华大学出版社,3.1.3 if语句-if语句的简单形式,例3-5 输入两个整数,输出其中的最大数。, 程序实现 /* program e3-5

8、.c */ #include void main() int x,y,max;printf(“Input x,y: “); scanf(“%d,%d“, , 算法设计,C语言程序设计(第3版)张磊编著 清华大学出版社,3.1.3 if语句-if语句的嵌套结构,当一个if语句的语句组内又使用了if语句时,就形成了if语句的嵌套结构。,C语言程序设计(第3版)张磊编著 清华大学出版社,3.1.3 if语句-if语句的嵌套结构,例3-6 输入一个学生两门课的成绩,若平均成绩小于0,则显示“数据错误!”;否则,若平均成绩不低于90分,则显示“优等生”,否则显示“要加油啊!”。,算法设计 根据平均成绩的

9、计算结果,将有两个大的分支: 分支一:平均成绩小于0,显示“数据错误!”; 分支二:平均成绩不小于0,进一步进行小分支处理。,#include void main() int a1,a2,ave;printf(“输入两门课的成绩:“);scanf(“%d,%d“, ,C语言程序设计(第3版)张磊编著 清华大学出版社,3.1.3 if语句- if-else if结构,一般结构 if(表达式1) 语句组1 else if(表达式2) 语句组2 else if(表达式3) 语句组3 . . . else if(表达式n) 语句组n else 语句组n+1,执行过程 从上到下逐个对条件进行判断, 一旦

10、发现条件满足就执行与它有关的语句组,其下的所有条件都不再判断,当然它们的语句组也不被执行;当任何一个条件都不满足时,执行最后一个语句组n+1。,C语言程序设计(第3版)张磊编著 清华大学出版社,3.1.3 if语句- if-else if结构,例3-7 计算分段函数值,#include void main() float x,y;printf(“Input: “);scanf(“%f“, ,C语言程序设计(第3版)张磊编著 清华大学出版社,3.2 复合条件的分支程序,3.2.1 使用新标准的优等生程序 3.2.2 逻辑表达式,C语言程序设计(第3版)张磊编著 清华大学出版社,3.2.1 使用新

11、标准的优等生程序,例3-9 输入一个学生的两门课的成绩,若每门课的成绩都不低于90分,则显示“优等生”,否则显示“要加油啊!”。,1. 程序 #include void main() int a1,a2;printf(“输入课程成绩:“);scanf(“%d,%d“, ,2. 程序解析 程序中的if-else命令实现分支控制,分支处理的条件由逻辑表达式“a1=90&a2=90”表示,这是一个复合条件,其中的符号“&”称为逻辑“与”运算,它表示“a1=90”与“a2=90”都成立时,复合条件才成立。,C语言程序设计(第3版)张磊编著 清华大学出版社,3.2.2 逻辑表达式,逻辑运算符实现了多个关

12、系表达式的连接,通过逻辑运算符将多个条件组合在一个表达式中,用于处理实现多条件判断问题。 1逻辑运算符,2逻辑表达式 将关系表达式用逻辑运算符连接起来构成的式子称为逻辑表达式。ab&ac数学不等式(x+6)y(x-3) 对应的的逻辑表达式如下:y(x-3),C语言程序设计(第3版)张磊编著 清华大学出版社,3.2.2 逻辑表达式,3逻辑运算符的优先级和结合性 !高于& ,&高于|。 !高于算术运算符,&、|低于关系运算符。 &、|是左结合的,!是右结合的。,4逻辑表达式的值逻辑表达式的值是一个逻辑值。,C语言程序设计(第3版)张磊编著 清华大学出版社,3.2.2 逻辑表达式,例3-12 设用变

13、量year表示年份,写出满足闰年条件的逻辑表达式。 解题分析 当某一年份是400的整倍数或者是4的整倍数、但不是100的整倍数时该年为闰年。 当year是400的整倍数时为闰年:year%400=0 当year是4的整倍数、但不是100的整倍数时为闰年:year%4=0&year%100!=0 对于年份year,满足上述任何一个条件均为闰年:year%400=0|year%4=0&year%100!=0 对于给定的年份year,若该逻辑表达式的值为1,则为闰年。,C语言程序设计(第3版)张磊编著 清华大学出版社,执行过程 首先计算switch后面表达式的值,然后与第一个case的“常量”进行比

14、较,若不相等,则跳过其下的语句组,再与下一个case的“常量”进行比较;若与某一个case的“常量”相等,则从其下的语句组开始,依次向下执行各语句组的语句,直至遇到一个强制中断语句break或执行完最后一个语句组语句为止。当所有case都不符合要求时,执行default下的语句组语句。一般格式中的“default:”及其语句组允许缺省。,3.3 用switch语句实现分支控制,switch语句是专门用于多路分支选择的语句,适用于if-else if式的结构。switch语句格式,switch(表达式) case 常量1: 语句组1 case 常量2: 语句组2 case 常量n: 语句组n d

15、efault: 语句组n+1 ,C语言程序设计(第3版)张磊编著 清华大学出版社,3.3 用switch语句实现分支控制,例3-13 switch执行过程示例程序。,#include void main() int i;scanf(“%d“, ,程序中的“break”为中断命令,功能是终止switch语句,使程序立即执行switch语句的后续语句,即“printf(“n“);”。,C语言程序设计(第3版)张磊编著 清华大学出版社,3.3 用switch语句实现分支控制,例3-14 缺省case语句组的程序举例。,#include void main() char result;scanf (“%c“, ,任何一个case的语句组允许为空。,switch表达式通常为整型值或字符型值,case中常量的类型应与之相应。 case中的“常量”位置允许是常数表达式,但不允许是变量表达式。,C语言程序设计(第3版)张磊编著 清华大学出版社,3.4 goto语句,goto语句是一种无条件转移语句,主要用于控制程序的执行方向,也可以利用它反复地执行同一段程序。 一般格式: goto 语句标号; 语句标号是一个标识符,它和语句之间以“:”分隔,执行goto语句后, 程序将跳转到该标号处,并执行其后的语句。,C语言程序设计(第3版)张磊编著 清华大学出版社,

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

当前位置:首页 > 资格认证/考试 > 计算机等级考试

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