C--高级语言程序设计第三课PPT课件.ppt_第1页
C--高级语言程序设计第三课PPT课件.ppt_第2页
C--高级语言程序设计第三课PPT课件.ppt_第3页
C--高级语言程序设计第三课PPT课件.ppt_第4页
C--高级语言程序设计第三课PPT课件.ppt_第5页
已阅读5页,还剩64页未读 继续免费阅读

下载本文档

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

文档简介

2020 3 18 可编辑 1 C 高级语言程序设计 第3章C 控制语句北京邮电大学信息与通信工程工程学院 2020 3 18 可编辑 2 用计算机解决实际问题 首先要分析问题 设计合适的算法 然后编程实现算法 2020 3 18 可编辑 3 第3章过程化语句 3 1算法的基本控制结构3 2if选择语句3 3switch选择语句3 4循环语句3 5循环嵌套3 6应用举例 2020 3 18 可编辑 4 3 1算法的基本控制结构 2020 3 18 可编辑 5 3 1算法的基本控制结构 算法1 计算机执行的操作2 这些操作的顺序伪码采用类似计算机语言的分句格式 以自然语言描述算法 2020 3 18 可编辑 6 3 1算法的基本控制结构 流程图开始 结束执行判断联系 2020 3 18 可编辑 7 3 1算法的基本控制结构 程序的三种基本控制结构 1 顺序结构 2 选择结构 3 循环结构 2020 3 18 可编辑 8 3 1算法的基本控制结构 流程控制语句选择语句 if else switch循环语句 while for do while转向语句 break continue 2020 3 18 可编辑 9 3 1算法的基本控制结构 算法及其表示伪代码表示类似于计算机语言的分句格式 以少量关键词和自然语言形式描述流程图表示以流程图符号表示程序的执行流程 2020 3 18 可编辑 10 欧几里得算法描述举例 辗转相除法求两个自然数m和n的最大公约数 假定m n伪代码描述 流程图描述 1 inputm n2 r m n 3 while r 0 3 1m n 3 2n r 3 3r m n 4 outputn 2020 3 18 可编辑 11 3 2if选择语句 2020 3 18 可编辑 12 3 2if选择语句 if else1 没有else分支2 双分支3 多分支4 if语句的嵌套 2020 3 18 可编辑 13 3 2if选择语句 1 没有else分支例如 比较x和y的大小 如果x大则输出x的值 if 表达式 语句 if x y cout x endl 2020 3 18 可编辑 14 3 2if选择语句 2 双分支例如 比较x y的大小 将较大的数输出 if 表达式 语句1 else语句2 if x y cout x endl elsecout y endl 2020 3 18 可编辑 15 例子 任意输入一个4位整数的年份 判断该年是否是润年 是指年份能被4整除的那些年 但不包括能被100整除而不能被400整除的年 2020 3 18 可编辑 16 includeusingnamespacestd voidmain intyear cin year if year 4 0 2020 3 18 可编辑 17 3 2if选择语句 3 多分支 if 表达式1 语句1 elseif 表达式2 语句2 elseif 表达式3 语句3 else语句n 2020 3 18 可编辑 18 2020 3 18 可编辑 19 例子 输出学生的成绩 includeusingnamespacestd voidmain intx cin x if x 90 cout 80 cout 60 cout 合格 endl elsecout 不及格 endl 2020 3 18 可编辑 20 3 2if选择语句 4 if语句的嵌套 if 表达式1 if 表达式2 语句1else语句2elseif 表达式3 语句3else语句4 2020 3 18 可编辑 21 2020 3 18 可编辑 22 例子 输出a b c中较大的数 includeusingnamespacestd voidmain inta b c cin a b c if a b if a c coutc cout b endl elsecout c endl coutb a c a c b c b c 2020 3 18 可编辑 23 3 2if选择语句 注意 二义性intx 1 if x 0 if x 50 cout xis 50 endl elsecout xis 0 endl if和else的对应关系 else总是与离它最近的if匹配 2020 3 18 可编辑 24 3 3switch选择语句 2020 3 18 可编辑 25 3 3switch选择语句 switch 表达式 case常量表达式1 语句1break case常量表达式2 语句2break case常量表达式n 语句nbreak default 语句n 1 2020 3 18 可编辑 26 2020 3 18 可编辑 27 例子 输出学生的成绩 intx cin x switch x 10 case10 case9 cout 优秀 endl break case8 cout 良好 endl break case7 case6 cout 合格 endl break default cout 不及格 endl 2020 3 18 可编辑 28 switch语句注意事项 case的常量表达式可以是字符型 整型或枚举型 通常 也只是一个常量 不能放置条件不等式或变量 各个case的先后顺序不影响执行结果 由编程者合理安排 switch语句每当找到匹配的常量表达式 则从此标号开始执行下去 不再进行判断 即将此后的其它case下的语句也都执行 直到碰到break语句或switch语句结束 一般来说 在每个case的执行语句结束处 应该加上break语句 2020 3 18 可编辑 29 3 4循环语句 2020 3 18 可编辑 30 3 4循环语句 三种基本语法1 while语句2 do while语句3 for语句 2020 3 18 可编辑 31 include includeusingnamespacestd voidmain cout setfill setw 2 n setw 3 n setw 4 n setw 5 n setw 6 n setw 7 n setw 8 n 2020 3 18 可编辑 32 include includeusingnamespacestd voidmain inti 2 cout setfill while i 8 cout setw i n i 循环变量 循环体 循环控制条件 2020 3 18 可编辑 33 3 4循环语句 主要包括3个部分 1 循环控制条件 判断循环操作是否进行的条件 2 循环体 重复进行的操作 3 循环控制变量 记录循环体执行的次数 或控制循环的结束条件 2020 3 18 可编辑 34 3 4循环语句 while循环语句 while 表达式 循环体语句 2020 3 18 可编辑 35 例1 编程循环输出1 9这9个数字 includeusingnamespacestd voidmain inti 1 while i 9 cout i endl i cout 循环结束 endl 运行结果 123456789循环结束 2020 3 18 可编辑 36 例2 编程计算1 2 3 10的值 includeusingnamespacestd voidmain intsum 0 i 0 whil i 10 sum i i cout sum endl 55 2020 3 18 可编辑 37 例3 打印可视字符 includeusingnamespacestd voidmain unsignedcharch 32 while ch 128 cout int ch t ch t ch 2020 3 18 可编辑 38 例4 编程计算的值 includeusingnamespacestd voidmain intk 1 sum 0 n cout0 cin n while k0 cout sum n endl elsecout n不能 0 endl 2020 3 18 可编辑 39 3 4循环语句 do while循环语句 do 循环体语句 while 表达式 2020 3 18 可编辑 40 include includeusingnamespacestd voidmain inti 2 cout setfill while i 8 cout setw i n i do cout setw i n i while i 8 2020 3 18 可编辑 41 例子 编程计算的值 includeusingnamespacestd voidmain intk 1 sum 0 n cout0 cin n while k0 cout sum n endl elsecout n不能 0 endl do sum sum k k k while k n 2020 3 18 可编辑 42 3 4循环语句 for循环语句循环结构1 表达式1 循环变量初始化 2 表达式2 循环控制条件 3 表达式3 循环变量的变化 for 表达式1 表达式2 表达式3 循环体 2020 3 18 可编辑 43 例1 编程循环输出1 9这9个数字 includeusingnamespacestd voidmain for inti 1 i 10 i cout i endl cout 循环结束 endl 运行结果 123456789循环结束 2020 3 18 可编辑 44 例2 编程计算1 2 3 10的值 includeusingnamespcestd voidmain intsum 0 for inti 1 i 10 i sum i cout sum endl 运行结果 55 2020 3 18 可编辑 45 include includeusingnamespacestd voidmain cout setfill 例3 for inti 2 i 8 i cout setw i n 2020 3 18 可编辑 46 3 4循环语句 for语句 1 可以省略for inti 1 i 9 i 循环体 inti 1 for i 9 i 循环体 2020 3 18 可编辑 47 3 4循环语句 for语句 2 可以省略for inti 1 i 9 i 循环体 for inti 1 i if i 9 循环体 elsebreak 跳转语句 用来跳出循环 2020 3 18 可编辑 48 3 4循环语句 for语句 3 可以省略for inti 1 i 9 i 循环体 for inti 1 i 9 循环体 i 2020 3 18 可编辑 49 3 4循环语句 for语句 3 同时省略for inti 1 i 9 i 循环体 inti 1 for i 9 循环体 i 2020 3 18 可编辑 50 3 4循环语句 for语句 5 极端情况 可实现无限循环for 循环体 2020 3 18 可编辑 51 例4 判断输出结果 includeusingnamespacestd voidmain for inti 0 j 10 k 0 i j i j k i j cout k endl 分析 ijk010019928253746467055跳出 2020 3 18 可编辑 52 3 4循环语句 1 for 最适合循环次数固定 循环规律非常明显程序 2 while 使用最多最频繁的循环结构 具有普适性 3 do while 最适合至少循环一次的循环结构 2020 3 18 可编辑 53 3 4 4转向语句 1 break语句2 continue语句 2020 3 18 可编辑 54 3 4 4转向语句 break 用途 常用在while do while for和switch语句中 用来跳出循环或switch语句 2020 3 18 可编辑 55 例1 判断输出结果 includeusingnamespacestd voidmain intsum 0 for inti 1 i 10 i if i 3 0 break sum i cout sum endl 分析isum11233跳出 2020 3 18 可编辑 56 3 4 4转向语句 continue 用途用于循环语句中 结束本次循环 进行下一次循环 即跳过循环体中尚未执行的部分 2020 3 18 可编辑 57 例1 判断输出结果 includeusingnamespacestd voidmain intsum 0 for inti 1 i 10 i if i 3 0 continue sum i cout sum endl 分析isum11233371212192727跳出 2020 3 18 可编辑 58 3 5循环嵌套 2020 3 18 可编辑 59 3 5循环嵌套 编程输出国际象棋棋盘 includeusingnamespacestd voidmain for inti 0 i 8 i for intj 0 j 8 j if i j 2 0 cout elsecout cout n 2020 3 18 可编辑 60 思考 写出每个程序各输出结果 A for i 0 k 1 i 10 i if i 5 k i 10 elsecout k k B for i 0 k 1 i 10 i if i 5 k i 10 cout k k D for i 0 k 1 i 10 i if i 5 k i 10 cout k k C for i 0 k 1 i 10 i if i 5 0 k i 10 cout k k 2020 3 18 可编辑 61 思考 题目 使用For循环输出如下图形 2020 3 18 可编辑 62 includeusingnamespacestd voidmain for inti 1 ii j cout for j

温馨提示

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

评论

0/150

提交评论