第5章(C程序结构及控制语句--9课时)

上传人:宝路 文档编号:48598959 上传时间:2018-07-17 格式:PPT 页数:101 大小:1.70MB
返回 下载 相关 举报
第5章(C程序结构及控制语句--9课时)_第1页
第1页 / 共101页
第5章(C程序结构及控制语句--9课时)_第2页
第2页 / 共101页
第5章(C程序结构及控制语句--9课时)_第3页
第3页 / 共101页
第5章(C程序结构及控制语句--9课时)_第4页
第4页 / 共101页
第5章(C程序结构及控制语句--9课时)_第5页
第5页 / 共101页
点击查看更多>>
资源描述

《第5章(C程序结构及控制语句--9课时)》由会员分享,可在线阅读,更多相关《第5章(C程序结构及控制语句--9课时)(101页珍藏版)》请在金锄头文库上搜索。

1、1第5章 C程序结构及控制语句2学习目标n理解并熟练运用C语言的顺序、选择、循环控制语句进行编程。n培养良好的编程风格。3学习内容C程序编程风格 顺序结构 选择结 构循环结 构应用举例4顺序结构概念 程序中的语句是按照编写时的顺序自上而下,一 条接一条地执行的,这一过程称为顺序执行。 顺序结构程序三步曲是输入、计算、输出。5顺序结构例5.1 要求:输入三角形的三边长,求三角形面积。 海伦公式: ; s=(a+b+c)/2。#include #include void main() float a,b,c,s,area;scanf(“%f,%f,%f“,s=(a+b+c)/2;area=sqrt

2、(s*(s-a)*(s-b)*(s-c);printf(“a=%f,b=%f,c=%f,s =%fn“,a,b,c,s);printf(“area=%7.2fn“,area); 6顺序结构例5.3 交换数据。对输入的两个变量a、b,交换它们的值并输出 。请思考一个问题: 现有两个500ML的瓶子,一个里面装着醋,一个里面装着 酱油,请问如何交换两个瓶子的液体?7顺序结构例5.3 醋酱油1醋酱油醋酱油2醋酱油ABCD8顺序结构例5.3 醋酱油3醋酱油醋酱油醋酱油EFGH9顺序结构例5.3 引入第三个瓶子!两个变量的交换亦是如此!10顺序结构例5.3 交换数据。对输入的两个变量a、b,交换它们的值

3、并输出 。#include void main()int a,b,c;printf(“Please input two integers:”);scanf(“%d%d”,printf(“Before swap a=%d b=%dn”,a,b);c=a;a=b;b=c;printf(“After swap a=%d b=%dn”,a,b); 11选择结 构选择结构又称分支结构或者选取结构。if 语句 switch语句12选择结 构if语句格式一格式1:if (表达式)语句 功能:如果表达式为真,则 执行其后的语句,否则不执 行语句。例如:if (ab)max=a; 13选择结 构if语句格式二格

4、式2:if (表达式)语语句1else 语语句2 功能:如果表达式为为真,则执则执 行语语句1;否则执则执 行语语句2。 例如: if (ab) max=a; else max=b;14选择结 构if语句格式三格式3:if (表达式1)语语句1else if (表达式 2)语语句2else if (表达式 3)语语句3else if (表达式 n)语语句nelse语语句n +1功能:依次判断表达式 的值,当出现某个值为 真时,则执行对应语 句 ,然后跳到整个if语句之 外继续执 行程序。如果 所有的表达式均为假, 则执行语句n+1。然后 继续执 行后续程序。15选择结 构if语句格式三n根据用

5、户购物的总价Cost,选择不同的折扣率 Rate。nCost1000 七折n8001000) Rate=0.7; else if (Cost800) Rate=0.8; else if (Cost500)Rate=0.9; else Rate=1.0;if (Cost1000) Rate=0.7; if (Cost800) Rate=0.8; if (Cost500)Rate=0.9; if(Costb) a+; b+; else a=0; b=1; 19选择结 构if语句说明5.在if语句的表达式中,一定要避免判断实数 与零值的等值比较。 因为无论是float还是 double变量,都有精度

6、限制。应使用=、void main() float a,b;scanf(“%f,%f“, if(a=b) printf(“%4.2fn“,a);else printf(“%4.2fn“,b); 运行情况如下:3.6,-3.23.6021选择结 构if语句的嵌套如果if语句中的执行语句又是一个if语句,就构 成了if语句嵌套的情形。格式:if (表达式) if语句或者:if (表达式)if语句else if语句if (ab)if (b0)printf(“ab0n”);elseprintf(“ab,b0)printf(“b=a0n”);else if (a=0)printf(“b=a=0n”);

7、else printf(“b=a,a0) 编一程序: 输入一个x值,输出y值。24选择结 构if语句的嵌套例有以下几个程序,请判断哪个是正确的,哪个是错误的? 程序1:void main() int x,y;scanf(“d“, 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: printf(“Saturdayn”)

8、;case 7: printf(“Sundayn”);default: printf(“errorn”); 运行情况如下: 5 Friday Saturday Sunday error30选择结 构switch语句#include void main() int a; scanf(“%d”, switch (a)case 1: printf(“Mondayn”);break;case 2: printf(“Tuesdayn”); break;case 3: printf(“Wednesdayn”); break;case 4: printf(“Thursdayn”); break;case 5

9、: printf(“Fridayn”); break;case 6: printf(“Saturdayn”); break;case 7: printf(“Sundayn”); break;default: printf(“errorn”); break; 加break运行情况如下: 5 Friday31选择结 构switch语句#include void main() int a; scanf(“%d”, switch (a)case 1: printf(“Mondayn”);break;case 2: printf(“Tuesdayn”); break;case 3: printf(“We

10、dnesdayn”); break;case 4: printf(“Thursdayn”); break;case 5: printf(“Fridayn”); break;case 6: printf(“Saturdayn”); break;case 7: case 8:printf(“Sundayn”); break;default: printf(“errorn”); break; 运行情况如下: 7 Sunday运行情况如下: 8 Sunday多个case可以共 用一组执行语句32选择结 构switch语句#include void main() int a; scanf(“%d”, s

11、witch (a)case 5: printf(“Fridayn”); break;case 6: printf(“Saturdayn”); break;case 7: printf(“Sundayn”); break;default: printf(“errorn”); break;case 1: printf(“Mondayn”);break;case 2: printf(“Tuesdayn”); break;case 3: printf(“Wednesdayn”); break;case 4: printf(“Thursdayn”); break; 运行情况如下: 5 Fridaycas

12、e分支顺序改变33选择结 构switch语句#include void main() int a; scanf(“%d”, switch (a)case 1: printf(“Mondayn”);break; case 2: printf(“Tuesdayn”); break; case 3: printf(“Wednesdayn”); break; 运行情况如下: 1 Mondaycase分支语句用 括起来34选择结 构switch语句说明:1.多个case可以共用一组执行语句。2.“case 常量表达式”只相当于一个语句标号,表达式的值和某标号相 等则转向该标号执行,但不能在执行完该标号的

13、语句后自动跳出整 个switch语句。为了避免上述情况,C提供了break语句。3.在case后的各个常量表达式的值不能相同,否则会出现错误。4.在case后,允许有多个语句,可以不用括起来。5.各个case和default子句的先后顺序可以变动,不影响程序的执行结 果。6.default子句可以省略不用,此时当表达式的值与所有case后的常量 表达式的值不同时,退出switch语句,继续执行后续程序。7.switch后面括号中的表达式只能是整型、字符型、枚举类型,case后 的常量表达式的类型必须与之匹配。8.各个case之后是常量表达式,一定不要试图使用条件表达式或者逻 辑表达式。#inc

14、lude void main() int score;scanf(“%d”, switch(score) case score=60:printf(“及格n”);case score=60)printf(“及格n”);elseprintf(“不及格n”);36switch(score/10) case 0:case 1:case 2:case 3:case 4:case 5:printf(“不及格n”);break;37case 6:case 7:case 8:case 9:case 10:printf(“不及格n”);break; 38选择结 构switch语句例5.6计算器程序。从键盘接收

15、两个运算数和四则运算符,计算 并输出结果。 #include void main()float a,b;char c;printf(“input expression: a+(-,*,/)b n“);scanf(“%f%c%f“,switch(c)case +:printf(“%fn“,a+b);break;case -:printf(“%fn“,a-b);break;case *:printf(“%fn“,a*b);break;case /:printf(“%fn“,a/b);break;default:printf(“input errorn“); nP93/例5.8n请大家课后阅读,一题多解方法。3940循环结 构n在给定条件成立时,反复执行某程序段,直到条 件不成立为止,这就是循环结构。n给定的条件称为循环条件n反复执行的程序段称为循环体n在循环变量中用于控制循环执行次数的变量称为 循环变量。nC语言提供了三种循环控制语句。 while语句 do-while语句 for语句41循环结 构while语句格式:while (表达式) 语句 功能:计算表达式的值,当值为真时,执行循环体 。说明: (1)while语句

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

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

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