




已阅读5页,还剩32页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第三章流程控制语句 本章要求 熟练掌握if语句 switch语句 for语句 while语句 do语句和各种跳转语句的格式 功能和执行过程 会利用它们编写出解决实际应用问题的分支或循环程序 2 第三章流程控制语句 流程控制语句是用来控制程序的执行流程 它包括选择 循环和跳转三类语句 选择语句 解决实际应用中按不同情况进行不同处理的问题 包括if语句和switch语句二种 循环语句 解决实际应用中需要重复处理的问题 包括for循环语句 while循环语句和do循环语句三种 跳转语句 改变程序顺序向下执行的正常次序 包括goto语句 continue语句 break语句和return语句四种 3 3 1if语句 1 语句格式if语句又叫条件语句 语句格式为 if else 2 格式举例1 if x 1 c 2 if x 60 4 3 1if语句 3 语句执行过程 5 3 1if语句 4 语句嵌套当if语句中的任何一个子句是if语句时 称为if语句的嵌套 if与else的配对关系 从最内层开始 else总是与它上面的最近的未曾配对的if配对 一般形式 if if elseelseif else 6 3 1if语句 5 程序举例 1 打印a b两个数中大者 li3 1 cpp 方法1 用单边if语句实现 方法2 用if else语句实现 方法3 用条件运算符实现 includevoidmain inta b cout a b if a b cout max a endl if a b cout max b endl includevoidmain inta b cout a b if a b cout max a endl elsecout max b endl includevoidmain inta b max cout a b max a b a b cout max max endl 7 3 1if语句 5 程序举例 2 符号函数 li3 2 cpp includevoidmain intx y cout x if x0 y 1 elsey 0 cout x x y y endl 8 3 1if语句 5 程序举例 3 输入一百分制成绩 要求输出成绩等级 li3 3 cpp includevoidmain floatscore cout score if score 90 cout 80 cout 70 cout 60 cout D endl elsecout E endl 9 3 2switch语句 switch case case default 1 语句格式 10 2 语句执行过程 3 2switch语句 表达式 语句1 1 语句2 1 语句n 1 M M M2 M M1 default 11 3 语句格式举例 switch a case1 c1 break case2 c2 break case3 c3 break case4 c4 break default c break 3 2switch语句 12 4 程序举例 3 2switch语句 1 根据从键盘上输入的表示星期几的数字 对应输出它的英文名称 li3 4 cpp includevoidmain intweekday cout weekday switch weekday case0 cout Sunday endl break case1 cout monday endl break case2 cout tuesday endl break case3 cout wednesday endl break case4 cout thursday endl break case5 cout friday endl break case6 cout saturday endl break default cout inputerror endl 13 3 2switch语句 2 输入一百分制成绩 要求输出成绩等级 li3 5 cpp 4 程序举例 includevoidmain intscore inttemp chargrade cout score if score 100 temp 9 elsetemp score score 10 10 switch temp case9 grade A break case8 grade B break case7 grade C break case6 grade D break case5 case4 case3 case2 case1 case0 grade E break cout score score grade grade endl 14 3 3for语句 1 语句格式for 其中是for语句的循环体 它将按条件被重复执行多次 和都可以被省略 但它们之间的分号必须保留 15 2 语句格式举例 1 for i 1 i100 break 5 for i 0 y 0 i x y x 6 for intk 2 k sqrt m k if m k 0 break 3 3for语句 16 3 语句执行过程 3 3for语句 includevoidmain doublex y cout x y 4 x x 2 x 5 cout x setw 5 x cout setw 10 y setw 5 y endl 17 4 程序举例 3 3for语句 1 累加求和 P63例1 li3 6 cpp 2 求阶乘 x li3 7 cpp 3 Fibonacii数列 li3 8 cpp includevoidmain inti s 1 for inti 2 i 50 i 2 x i i cout s s endl includevoidmain doublex p 1 inti cout x for i 1 i x i p p i cout p p endl 18 4 程序举例 3 3for语句 1 累加求和 计算1 22 42 62 502的值 includevoidmain inti s 1 for i 2 i 50 i 2 s i i cout s s endl 19 3 3for语句 4 程序举例 2 求阶乘n includevoidmain inti n doublep 1 cout n for i 1 i n i p i cout n p endl 20 3 3for语句 4 程序举例 3 输入n个整数 求其中的最大数和最小数 include includevoidmain intn x max min cout n if n x max min x for n cin x if x max max x if x min min x cout 最大数 max endl cout 最小数 min endl 21 3 3for语句 4 程序举例 4 求Fibonacii数列的前10项 0 1 1 2 3 5 8 13 21 34 includevoidmain for inta 0 b 1 i 1 i 5 i cout setw 5 a setw 5 b a a b b a b cout endl 22 3 4while语句 1 语句格式while 其中是while语句的循环体 它可以是任何可执行语句或空语句 2 格式举例1 while x x 2 whlie x s x cin x 3 while n cin x if x 0 n1 elsen2 4 while i n 23 3 执行过程 3 4while语句 includevoidmian intx c1 0 c2 0 cin x while x 0 输入负数时结束循环 if x x cout cl c2 endl 24 4 程序举例 3 4while语句 1 采用辗转取余法 求两个正整数的最大公约数 a b r 若r 0 b a r b若r 0 b的当前值是最大公约数 abr1364016401681680 includevoidmain inta b cout a b while a a b while b intr a b a b b r cout a endl 25 3 4while语句 4 程序举例 2 利用近似公式计算e 要求精度 10 6 includevoidmain intn 1 doubleu 1 e 1 while u 1e 6 u u n e e u n cout e e endl 26 4 程序举例 3 4while语句 1 采用辗转取余法 求两个正整数的最大公约数 a b r 若r 0 b a r b若r 0 b的当前值是最大公约数 abr1364016401681680 includevoidmain inta b cout a b while a a b while b intr a b a b b r cout a endl 27 3 5Do语句 1 语句格式dowhile 2 格式举例 1 doi while x i x while x x s x while n 0 28 3 执行过程 3 5Do语句 includeconstintNM 10 voidmain intx n 1 c 0 do cin x if x 30 29 3 5Do语句 3 格式举例 1 doi while x i x while x x s x while n 0 30 4 程序举例 3 5Do语句 利用公式 求 的近似值 直到最后一项的绝对值小于10 6为止 include includevoidmain doublepi 0 u longk 1 intsign 1 do u sign double k pi u k 2 sign 1 while fabs u 1e 6 pi 4 cout pi pi endl 31 一个循环体内又包含另一个完整的循环结构 称为多重循环或循环嵌套 按缩进式格式书写循环嵌套 例题1 求阶乘的和2 打印九九乘法表 3 6语句嵌套 例1 includevoidmain longs 0 p inti k n 5 for i 1 i n i p 1 for k 1 k i k p k s p cout sigma s endl 例2 includevoidmain inti j cout setw 5 for i 1 i 9 i cout setw 5 i cout endl for i 1 i 9 i cout setw 5 i for j 1 j 9 j cout setw 5 i j cout endl 32 3 7跳转语句 跳转类语句包括goto continue break和return语句 1 goto语句 语句格式goto 程序举例 voidfunc doublex doubley if x 0 33 2 coutinue语句 该语句称为继续语句 它只能用于循环语句的循环体中 当程序运行执行到该语句时 将立即结束本次循环体的执行 接着执行后面的循环操作 3 7跳转语句 语句格式continue 程序举例把100 150之间的不能被3整除的数输出 includevoidmain intn for n 100 n 150 n if n 3 0 continue cout n cout endl 34 3 break语句 该语句被称为中断语句 它被限定使用在任一种循环语句和switch语句中 当程序执行到该语句时 将立即结束所在的循环语句或switch语句的执行 接着执行其后面的语句 3 7跳转语句 语句格式break 程序举例找出100以内的任意5个素数 include include includevoidmain intn 0 do intx rand 98 2 inty int sqrt x for inti 2 iy n cout x isaprime n while n 5 35 break语句和continue语句的区别 continue语句只结束
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【正版授权】 ISO/TR 22625:2025 EN Intelligent transport systems - Mobility integration - Physical and functional view
- 棉花纤维质量分析工艺考核试卷及答案
- 浆料复卷工艺考核试卷及答案
- 芳烃抽提装置操作工突发故障应对考核试卷及答案
- 聚氨酯弹性层施工规范考核试卷及答案
- 信息技术考试试题及答案
- 信息技术发展试题及答案
- 中医诊断学基础知识点试题测试卷
- 银行债券笔试题库及答案
- DB33-T 1261-2021 全装修住宅室内装修设计标准 附条文说明
- 人力资源知识竞赛题库及答案
- 地铁轨道安全培训报道课件
- 2025年征信题库及答案
- 传染病及其预防(第一课时)课件-2025-2026学年人教版生物八年级上册
- 2025年社工工作者考试真题及答案
- 同城理发店转租合同范本
- 医院反诈宣传课件
- 2025年日本n4试题及答案
- 2025年秋期人教版3年级上册数学核心素养教案(第2单元)(教学反思有内容+二次备课版)
- 2025乡村医生培训考试试题库及参考答案
- 智慧工业园区AI大模型数字化平台建设方案
评论
0/150
提交评论