分支结构的C程序设计.ppt

上传人:小飞机 文档编号:6244329 上传时间:2023-10-09 格式:PPT 页数:34 大小:242.50KB
返回 下载 相关 举报
分支结构的C程序设计.ppt_第1页
第1页 / 共34页
分支结构的C程序设计.ppt_第2页
第2页 / 共34页
分支结构的C程序设计.ppt_第3页
第3页 / 共34页
分支结构的C程序设计.ppt_第4页
第4页 / 共34页
分支结构的C程序设计.ppt_第5页
第5页 / 共34页
点击查看更多>>
资源描述

《分支结构的C程序设计.ppt》由会员分享,可在线阅读,更多相关《分支结构的C程序设计.ppt(34页珍藏版)》请在三一办公上搜索。

1、1,第四章 分支结构的C程序设计,4.1 分支结构中的表达式4.2 if语句 4.3 switch语句 4.4 程序举例,2,4.1 分支结构中的表达式,C语言的逻辑值关系表达式(,=,=,=,!=)关系表达式 关系表达式的运算结果(1,0)逻辑表达式(&,|,!),3,if(表达式)语句,图 4.1 if语句执行过程,if 语 句,if语句的简单形式,4,例 4.1 打印出不及格的成绩。,5,if(表达式)语句1else 语句2,图 4.2 ifelse语句执行过程,4.2.2 ifelse结构,6,例 4.2 打印成绩60分为“Pass”,否则为“Fail”。解 我们可以使用两种方法编程:

2、方法一:用两个简单的if语句实现:,main()float score;scanf(%f,例 4.2,7,运行:50 score=50.0-Fail 再次运行:80 score=80.0-Pass 在第二个if语句中,if(score=60.0)是不能缺少的,否则不管score是否小于60,都将打印出第二行的结果。,main()float score;scanf(%f,8,方法二:用ifelse语句实现:,main()float score;scanf(%f,9,2.条件运算符的使用,当ifelse结构中的语句是表达式语句时,就可以使用条件运算符“?:”了,即下列ifelse语句:if(表达式

3、1)表达式2;else 表达式3;用条件运算符写成通用形式即为 表达式1?表达式2:表达式3这是一个条件表达式,其功能是:当表达式1的值为真(非零)时,整个条件表达式的值就取表达式2的值;当表达式1的值为假(零)时,整个条件表达式的值就取表达式3的值。,10,如下列语句段:x=10;if(x9)y=100;else y=200;可以写成:x=10;y=x9?100:200;,11,例 4.3 输入x的值,当x0时调用sqrt(x),否则调用sqrt(-x)。,include include main()float x,y;scanf(%f,运行:9.0 x=9.000000,y=3.00000

4、0再次运行:-9.0 x=-9.000000,y=3.000000,12,例 4.4 打印a,b两个数中大者。方法一:用ifelse结构实现:,main()int a,b;scanf(%d,%d,方法二:用条件运算符实现:main()int a,b;scanf(%d,%d,13,例 4.5 输入一个学生成绩,当成绩90时,打印“Very Good”;当80成绩90时,打印“Good”;当60成绩80时,打印“Pass”;当成绩60分,打印“Fail”。,main()float score;scanf(%f,3.if语句的嵌套,14,运行:85Good 例如语句段:if(x)if(y)print

5、f(A);else printf();其中else语句是与if(y)相匹配。如果与if(x)相匹配,则if(y)子句必须加花括号写成:if(x)if(y)printf(A);else printf(B);,15,else if结构的形式如下:if(表达式1)语句1else if(表达式2)语句2else if(表达式3)语句3 else if(表达式n)语句nelse 语句 n+1,4.2.3 else if结构(多个分支),16,图 else if 结构执行过程,4.3,17,例 4.6 将例4.5用else if结构来实现。,main()float score;scanf(%f,运行:58

6、Fail,18,说明:(1)在else if结构中,if语句else if 语句else语句属于同一程序模块。程序每运行一次,仅有一个分支的语句能得到执行。(2)各个表达式所表示的条件必须是互相排除的,也就是说,只有条件1(表达式1)不满足时才会判断条件2,只有条件2也不满足时才会判断条件3,其余依次类推,只有所有条件都不满足时才执行最后的else语句。,19,例4.6的程序也可写成:main()float score;scanf(%f,20,错误的写法:main()float score;scanf(%f,/*无用*/,21,switch(表达式)case 常量1:语句段1 case 常量2

7、:语句段2 default:语句段n,4.3 switch 语句,22,switch语句的执行过程:switch语句先计算表达式的值,然后同多个case语句后的常量比较,找到相等的case常量则执行该常量冒号后的语句段,并从这个入口一直执行下面所有冒号后的语句,直到switch语句结束。如果执行一个或几个冒号后的语句就要跳出switch语句,则可以在跳出处使用break语句。如果switch语句后表达式的值找不到匹配的case常量,就执行default后面的语句段直到结束。default是任选项,如果没有该语句,则在所有配对都失败时,什么也不执行。,23,24,例4.7-1 一日三餐,void

8、 main()int now;printf(现在什么时间?n,现在什么时间?1-早上2-中午3-下午2,吃午饭吃晚饭睡觉,现在什么时间?1-早上2-中午3-下午-1213睡觉,25,26,例4.7-2 一日三餐,void main()int now;printf(现在什么时间?n,现在什么时间?1-早上2-中午3-下午1,吃早饭吃午饭,现在什么时间?1-早上2-中午3-下午-1213睡觉,现在什么时间?1-早上2-中午3-下午2吃午饭,27,28,例4.7-3 一日三餐,void main()int now;printf(现在什么时间?n,现在什么时间?1-早上2-中午3-下午2,吃午饭,现在

9、什么时间?1-早上2-中午3-下午3吃晚饭,29,例 4.7 在显示器上显示一个菜单程序的模型。,include void dummy();int main()char ch;printf(1-please input a recordn);printf(2-list all recordsn);printf(3-delete a recordn);printf(4-modify a recordn);printf(nPlease input your choise:n);ch=getche();printf(n);,switch(ch)case 1:printf(1-Input a reco

10、rdn);dummy();case 2:printf(2-List all recordsn);dummy();case 3:printf(3-Delete a recordn);dummy();case 4:printf(4-Modify a recordn);dummy();default:printf(%c-Error input!n,ch);dummy();return 0;,30,1-please input a record2-list all records3-delete a record4-modify a recordPlease input your choise:11-

11、Input a record2-List all records3-Delete a record4-Modify a record1-Error input!,31,4.4 程序举例,例 4.8 编写一个可由用户键入简单表达式的程序,形式如下:number operator number 该程序要计算该表达式并以两位小数显示结果。我们要识别的运算符operator为加、减、乘、除。,32,#include int main()float value1,value2;char op;printf(Input your expression:n);scanf(%f%c%f,33,例 4.9 用switch语句改写例4.8。,#include int main()float value1,value2;char op;printf(Input your expression:n);scanf(%f%c%f,34,例 4.10 输入一个字符,请判断是字母、数字还是特殊字符?,#include#include int main()char ch;printf(Please input a character:);ch=getche();if(ch=a,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号