程序控制结构.ppt_第1页
程序控制结构.ppt_第2页
程序控制结构.ppt_第3页
程序控制结构.ppt_第4页
程序控制结构.ppt_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第2章程序控制结构 潘章明2007年3月 2020 1 27 2 语句的分类 声明语句指示编译器分配内存 或者提供程序连接信息 操作语句描述对数据的处理 控制语句用于控制程序的执行流程 2020 1 27 3 程序的基本结构 顺序结构程序中的语句从上到下按顺序执行 选择结构通过判断 来确定执行哪些语句 循环结构可以控制某段语句组重复执行 2020 1 27 4 本章内容 1选择结构 2循环结构 3判断表达式的使用 4转向语句 2020 1 27 5 1选择结构 对给定的条件进行判断 并根据判断的结果选择不同的操作 2020 1 27 6 1选择结构 续 C 中的条件语句if语句switch语句 2020 1 27 7 if语句 一个分支的if语句 if 表达式 语句 2020 1 27 8 if语句 续 一个分支的if语句 max a if b a max b cout max max endl 2020 1 27 9 if语句 续 两个分支的if语句 if 表达式 语句1 else语句2 2020 1 27 10 if语句 续 两个分支的if语句 if b a max b elsemax a cout max max endl 2020 1 27 11 if语句 续 if语句的嵌套if语句中的执行语句如果又是另一个if语句 称为嵌套if语句 if与else的配对关系 C 规定 else总是与它接近的if配对 使用复合语句 可以改变条件语句的执行流程 2020 1 27 12 举例 例1从键盘输入三个数 求这三个数中的最大值 例2输入三条边 若这三条边构成三角形就求三角形的面积 否则 输出 不是三角形 的信息 例3求一元二次方程ax2 bx c 0的根 2020 1 27 13 switch语句 根据一个整型表达式的值决定程序分支 switch 表达式 case常量表达式1 语句1case常量表达式2 语句2 case常量表达式n 语句ndefault 语句n 1 注 表达式类型为非浮点型 各常量表达式类型要与之匹配 各常量表达式要求各不相等 default子句可选 缺省时 没有匹配值switch语句为空 2020 1 27 14 switch语句 续 语句执行流程 2020 1 27 15 switch语句 续 举例1 includevoidmain chargrade cout grade switch grade case a cout 85 100 n case b cout 70 84 n case c cout 60 69 n case d cout 60 n default cout error n 2020 1 27 16 switch语句 续 举例2 includevoidmain chargrade cout grade switch grade case a case A cout 85 100 n break case b case B cout 70 84 n break case c case C cout 60 69 n break case d case D cout 60 n break default cout error n 2020 1 27 17 switch语句 续 讨论case和default仅起语句标号作用 不能控制程序流程 一旦选中一个case分支后 将继续往下顺序执行语句序列 添加break语句可以跳出switch语句体 达到控制流程作用 2020 1 27 18 switch语句 续 switch语句嵌套 switch i case1 case2 switch j case1 case2 case3 嵌套结构的case标号与外层无关 2020 1 27 19 switch语句 续 举例根据x的值 按下式计算y的值 2020 1 27 20 2循环结构 问题的提出求解2n 2020 1 27 21 2循环结构 两种基本循环结构 2020 1 27 22 while语句 while 表达式 循环体 2020 1 27 23 while语句 续 举例 includevoidmain inti 1 sum 0 while i 100 sum sum i i cout sum sum endl 循环体的算法是什么 循环的条件是什么 循环结束条件是什么 如何修改循环条件 2020 1 27 24 do while语句 do循环体while 表达式 2020 1 27 25 do while语句 续 举例1用do while语句完成下列公式运算 2020 1 27 26 do while语句 续 举例2使用级数求 的近似值 2020 1 27 27 do while语句 续 举例2 分析用循环对各项值迭加 直至被加项10 8循环终止条件 x 10 8循环体算法 累加当前项 变号 求下一项分母 求下一项值 2020 1 27 28 for语句 for 表达式1 表达式2 表达式3 循环体 2020 1 27 29 for语句 续 举例求下列和式 2020 1 27 30 for语句 续 for语句的不同形式 1 i 1 缺省表达式1for i n i sum sum i 2 for i 1 i sum sum i if i n break 缺省表达式2 3 for i 1 i n sum sum i i 缺省表达式3 4 for i 1 i n sum i 缺省循环体 2020 1 27 31 三种循环的比较 i 1 while i n sum i i 1 dosum i while i n for i 1 i n i sum sum i 2020 1 27 32 循环的嵌套 一个循环语句的循环体内又包含循环语句 称为嵌套循环 各种循环语句都可以互相嵌套 循环不能交叉嵌套 2020 1 27 33 循环的嵌套 续 嵌套循环的执行机制 测试循环执行次数 includevoidmain cout i tj n for inti 1 i 3 i 外循环 cout i for intj 1 j 3 j 内循环 cout t j endl 2020 1 27 34 循环的嵌套 续 举例 穷举法的使用 张丘建在 算经 中提出 百鸡问题 鸡翁一值钱五 鸡母一值钱三 鸡雏三值钱一 凡百钱买百鸡 问鸡翁 鸡母 鸡雏各几何 100元最多只能买20只鸡翁 或33只鸡母 或300只鸡雏 鸡雏的数量等于100减去鸡翁和鸡母的数量 鸡翁 鸡母 鸡雏的数量应满足Cock 5 Hen 3 Chick 3 100 程序可采用穷举算法 在一个二重循环中直接打印出结果 2020 1 27 35 循环的嵌套 续 举例判定素数 整数m是素数的条件 除1和m外 没有其它因数 以i 2 m 1作除数 只要有一个i是m的因数 则m不是素数 for inti 2 i m i if m i 0 break if m i m是素数 elsem不是素数 2020 1 27 36 include includevoidmain longm cout m for inti 2 i m i if m i 0 break if m i cout m isprime endl elsecout m isnotprime endl 2020 1 27 37 循环的嵌套 续 举例找出100 200之间的所有素数 for m 101 m 200 m 2 if m是素数 输出m 2020 1 27 38 3判断表达式的使用 C 没有逻辑数据类型 表达式的值等于非0 是逻辑真 表达式的值等于0 是逻辑假 所有的表达式都可以作为判断 逻辑 表达式 2020 1 27 39 3判断表达式的使用 续 算术表达式用于判断 if expression 0 if expression if expression 0 if expression 输出1 100之间的奇数for inti 1 i 100 i if i 2 cout i t 2020 1 27 40 3判断表达式的使用 续 赋值表达式用于判断 if c a b cout difference endl elsecout equal endl 2020 1 27 41 3判断表达式的使用 续 对输入作判断 while cin x n s x cout n n endl sum s endl 2020 1 27 42 4转向语句 break语句无条件地结束switch语句 或循环语句 转向执行语句块的后续语句continue语句用于循环体中 终止当前一次循环 20

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论