VC++02_2.ppt_第1页
VC++02_2.ppt_第2页
VC++02_2.ppt_第3页
VC++02_2.ppt_第4页
VC++02_2.ppt_第5页
已阅读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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论