C大学基础教程第三章课件.ppt

上传人:小飞机 文档编号:1828065 上传时间:2022-12-20 格式:PPT 页数:69 大小:373.01KB
返回 下载 相关 举报
C大学基础教程第三章课件.ppt_第1页
第1页 / 共69页
C大学基础教程第三章课件.ppt_第2页
第2页 / 共69页
C大学基础教程第三章课件.ppt_第3页
第3页 / 共69页
C大学基础教程第三章课件.ppt_第4页
第4页 / 共69页
C大学基础教程第三章课件.ppt_第5页
第5页 / 共69页
点击查看更多>>
资源描述

《C大学基础教程第三章课件.ppt》由会员分享,可在线阅读,更多相关《C大学基础教程第三章课件.ppt(69页珍藏版)》请在三一办公上搜索。

1、2022/12/20,1,C+大学基础教程,第3章 C+控制语句,2022/12/20,2,用计算机解决实际问题,首先要分析问题,设计合适的算法,然后编程实现算法。,2022/12/20,3,第3章 C+控制语句,3.1 算法的基本控制结构3.2 if选择语句3.3 switch选择语句3.4 循环语句3.5 循环嵌套3.6 应用举例,2022/12/20,4,3.1 算法的基本控制结构,2022/12/20,5,3.1 算法的基本控制结构,算法 1、计算机执行的操作 2、这些操作的顺序 伪码、流程图伪码 采用类似计算机语言的分句格式,以自然语言描述算法。,2022/12/20,6,3.1 算

2、法的基本控制结构,流程图 以图形符号 直观 开始/结束 执行 判断 联系,2022/12/20,7,3.1 算法的基本控制结构,程序的三种基本控制结构 (1)顺序结构 (2)选择结构 (分支结构) (3)循环结构,2022/12/20,8,3.1 算法的基本控制结构,流程控制语句 选择语句:if.else、switch 循环语句:while、for 、do.while 转向语句:break、continue,2022/12/20,9,3.2 if 选择语句,2022/12/20,10,3.2 if选择语句,if_else语句基本语法if(表达式)语句1;else语句2;,2022/12/20,

3、11,3.2 if选择语句,if_else 1、没有else分支 2、双分支 3、多分支 4、if 语句的嵌套,2022/12/20,12,3.2 if选择语句,1、没有else分支 例如:比较x和y的大小,如果x大则输出x的值,if (表达式) 语句;,if ( xy ) coutxendl;,2022/12/20,13,2、双分支例如:比较x,y的大小,将较大的数输出,if (表达式) 语句1;else 语句2;,if ( xy ) coutxendl;else coutyendl;,3.2 if选择语句,2022/12/20,14,例子,任意输入一个4位整数的年份,判断该年是否是润年?,

4、是指年份能被4整除的那些年,但不包括能被100整除而不能被400整除的年,2022/12/20,15,#include using namespace std;void main() int year; cinyear; if (year % 4=0) ,2022/12/20,16,3.2 if选择语句,3、多分支,if (表达式1) 语句1; else if (表达式2) 语句2; else if (表达式3) 语句3; else 语句n;,2022/12/20,17,2022/12/20,18,例子:输出学生的成绩,#include using namespace std;void mai

5、n() int x; cinx; if(x=90) cout=80) cout=60) cout“合格”endl; else cout“不及格”endl;,2022/12/20,19,3.2 if选择语句,4、if 语句的嵌套,if (表达式1) if (表达式2) 语句1 else 语句2else if (表达式3) 语句3 else 语句4,2022/12/20,20,2022/12/20,21,例子:输出a,b,c中较大的数,#include using namespace std;void main() int a,b,c; cinabc; if (ab) if (ac) coutc)

6、 coutbendl; else coutcendl; ,coutb?(ac?a:c):(bc?b:c ) );,2022/12/20,22,3.2 if选择语句,注意:二义性int x=-1;if (x0) if (x50) cout“x is 50”endl;else cout“x is =0”endl;,if和else的对应关系,else总是与离它最近的if匹配。,2022/12/20,23,3.3 switch选择语句,2022/12/20,24,3.3 switch选择语句,switch (表达式) case 常量表达式1: 语句1 break; case 常量表达式2: 语句2 b

7、reak; case 常量表达式n: 语句n break;default:语句n+1 ,2022/12/20,25,2022/12/20,26,例子:输出学生的成绩,int x; cinx; switch(x/10) case 10: case 9:cout“优秀”endl; break; case 8: cout“良好”endl; break; case 7: case 6: cout“合格”endl; break; default: cout“不及格”endl;,2022/12/20,27,switch( 表达式)case 9:case 8:case *: case $:case 0.1:

8、,表达式值可为整型字符型 、枚举型,但不能为实型,2022/12/20,28,switch( m/10)case 9: a+=1;case 8: a+=1;case 7: a+=1;case 6: a+=1;cout“通过”endl; break;defaultcout“不通过”endl;,2022/12/20,29,3.4 循环语句,2022/12/20,30,3.4 循环语句,三种基本语法1、 while 语句2、 dowhile 语句3、 for 语句,2022/12/20,31,#include #include using namespace std;void main() cout

9、setfill(*) setw(2)n setw(3)n setw(4)n setw(5)n setw(6)n setw(7)n setw(8)n;,* * * * * * *,2022/12/20,32,#include #include using namespace std;void main() int i=2; coutsetfill(*); while(i=8) coutsetw(i)n; i+; ,* * * * * * *,循环变量,循环体,循环控制条件,2022/12/20,33,3.4 循环语句,主要包括3个部分:1、循环控制条件: 判断循环操作是否进行的条件;2、循环体:

10、 重复进行的操作;3、循环控制变量: 记录循环体执行的次数,或控制循环的结束条件。,2022/12/20,34,3.4 循环语句,while循环语句,while(表达式) 循环体语句;,2022/12/20,35,例1:编程循环输出1-9这9个数字?,#include using namespace std; void main() int i=1; while (i10) coutiendl; i+; cout“循环结束”endl;,运行结果:123456789循环结束,2022/12/20,36,例2:编程计算1+2+3+.+10的值,#include using namespace st

11、d; void main() int sum=0,i=1; while(i=10) sum+=i; i+; coutsumendl; ,55,2022/12/20,37,例3:打印ASCII码表中的可视字符,#includeusing namespace std;void main() unsigned char ch=32; while(ch128) cout(int)chtcht; ch+; ,2022/12/20,38,例4:编程计算 的值,#include using namespace std;void main()int k=1,sum=0,n;cout0):;cinn; whil

12、e(k0) coutsum/nendl;else coutn不能=0endl;,2022/12/20,39,3.4 循环语句,do.while循环语句,do 循环体语句; while(表达式);,2022/12/20,40,#include #include using namespace std;void main() int i=2; coutsetfill(*); do coutsetw(i)n; i+; while(i=8);,* * * * * * *,2022/12/20,41,例子:编程计算 的值,#include using namespace std;void main()i

13、nt k=1,sum=0,n;cout0):;cinn; do sum=sum+k*k; k+; while(k0) coutsum/nendl;else coutn不能=0endl;,2022/12/20,42,3.4 循环语句,for循环语句 循环结构 1、表达式1 循环变量初始化; 2、表达式2 循环控制条件; 3、表达式3 循环变量的变化;,for (表达式1; 表达式2; 表达式3) 循环体;,2022/12/20,43,例1:编程循环输出1-9这9个数字?,#include using namespace std; void main() for (int i=1;i10;i+)

14、coutiendl; cout“循环结束”endl; ,运行结果:123456789循环结束,2022/12/20,44,例2:编程计算1+2+3+.+10的值,#include using namespace std; void main() int sum=0; for (int i=1;i=10;i+) sum+=i; coutsumendl; ,运行结果:55,2022/12/20,45,#include #include using namespace std;void main() coutsetfill(*);,* * * * * * *,例3,for(int i=2;i=8;i

15、+) coutsetw(i)n;,2022/12/20,46,3.4 循环语句for语句,1、省略意味着赋初值提前 for(int i=1 ; i=9 ; i+) 循环体; int i=1; for( ; i=9 ; i+) 循环体;,2022/12/20,47,3.4 循环语句for语句,2、省略,用break跳出循环 for(int i=1; i=9; i+) 循环体; for(int i=1; ; i+) if (i=9) 循环体; else break; /跳转语句,用来跳出循环 ,2022/12/20,48,3.4 循环语句for语句,3、省略: for(int i=1; i=9;

16、i+) 循环体; for(int i=1, j=2; i=9; ) 循环体; i+; ,2022/12/20,49,3.4 循环语句for语句,3、 同时省略 for(int i=1; i=9; i+) 循环体; int i=1; for(; i=9; ) 循环体; i+; ,2022/12/20,50,3.4 循环语句for语句,5、极端情况,可实现无限循环 for( ; ; ) 循环体; ,2022/12/20,51,例4:判断输出结果?,#include using namespace std;void main() for(int i=0,j=10,k=0; ij; i+,j-)k+=

17、i*j;coutkendl;,分析:i j k0 10 01 9 92 8 253 7 464 6 705 5 跳出,2022/12/20,52,3.4 循环语句,1、for: 最适合循环次数固定,循环规律非常明显程序。2、while: 使用最多最频繁的循环结构,具有普适性。3、do_while: 最适合至少循环一次的循环结构。,2022/12/20,53,3.4.4 转向语句,1、break语句2、continue语句,2022/12/20,54,3.4.4 转向语句break,用途: 常用在while、do-while、for和switch语句中,用来跳出循环或switch语句。,2022

18、/12/20,55,例1:判断输出结果?,#include using namespace std;void main() int sum=0; for (int i=1;i10;i+) if (i % 3=0) break; sum+=i; coutsumendl;,分析i sum1 12 33 跳出,2022/12/20,56,3.4.4 转向语句continue,用途 用于循环语句中,结束本次循环,进行下一次循环;即跳过循环体中尚未执行的部分。,2022/12/20,57,例1:判断输出结果?,#include using namespace std;void main() int su

19、m=0; for (int i=1;i10;i+) if (i % 3=0) continue; sum+=i; coutsumendl;,分析i sum1 12 33 3 7 12 12 19 27 27 跳出,2022/12/20,58,3.5 循环嵌套,2022/12/20,59,3.5 循环嵌套,编程输出国际象棋棋盘#include using namespace std;void main() for (int i=0;i8;i+)for (int j=0;j8;j+)if (i+j)%2=0) cout; else cout ; coutn;, ,2022/12/20,60,思考,

20、题目: 使用For循环输出如下图形: * * * * * * *,2022/12/20,61,#include using namespace std;void main() for (int i=1;ii; j-) cout ; for (j=1; j=i; j+) cout*; coutendl; ,2022/12/20,62,3.6 应用举例,2022/12/20,63,3.6 应用举例1,任意输入一个整数,判断是否是素数? 问题:什么是素数?,2022/12/20,64,#include using namespace std;void main() int n,i;cinn;for

21、(i=2;in;i+)if (n%i=0) break; if (in)coutn不是素数!n;elsecoutn是素数n;,2022/12/20,65,改进:输出2-100之间的素数,#include #include using namespace std;void main()for(int k=2;kn)coutkt;,2022/12/20,66,3.6 应用举例2,题目 一球从100米高度落下,每次落地后反弹回原高度的一半,再落下。编程求解它在第n次落地时,共经过多少米?,2022/12/20,67,#include using namespace std;void main() double height=100,n; double sum=height; cinn; for (int i=1;i n;i+) sum+=height; height/=2; coutsumendl;,2022/12/20,68,总结,三种基本结构:顺序、选择和循环流程图,帮助我们设计算法、完善算法,增强算法的可读性,2022/12/20,69,作 业,P69. 一: 3, 5, 7 二: 5,

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

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


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号