ImageVerifierCode 换一换
格式:PPT , 页数:51 ,大小:219.50KB ,
资源ID:376940      下载积分:2000 积分
快捷下载
登录下载
邮箱/手机:
温馨提示:
如需开发票,请勿充值!快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝扫码支付 微信扫码支付   
注意:如需开发票,请勿充值!
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【http://www.mydoc123.com/d-376940.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(第三章 控制结构.ppt)为本站会员(explodesoak291)主动上传,麦多课文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知麦多课文库(发送邮件至master@mydoc123.com或直接QQ联系客服),我们立即给予删除!

第三章 控制结构.ppt

1、第三章 控制结构,上一章内容回顾,基本数据类型 运算符 赋值表达式与变量的自增自减 基本输入输出 函数:自定义函数、库函数,本章内容,重点: 分支结构 ifelse (条件语句) switch (多分支语句) 循环结构 while dowhile for,分支结构:条件语句ifelse,条件语句的形式:if (条件) 语句1;else语句2;“条件”就是逻辑表达式。 如果“语句”不只一句,则用花括号把它们封装起来成为一个复合语句。 有时候可能只有if而不需要else,但有else必须有if。,【例3-1】 输入3个整数,求其最大值。,算法:输入的3个整数存于变量a、b、c中;max=a;如果m

2、axb,则max=b;如果maxc,则max=c;输出变量max。 讨论:按上面的算法,最后得到max一定是最大值吗?,【例3-1】 输入3个整数,求其最大值。,算法:输入的3个整数存于变量a、b、c中;如果a=b且a=c,则max=b;如果b=a且b=c,则max=b;如果c=a且c=b,则max=c;输出变量max。 讨论:a=b且a=c可以改为a=b且b=c 吗?上面两个算法,哪个算法更方便处理更多个数据?,课堂练习,输入5个整数,输出其最小值。讨论:如果有一个函数能求两个数的最大(小)值,用它能否求得更多数的最大(小)值呢?,【例3-2】输入3个数,判断能组成何种三角形。,分析 必须是

3、正数; 必须能组成三角形; 等边三角形、等腰三角形、直角三角形、一般三角形,if 语句的嵌套,if 语句的嵌套: 在if语句中又包含一个或多个if语句,称为if语句嵌套 if (条件1) if (条件2) 语句1; else 语句2; else if (条件3) 语句3; else 语句4;,if else配对原则 :它缺省 时, else总是与上面的最近的、未配对的if配对,if 语句的嵌套,if 语句的嵌套: 在if语句中又包含一个或多个if语句,称为if语句嵌套,if else配对原则 :它缺省 时, else总是与上面的最近的、未配对的if配对,if (条件1) if (条件2) 语句

4、1; else 语句2;,if (条件1) if (条件2) 语句1; else 语句2;,if 语句的嵌套,if 语句的嵌套: 在if语句中又包含一个或多个if语句,称为if语句嵌套,if else配对原则 :它缺省 时, else总是与上面的最近的、未配对的if配对,if (条件1) if (条件2) 语句1; else 语句2;,if (条件1) if (条件2) 语句1; else 语句2;,【例3-3】谁做了好事?,分析满足什么条件的人才是做好事的人? 穷举法:假设是A假设是B假设是C假设是D,上机作业,上机理解例题3-4; 习题3.3和3.15。,小结, if语句 if可以没有el

5、se,但else必须有if else总是与上面的最近的、未配对的if配对,内容回顾,条件语句if (条件) 语句1;else语句2; 如果条件为真,则执行语句1,否则执行语句2。 如果“语句”不只一句,怎么办? 条件语句的嵌套 if必须有else吗? else必须有if吗?当有多个if时,else如何配对?,分支结构:多分支语句switch,一个if语句处理的是两个分支; 要处理多分支问题,可以采用if语句的嵌套来实现。 当分支越多时,嵌套的if语句的层数越多 程序会越冗长,可读性越低。,swith 的一般形式为:,switch (开关表达式) case 常数1: 语句1;case 常数2:

6、语句2;.case 常数N: 语句N;default: 语句组 N+1; ,分支结构:多分支语句switch,switch后面的“开关表达式”,不能是实数; case 后面的常数,也不能是实数。,【例3-4】简单菜单。,分析 第1步:屏幕显示菜单列表,提示选择:0. 退出程序A. 华氏转摄氏B. 摄氏转华氏请选择:第2步:根据选择的字符,做相应的事情。,【例3-4】简单菜单。,分析 第2步:根据选择的字符,做相应的事情。 细化:如果输入的字符是: 0,则return; A或者a,则输入华氏温度x,调用H2C(x)得到摄氏温度; B或者b,则输入摄氏温度x,调用C2H(x)得到华氏温度;其它值,

7、则输出“选择错误!”。 (1)用if else 实现 (2)用switch实现,课堂练习,根据学生的百分制成绩,输出学生成绩的等级。,算法: 输入成绩 score (float型) 若score100,则退出 若score90 ,则输出A 否则,若score80 输出B 否则,若score70 输出C 否则,若score60 输出D 否则,输出E,90, 100: 等级 A 80, 90): 等级 B 70, 80): 等级 C 60, 70): 等级 D 0, 60): 等级 E,课堂练习,根据学生的百分制成绩,输出学生成绩的等级。,算法: 输入成绩 score (float型) 若scor

8、e100,则退出 若score90 ,则输出A 否则,若score80 输出B 否则,若score70 输出C 否则,若score60 输出D 否则,输出E,90, 100: 等级 A 80, 90): 等级 B 70, 80): 等级 C 60, 70): 等级 D 0, 60): 等级 E,讨论,求整数1到5的连加,怎么编程?,#include”stdio.h” void main() int sum=0;sum=sum+1;sum=sum+2;sum=sum+3;sum=sum+4;sum=sum+5;printf(“sum=%d“,sum); ,求整数1到100的连加,怎么编程?,#i

9、nclude”stdio.h” void main() int sum=0;sum=sum+1;sum=sum+2;sum=sum+3;sum=sum+100;printf(“sum=%d“,sum); ,分析:让我们找出问题的规律 sum=sum+i (i=1,2,3,100) sum=sum+i被重复执行 变量i有规律的变化 解决这类问题可以采用,循环结构,循环:while 语句,while 语句的一般形式:while (条件) 语句;当“条件”成立,反复执行“语句”。 先判断“循环条件”,再执行“循环体”。,while语句,用while语句求:,#include”stdio.h” voi

10、d main( ) int i=1, sum=0;while ( i=100 )sum=sum+i;i+;printf(“%d“,sum); ,循环体,讨论,循环体部分的花括号 去掉,可以吗? 如果i置为0,可以吗? 如果i置为0,i+放到sum=sum+i的前面,可以吗? 求和:1+2+3+n (其中,n由用户从键盘输入)。 求1到n的偶数之和。,循环:while语句,i = 1; sum = 0; while ( i = 100 ) sum = sum + i;+ i; ,i = 1; sum = 0; while ( i = 100 )sum += i+;,i = 1; sum = 0;

11、 while ( i = 100 ) if ( i%2 ) sum += i;+i; ,小结, 条件语句最多提供两条路选择,二选一;多分支语句,提供多条路选择,多选一。,小结, while循环 循环体包含一个或多个语句,当包含多个语句时,应以复合语句形式出现 循环体中一定要有能够使循环趋向于结束的语句,避免出现“死循环”,上机作业,默写例题3-5的程序; 预习外两种循环:do whilefor 习题3.1和3.4。,内容回顾,条件语句:if else 多分支语句:switch while循环,课堂练习,求1到100的奇数之和。 学会使用continue和break,break和continue

12、,break: 在循环语句中,跳出并终止循环体 break只能终止并跳出最近一层的结构 continue: 结束本次循环,跳过循环体中尚未执行的语句,进行下一次是否执行循环体的判断,【例3-6】合成键盘输入的数。,分析从键盘输入数字字符,如1、2、3,把这些字符变成一个整数,如123(一百二十三)。 如何接收字符? 1 1 ?如何转换? 如何合成?,循环,while dowhile for,循环:while 语句,while 语句的一般形式:while (条件) 语句;当“条件”成立,反复执行“语句”。 先判断“循环条件”,再执行“循环体”。,循环:for 语句,for 语句的一般形式: fo

13、r(表达式1; 表达式2; 表达式3)语句;表达式1:准备。 表达式2:条件。 表达式3:善后处理。 先判断“条件”,后执行“循环体” 括号中的两个分号是必需的!,for语句转换成while语句,for (准备;条件;善后处理)语句; 相当于:准备; while(条件) 语句;善后处理; ,求1100的和 sum = 0; for( i= 1; i=100; i+)sum += i;,求1100的和 sum = 0; i = 1; while( i=100 ) sum += i;i+; ,用for实现。,【例3-8】求1到100之间奇数之和。,#include”stdio.h” void ma

14、in( ) int i=1, sum;sum=0;for(i=1; i=100; i+) if(i%2!=0) sum+=i ; printf(“结果=%dn“,sum); ,讨论,变量sum赋初值可以放到for里吗?如何放?(用逗号隔开,构成逗号表达式) for( i=1; i=100; i+); ? 循环体 if(i%2!=0) sum+=i ; 的花括号 可以去掉吗? 程序的循环体可以用continue吗?如何修改?,讨论,for 语句的一般形式: for(表达式1; 表达式2; 表达式3)语句;for语句中表达式1,表达式2,表达式3都可省略,但分号不可省略!如何理解for( ; ;

15、)?for( ; ; ) putchar(A);for( ; ; ) ; putchar(A);for( ; 0 ; ) ; putchar(A); for( ; ; ) 相当于 while(1),判断正整数是否为素数。输出1000以内的素数。,【例3-9】,小结,循环结构的三种表达方式: while dowhile for breakcontinue,上机作业,习题3.2和3.5。,循环:dowhile 语句,dowhile 语句的一般形式: do语句; while (条件);先执行“循环体”,再判断“循环条件”。 “语句”很可能是“复合语句”。 与while很像,但dowhile至少执行一

16、次“语句”,而while不一定。,例:求1到100之和。,#include”stdio.h” void main( ) int i=1, sum=0;dosum=sum+i;i+; while( i=100 );printf(“%d“,sum); ,循环体,用dowhile 实现。,dowhile 语句,while语句 和 dowhile 语句比较:,void main( ) int i, sum=0;scanf(“%d“, ,void main( ) int i, sum=0;scanf(“%d“, ,1 ,5050,1 ,5050,101 ,0,101 ,101,while语句先判断条件,

17、后执行语句 dowhile语句先执行循环体,后判断条件 while语句循环体执行次数0 dowhile语句循环体执行次数1,例:输入错误,则重新输入。,doprintf(“请输入一个不小于2的整数:”);scanf(“%d”,本章内容回顾,控制结构有哪些? 分支 if(条件)else switch(开关表达式) 循环 while (条件) dowhile (条件) for(准备;条件;善后) 另外涉及的保留字 case break continue goto,【例3-3】谁做了好事?,分析满足什么条件的人才是做好事的人? 穷举法:假设是A假设是B假设是C假设是D (1)用多个if else 实现,不用循环结构 (2)用循环结构,综合应用,习题3.13.5 习题3.15 例题3-12,上机作业,习题3.63.7,3.9,3.11,3.13,3.23。,

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1