版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、-1-C+大学基础教程大学基础教程第第3 3章章 C+C+控制语句控制语句北京邮电大学信通院北京邮电大学信通院 网络搜索中心网络搜索中心-2-用计算机解决实际问题,首先要分析问题,设计合适的算法,然后编程实现算法。-3-第第3 3章章 过程化语句过程化语句3.1 算法的基本控制结构3.2 if选择语句3.3 switch选择语句3.4 循环语句3.5 循环嵌套3.6 应用举例-4-3.1 3.1 算法的基本控制结构算法的基本控制结构-5-3.1 3.1 算法的基本控制结构算法的基本控制结构算法 1、计算机执行的操作 2、这些操作的顺序伪码 采用类似计算机语言的分句格式,以自然语言描述算法。 -
2、6-3.1 3.1 算法的基本控制结构算法的基本控制结构流程图 开始/结束 执行 判断 联系-7-3.1 3.1 算法的基本控制结构算法的基本控制结构程序的三种基本控制结构 (1)顺序结构 (2)选择结构 (3)循环结构流程控制语句 选择语句:if.else、switch 循环语句:while、for 、do.while 转向语句:break、continue-8-3.2 3.2 if选择语句选择语句-9-3.2 3.2 if选择语句选择语句if_else 1、没有else分支 2、双分支 3、多分支 4、if 语句的嵌套-10-3.2 3.2 if选择语句选择语句1、没有else分支 例如:
3、比较x和y的大小,如果x大则输出x的值if (表达式) 语句;if ( xy ) coutxy ) coutxendl;else coutyendl;-12-例子 任意输入一个4位整数的年份,判断该年是否是润年?四年一闰,百年不闰,四百年再闰-13-#include using namespace std;void main() int year; cinyear; ?-14-3.2 3.2 if选择语句选择语句3 3、多分支、多分支if (表达式1) 语句1; else if (表达式2) 语句2; else if (表达式3) 语句3; else 语句n;-15-16-例子:输出学生的成绩
4、#include using namespace std;void main() int x; cinx; if(x=90) cout“优秀”=80) cout“良好”=60) cout“合格”endl; else cout“不及格”endl;-17-3.2 3.2 if选择语句选择语句4、if 语句的嵌套if (表达式1) if (表达式2) 语句1 else 语句2else if (表达式3) 语句3 else 语句4-18-19-例子:输出a,b,c中较大的数#include using namespace std;void main() int a,b,c; cinabc; if (a
5、b) if (ac) coutaendl; else coutcc) coutbendl; else coutcendl; coutb?(ac?a:c):(bc?b:c ) );-20-3.2 3.2 if选择语句选择语句注意:二义性int x=-1;if (x0) if (x50) cout“x is 50”endl;else cout“x is =0”x; switch(x/10) case 10: case 9:cout“优秀”endl; break; case 8: cout“良好”endl; break; case 7: case 6: cout“合格”endl; break; de
6、fault: cout“不及格”endl;-25-3.4 3.4 循环循环语句语句-26-3.4 循环语句循环语句三种基本语法1、 while 语句2、 dowhile 语句3、 for 语句-27-#include #include using namespace std;void main() coutsetfill(*) setw(2)n setw(3)n setw(4)n setw(5)n setw(6)n setw(7)n setw(8)n; * * * * * * *-28-#include #include using namespace std;void main() int
7、i=2; coutsetfill(*); while(i=8) coutsetw(i)n; i+; * * * * * * *循环变量循环体循环控制条件-29-3.4 循环语句循环语句主要包括3个部分:1、循环控制条件: 判断循环操作是否进行的条件;2、循环体: 重复进行的操作;3、循环控制变量: 记录循环体执行的次数,或控制循环的结束条件。-30-3.4 循环语句循环语句while循环语句循环语句while(表达式) 循环体语句;-31-例1:编程循环输出1-9这9个数字? #include using namespace std; void main() int i=1; while (i
8、9) coutiendl; i+; cout“循环结束”endl;运行结果:123456789循环结束-32-例2:编程计算1+2+3+.+10的值 #include using namespace std; void main() int sum=0,i=0; whil(i=10) sum+=i; i+; coutsumendl; 55-33-例3:打印可视字符#includeusing namespace std;void main() unsigned char ch=32; while(ch128) cout(int)chtcht; ch+; -34-例4:编程计算 的值#includ
9、e using namespace std;void main()int k=1,sum=0,n;cout0):;cinn; while(k0) coutsum/nendl;else coutn不能=0endl;-35-编程:输入一个正整数,输出每位数字的和#include using namespace std;void main() int n, sum=0; cinn; while(n0) int t=n%10; sum+=t; n=n/10; coutsumendl;输出每位数字的乘积?-36-编程求 1!+2!+3!+4!+15!1)求n! #include using namesp
10、ace std; void main() int i=1, multi=1; while(i=n) multi*=i; i+; coutmultiendl; int j=1,sum=0;while(j=15) sum+=multi; j+;-37-3.4 循环语句循环语句do.while循环语句循环语句 do 循环体语句; while(表达式);while(表达式) 循环体语句;-38-#include #include using namespace std;void main() int i=2; coutsetfill(*); while(i=8) coutsetw(i)n; i+; *
11、 * * * * * *do coutsetw(i)n; i+; while(i=8);-39-例子:编程计算 的值#include using namespace std;void main()int k=1,sum=0,n;cout0):;cinn; while(k0) coutsum/nendl;else coutn不能=0endl;do sum=sum+k*k; k+;while(k=n); -40-3.4 循环语句循环语句for循环语句 循环结构 1、表达式1 循环变量初始化; 2、表达式2 循环控制条件; 3、表达式3 循环变量的变化;for (表达式1; 表达式2; 表达式3)
12、循环体;-41-3.4 循环语句循环语句int i=1; while(i10) 循环体; i+;for(int i=1; i10; i+)循环体;-42-例1:编程循环输出1-9这9个数字? #include using namespace std; void main() for (int i=1;i10;i+) coutiendl; cout“循环结束”endl; 运行结果:123456789循环结束-43-例2:编程计算1+2+3+.+10的值 #include using namespce std; void main() int sum=0; for (int i=1;i=10;i+
13、) sum+=i; coutsumendl; 运行结果:55扩展:编程计算1+1/2+1/3+.+1/10-44-扩展:编程计算1-1/2+1/3-1/4+.-1/10的值#include using namespce std; void main() double sum=0.0; for (int i=1;i=10;i+) if(i%2!=0) sum+=1.0/i; else sum-=1.0/i; coutsumendl; -45-#include #include using namespace std;void main() coutsetfill(*); * * * * * *
14、*例3for(int i=2;i=8;i+) coutsetw(i)n;-46-3.4 循环语句循环语句for语句语句1、可以省略 for(int i=1 ; i=9 ; i+) 循环体; int i=1; for( ; i=9 ; i+) 循环体;-47-3.4 循环语句循环语句for语句语句2、可以省略 for(int i=1; i=9; i+) 循环体; for(int i=1; ; i+) if (i=9) 循环体; else break; /跳转语句,用来跳出循环 -48-3.4 循环语句循环语句for语句语句3、可以省略 for(int i=1; i=9; i+) 循环体; for
15、(int i=1; i=9; ) 循环体; i+; -49-3.4 循环语句循环语句for语句语句3、 同时省略 for(int i=1; i=9; i+) 循环体; int i=1; for(; i=9; ) 循环体; i+; -50-3.4 循环语句循环语句for语句语句5、极端情况,可实现无限循环 for( ; ; ) 循环体; -51-例4:判断输出结果?#include using namespace std;void main() for(int i=0,j=10,k=0; ij; i+,j-)k+=i*j;coutkendl;分析:i j k0 10 01 9 92 8 253
16、7 464 6 705 5 跳出-52-3.4 循环语句循环语句1、for: 最适合循环次数固定,循环规律非常明显程序。2、while: 使用最多最频繁的循环结构,具有普适性。3、do_while: 最适合至少循环一次的循环结构。-53-3.4.4 转向语句转向语句1、break语句2、continue语句-54-3.4.4 转向语句转向语句break用途:用途: break常用在while、do-while、for和switch语句中,用来跳出循环或switch语句。-55-例1:判断输出结果?#include using namespace std;void main() int sum=
17、0; for (int i=1;i10;i+) if (i % 3=0) break; sum+=i; coutsumendl;分析i sum1 12 33 跳出-56-3.4.4 转向语句转向语句continue用途 continue用于循环语句中,结束本次循环,进行下一次循环;即跳过循环体中尚未执行的部分。-57-例1:判断输出结果?#include using namespace std;void main() int sum=0; for (int i=1;i10;i+) if (i % 3=0) continue; sum+=i; coutsumendl;分析i sum1 12 33
18、 3 7 12 12 19 27 274 跳出-58-3.5 3.5 循环循环嵌套嵌套-59-编程: 输入5个整数,输出其中最大和最小的#include using namespace std;void main() int n,max,min; cinn; max=min=n; for(int i=1;in; if(maxn) min=n; -60-3.5 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
19、; else cout ; coutn; -61-思考题目题目: : 使用使用For循环输出如下图形:循环输出如下图形: * * * * * * *-62-#include using namespace std;void main() for (int i=1;ii; j-) cout ; for (j=1; j=i; j+) cout*; coutendl; -63-3.6 3.6 应用举例应用举例-64-3.6 3.6 应用举例应用举例1 1任意输入一个整数,判断是否是素数? 问题:什么是素数?-65-#include using namespace std;void main() int n,i;cinn;for (i=2;in;i+)if (n%i=0) break; if (in)coutn不是素数!n;elsecoutn是素数n;-66-改进:输出2-100之间的素数#include #include using namespace std;void main()for(int k=2;k100;k+) int n=sqrt(k);for (int i=2;in)coutkt;-67-3.6 3.6 应用举例应用举例2 2题目 任意输入一个整数,按位翻转输出。例如输入124,输出421。-68-#include u
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 包头轻工校车削加工技能(劳动版)教案学习情境二车削台阶轴类零件-子学习情境一认识车刀
- 《麻绳》小班美术教案 - 幼儿园美术教案
- 《液压传动》教案(劳动版)
- 临时广告投放合同
- 城市轨道交通招投标详解
- 生态农业发展公益林管理计划
- 电子商务平台交易信息保护规定
- 餐饮业宿舍电费管理规则
- 城市污水处理厂改造协议
- 企业社会责任激励管理办法
- 大学生劳动教育-合肥工业大学中国大学mooc课后章节答案期末考试题库2023年
- 哈弗H5汽车说明书
- 高考心态调整:时刻准备迎接挑战
- 国家开放大学一网一平台电大《当代中国政治制度》形考任务1-4网考题库及答案
- 八年级语文双向细目表
- 半月板损伤的康复
- 机电运输专项检查实施方案
- 英语语法与长难句理解知到章节答案智慧树2023年山东石油化工学院
- 矩阵论智慧树知到答案章节测试2023年哈尔滨工程大学
- 淮剧专题讲座
- 《中国字中国人》
评论
0/150
提交评论