第讲选择结构程序设计

上传人:平*** 文档编号:47592017 上传时间:2018-07-03 格式:PPT 页数:15 大小:87.14KB
返回 下载 相关 举报
第讲选择结构程序设计_第1页
第1页 / 共15页
第讲选择结构程序设计_第2页
第2页 / 共15页
第讲选择结构程序设计_第3页
第3页 / 共15页
第讲选择结构程序设计_第4页
第4页 / 共15页
第讲选择结构程序设计_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《第讲选择结构程序设计》由会员分享,可在线阅读,更多相关《第讲选择结构程序设计(15页珍藏版)》请在金锄头文库上搜索。

1、第6讲选择结构程序设计-2*1解析C程序设计第2章 简单程 序设计【例4-21】输入一个数字(17),然 后输出对应的代表星期几的英文单词。 #include void main() int a;printf(“input integer number(1-7): “);scanf(“%d“,switch (a)case 1:printf(“Mondayn“);case 2:printf(“Tuesdayn“);case 3:printf(“Wednesdayn“);case 4:printf(“Thursdayn“);case 5:printf(“Fridayn“);case 6:print

2、f(“Saturdayn“);case 7:printf(“Sundayn“);default:printf(“errorn“); Date2解析C程序设计第2章 简单程序设计例4-22 根据输入的百分制成绩score,分段转 换成相应的等级并打印输出。 分析: 输入score 转换并输出(五个分支)Date3解析C程序设计第2章 简单程序设计#include main() int score; printf(“Please enter score:“); scanf(“%d“, if (score 100) /*对输入数据的合法性进行检查*/ printf(“Input error!n“);

3、 else if (score = 90) printf(“%d-excellentn“, score);else if (score = 80) printf(“%d-goodn“, score); else if (score = 70) printf(“%dfit exactlyn“, score); else if (score = 60) printf(“%d-passn“, score); else printf(“%d-failn“, score); 方法一程序 在在elseelse分支嵌套分支嵌套 没有没有elseelse会怎样?会怎样?Date4解析C程序设计第2章 简单程序

4、设计方法二输出输出A AScore/10Score/10有有1111种情况种情况1010输出输出A A9 9输出输出E E0 0switch(score/10)case 10:case 9: printf(“%d- excellentn”,score);break;case 8: printf(“%d- goodn”,score);break;case 7: printf(“%d-fit exactlyn”,score);break;case 6: printf(“%d- passn”,score);break;case 5:case 4:case 3:case 2: case 1:case

5、0: printf(“%d- failn”,score);break;default: default: printf(“%d-failn”,score);breakprintf(“%d-failn”,score);break; ; 用于判断分支用于判断分支 的表达式的表达式 表达式的所有表达式的所有 可能结果列举可能结果列举 在在casecase后后 当上面的情况与下边当上面的情况与下边 的情况相同,后边的的情况相同,后边的 分支语句可省略分支语句可省略 defaultdefault表示除上述表示除上述 情况以外的所有情况情况以外的所有情况 。 当遇到当遇到breakbreak时,程时,程

6、序转到序转到switchswitch语句的语句的 的的 后边后边Date5解析C程序设计第2章 简单程序设计#include void main() int score; printf(“Please enter score:“); scanf(“%d“, if(score100) printf(“Input error!n”);else switch(score/10) case 10:case 9: printf(“%d- excellentn”,score);break;case 8: printf(“%d-goodn”,score);break;case 7: printf(“%d-f

7、it exactlyn”,score);break;case 6: printf(“%d-passn”,score);break;case 5:case 4:case 3:case 2: case 1:case 0: printf(“%d-failn”,score);break; 方法二程序default: default: printf(“%d-failn”,score);breakprintf(“%d-failn”,score);break; ;执行过程执行过程 ?Date6解析C程序设计第2章 简单程序设计涉及到的语法知识 -switch语句 一般用于菜单等多分支的情况switchswi

8、tch ( (表达式表达式) ) casecase 常数常数1 1: :语句序列语句序列1;1; casecase 常数常数2 2: :语句序列语句序列2;2; defaultdefault: :语句序列语句序列n;n; 一般结果为多个离散 值的情况更详细的语法知识请 查阅P96-97。Date7解析C程序设计第2章 简单程序设计例4-24 :计算器程序 编程设计一个简单的计算器程序,要求根据用户 从键盘输入如下形式的表达式:操作数1 运算符op 操作数2然后,计算并输出表达式的值指定的运算符为加(+)减(-)乘(*)除(/) Date8解析C程序设计第2章 简单程序设计#include in

9、t main() float data1, data2; /*定义两个操作符*/ char op; /*定义运算符*/printf(“Please enter the expression:“); scanf(“%f%c%f“, /*输入运算表达式*/switch (op) case +: /*处理加法*/ printf(“%.2f+ %.2f= %.2fn“, data1, data2, data1 + data2); break; case -: /*处理减法*/ printf(“%.2f- %.2f= %.2fn“, data1, data2, data1 - data2); break

10、; case *: /*处理乘法*/ printf(“%.2f* %.2f= %.2fn“, data1, data2, data1 * data2); break; case /: /*处理除法*/ if (0 = data2)printf(“Division by zero!n“); else printf(“%.2f/%.2f= %.2fn“, data1, data2, data1/data2); break; default: printf(“Unknown operator! n“); Date9解析C程序设计第2章 简单程序设计练习:程序输出结果是?void main() int

11、 a=1,b=0;switch(a)case 1:switch(b)case 0:putchar(0); break;case 1: putchar(1); break; break;case 2:printf(“a=2”);break; ! !读程序时一定注意有没有读程序时一定注意有没有breakbreak, 并正确分析并正确分析breakbreak后转到了哪儿?后转到了哪儿?Date10解析C程序设计第2章 简单程序设计问题 if-else嵌套和switch都可以解决多分支 的情况,在遇到多分支的时候使用哪个呢 ? 当多个可能的情况是离散值时可以选用 switch,其他情况下用if-els

12、e嵌套。Date11解析C程序设计第2章 简单程序设计常见语法错误-1 1、错误提示:switch expression not integral- 翻译: ()里的变量或表达式不是整数。 解决办法:将变量或表达式里涉及的变 量和常量全部改成整数或字符类型。 2、错误现象:输出多个分支的结果 解决办法:漏写每个case后边的break 3、错误现象:应该执行的分支没有执行 检查case与后边的数值之间是否缺少空 格 检查是否所有的结果都在case后面列出Date12解析C程序设计第2章 简单程序设计常见语法错误-2 将条件写在case后面。-case后面只用 来写()里表达式的值,而不是判断条件。 例:switch(op) case +:。而不是case op=+: Case后边的数值类型写错。-如果()里 的表达式是整数,则case后面直接写数值 ,如果()里面的表达式是字符类型,则一 定记得加Date13解析C程序设计第2章 简单程序设计小结 掌握switch语句的写法 掌握多分支结构程序设计Date14解析C程序设计第2章 简单程序设计作业 【例4-23】从键盘输入任意年月,要 求输出该月的天数。 思考:要计算多个圆的周长如何处 理?Date15解析C程序设计第2章 简单程序设计

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

当前位置:首页 > 中学教育 > 教学课件

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