C程序流程设计与C语句.ppt_第1页
C程序流程设计与C语句.ppt_第2页
C程序流程设计与C语句.ppt_第3页
C程序流程设计与C语句.ppt_第4页
C程序流程设计与C语句.ppt_第5页
已阅读5页,还剩95页未读 继续免费阅读

下载本文档

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

文档简介

第一讲练习 第二讲练习2第三讲练习3第四讲练习4第五讲练习5第六讲练习6 第四章C程序流程设计 4 1C语句概述C语句 以 作分隔符 编译后产生机器指令 C语句分类表达式语句 表达式加分号构成 空语句 程序控制语句 9种 如total total limit a 3 func printf Hello world n 复合语句 用 括起来的一组语句一般形式 数据说明部分 执行语句部分 说明 后不加分号语法上和单一语句相同复合语句可嵌套用途 用于语法上只允许单个语句而处理上需要多个语句的地方 主要用做if语句的子句及循环语句的循环体 如if a b t a a b b t 用于改变嵌套if else语句的配对规则 4 2程序的三种基本结构结构化程序设计基本思想 任何程序都可以用三种基本结构表示 限制使用无条件转移语句 goto 结构化程序 由三种基本结构反复嵌套构成的程序叫 优点 结构清晰 易读 提高程序设计质量和效率三种基本结构顺序结构 if 0 假 非0 真 if 4 3选择型程序设计if语句 条件选择语句 if语句的三种形式形式一 格式 if expression statement执行过程 例 if x y printf d x if else 0 假 非0 真 如果表达式为真 非0 电脑将执行语句1 if else 然后跳过语句2 执行下面的语句 if else 如果表达式为假 电脑将跳过语句1 执行语句2 然后继续执行下面的语句 4 3选择型程序设计if语句 条件选择语句 if语句的三种形式 形式二 格式 if expression statement1elsestatement2执行过程 例 if x y max x elsemax y 形式三 格式 if expr1 statement1elseif expr2 statement2elseif expr3 statement3 elsestatementn 执行过程 例 if salary 1000 index 0 4 elseif salary 800 index 0 3 elseif salary 600 index 0 2 elseif salary 400 index 0 1 elseindex 0 如 if a b 说明 if后面的表达式类型任意 语句可以是复合语句if x if x 0 if x if x 0 例考虑下面程序的输出结果 includemain intx y scanf d d CompileError ch4 1 c includemain intx y printf Enteraninteger scanf d 例求一个数的绝对值 运行 Enteraninteger 12 integer 12 absolutevalue 12 可用条件运算符代替此判断 ch4 2 c includemain inta b printf Enterintegera scanf d 例输入两个数并判断两数相等否 运行 Enterintegera 12 Enterintegerb 12 a b 运行 Enterintegera 12 Enterintegerb 9 a b ch4 3 c includemain charc printf Enteracharacter c getchar if c 0 例判断输入字符种类 运行 Enteracharacter Thecharacterisacontrolcharacter 运行 Enteracharacter 8 Thecharacterisadigit 运行 Enteracharacter D Thecharacterisacapitalletter 运行 Enteracharacter h Thecharacterisalowerletter 运行 Enteracharacter Thecharacterisothercharacter if语句嵌套 一般形式 例输入两数并判断其大小关系 ch4 4 c includemain intx y printf Enterintegerx y scanf d d 运行 Enterintegerx y 12 23 XYEnterintegerx y 12 12 X Y if else配对原则 缺省 时 else总是和它上面离它最近的未配对的if配对 例 if a b if b c printf a b c elseprintf a b 修改 if a b if b c printf a b c elseprintf a b 实现if else正确配对方法 使用复合语句 加 例考虑下面程序输出结果 main intx 100 a 10 b 20 intv1 5 v2 0 if a b if b 15 if v1 x 1 elseif v2 x 10 x 1 printf d x 结果 1 习题 第四章15 17 19 22 25 26 61 65 68 72 79 83 上机练习1 在E 盘建立学号 后3位 文件夹在此文件夹下编辑下列程序验证结果 保存文件名与题号一致 课件下载 ftp 10 10 154 27ftp 20 9 pub 习题第四章 65 68 69 72 79 编程 第四章119 120 121 122上传作业 1 保证学号文件夹中有相应的exe文件 2 将学号文件夹复制到 ftp 20 9 incoming 上传作业 习题 第四章84 86 102 switch语句 开关分支语句 一般形式 switch 表达式 caseE1 语句组1 break caseE2 语句组2 break caseEn 语句组n break default 语句组 break 执行过程 说明 switch case和default是关键字 Switch是多分支选择语句的标志 case和default只能在switch语句中使用 case子句和default子句 switch后面的表达式是选择条件 简称选择表达式 选择表达式可以为任何整型表达式 字符型表达式或枚举型表达式case后面的常量表达式 简称case常量 的值是选择表达式可能的取值 通常为常量或符号常量 类型应与选择表达式的类型一致 整型 括起来的部分是switch语句体 不能省略 switch语句体由多个case和至多一个 可以没有 default组成 说明 E1 E2 En是常量表达式 且值必须互不相同case与E1 E2 En之间的空格不可缺语句标号作用 必须用break跳出case后可包含多个可执行语句 且不必加 switch可嵌套多个case可共用一组执行语句 如 case A case B case C printf score 60 n break 例switch score case5 printf Verygood case4 printf Good case3 printf Pass case2 printf Fail default printf dataerror break break break break 运行结果 score为5时 输出 Verygood Good Pass Fail dataerror 运行结果 score为5时 输出 Verygood 例 includevoidmain intx 1 y 0 a 0 b 0 switch x case1 switch y case0 a break case1 b break case2 a b break case3 a b printf na d b d a b 运行结果 a 2 b 1 ch4 5 c includemain intc printf Entermornorhorother c getchar switch c case m printf nGoodmorning n break case n printf nGoodnight n break case h printf nHello n break default printf n n break 例根据输入字母输出字符串 习题 第四章108 109 112 115 116 117 126 转61 4 4循环型程序设计概述C语言可实现循环的语句 用goto和if构成循环while语句do while语句for语句goto语句及用goto构成循环goto语句一般格式 goto语句标号 标号 语句 功能 无条件转移语句说明 标号是标识符标号只能出现在goto所在函数内 且唯一标号只能加在可执行语句前面限制使用goto语句 例用if和goto语句构成循环 求 ch5 1 c includemain inti sum 0 i 1 loop if i 100 sum i i gotoloop printf d sum sum 0 1 1sum 1 2 3sum 3 3 6sum 6 4 10 sum 4950 100 5050 例从键盘输入一组数据 以0结束输入 求数据和 ch5 11 c includemain intnumber sum 0 read loop scanf d while语句一般形式 while 表达式 循环体语句 执行流程 特点 先判断表达式 后执行循环体说明 循环体有可能一次也不执行循环体可为任意类型语句下列情况 退出while循环条件表达式不成立 为零 循环体内遇break return goto无限循环 while 1 循环体 例用while循环求 ch5 2 c includemain inti sum 0 i 1 while i 100 sum sum i i printf d sum 例显示1 10的平方 ch5 21 c includemain inti 1 while i 10 printf d d d n i i i i i 运行结果 1 1 12 2 43 3 94 4 165 5 256 6 367 7 498 8 649 9 8110 10 100 习题 第五章1 2 3 8 11 13 do while语句一般形式 do循环体语句 while 表达式 执行流程 特点 先执行循环体 后判断表达式说明 至少执行一次循环体do while可转化成while结构 例用do while循环求 ch5 3 c includemain inti sum 0 i 1 do sum i i while i 100 printf d sum 例while和do while比较 ch5 4 c includemain inti sum 0 scanf d main inti sum 0 scanf d 习题 第五章14 19 22 for语句一般形式 for expr1 expr2 expr3 循环体语句 执行流程 for语句一般应用形式 for 循环变量赋初值 循环条件 循环变量增值 循环体语句 说明 for语句中expr1 expr2 expr3类型任意 都可省略 但分号 不可省无限循环 for for语句可以转换成while结构 expr1 while expr2 循环体语句 expr3 例 includemain inti 0 for i 0 i 10 i putchar a i 运行结果 abcdefghij 例 includemain inti 0 for i 10 i putchar a i 例 includemain inti 0 for i 10 putchar a i 例 includemain inti 0 for i 10 putchar a i i main inti j k for i 0 j 100 i j i j k i j printf d d d n i j k includemain charc for c getchar n printf c c includemain inti c for i 0 c getchar n i 3 printf c i c 运行结果 0 100 1001 99 100 50 50 100 运行结果 123 159 上机练习2 在E 盘建立学号 后3位 文件夹在此文件夹下编辑下列程序验证结果 保存文件名与题号一致 课件下载 ftp 10 10 154 27ftp 20 9 pub 习题第四章 108 117 124 128 ch5 2 c includemain inti sum 0 i 1 while i 100 sum sum i i printf d sum ch5 21 c includemain inti 1 while i 10 printf d d d n i i i i i ch5 3 c includemain inti sum 0 i 1 do sum i i while i 100 printf d sum 例ch5 4 c用for循环求 includemain inti sum 0 for i 1 i 100 i sum i printf d sum 例ch5 101 c includemain inti 0 for i 0 i 10 i putchar a i ch5 102 c main inti j k for i 0 j 100 i j i j k i j printf d d d n i j k ch5 103 c includemain charc for c getchar n printf c c 请输入一串字符后回车观察程序的运行结果 ch5 104 c includemain inti c for i 0 c getchar n i 3 printf c i c 上传作业 1 保证学号文件夹中有相应的exe文件 2 将学号文件夹复制到 ftp 20 9 incoming 3班第4章练习2 习题 第五章1 2 3 8 11 13 14 19 22 上机练习3 在E 盘建立学号 后3位 文件夹在此文件夹下编辑下列程序验证结果 保存文件名与题号一致 课件下载 ftp 10 10 154 27ftp 20 9 pub 习题第五章 8 9 10 11 13 19 20 2122 如何设计 能打印出所有可能的取值 2 上传作业 1 保证学号文件夹中有相应的exe文件 2 将学号文件夹复制到 ftp 20 9 incoming 3班第4章练习3 for语句一般形式 for expr1 expr2 expr3 循环体语句 循环的嵌套三种循环可互相嵌套 层数不限外层循环可包含两个以上内循环 但不能相互交叉嵌套循环的执行流程 嵌套循环的跳转禁止 从外层跳入内层跳入同层的另一循环向上跳转 例循环嵌套 输出九九表 ch5 5 c includemain inti j for i 1 i 10 i printf 4d i printf n n for i 1 i 10 i for j 1 j 10 j printf j 9 4d n 4d i j for i 1 i 10 i for j 1 j 10 j printf j 9 4d n 4d i j 4 5辅助控制语句break语句功能 在循环语句和switch语句中 终止并跳出循环体或开关体说明 break只能终止并跳出最近一层的结构break不能用于循环语句和switch语句之外的任何其它语句之中 例break举例 输出圆面积 面积大于100时停止 include definePI3 14159main intr floatarea for r 1 r100 break printf r d area 2f n r area 例break举例 小写字母转换成大写字母 直至输入非字母字符 includemain charc while 1 printf 小写转大写程序 n c getchar if c a continue语句功能 结束本次循环 跳过循环体中尚未执行的语句 进行下一次是否执行循环体的判断仅用于循环语句中 P 106 例4 18求输入的十个整数中正数的个数及其平均值 ch5 12 c includemain inti num 0 a floatsum 0 for i 0 i 10 i scanf d 程序举例 分子 1 1 1 1 分母 1 3 5 7 例迭代产生Fibonacci数列 有趣的古典数学问题 有一对兔子 从出生后第3个月起每个月都生一对兔子 小兔子长到第3个月后每个月又生一对兔子 假设所有兔子都不死 问每个月的兔子总数为多少 例迭代产生Fibonacci数列 1 1 2 3 5 8 13 21 34 从第3数起 每数是前2数之和 f1 f2 f1 f1 f2 f2 f2 f1 f1 f1 f2 f2 f2 f1 f1 f1 f2 f2 f2 f1 例求Fibonacci数列 1 1 2 3 5 8 的前40个数 例4 10判断m是否素数P 93 谭P 119 例6 10译密码 例如Hello world 译成密码 Lipps asvph 习题 第五章26 29 33 35 36 37 39 上机练习4 在E 盘建立学号 后3位 文件夹在此文件夹下编辑下列程序验证结果 保存文件名与题号一致 课件下载 ftp 20 9 pub ch5 5 c includemain inti j for i 1 i 10 i printf 4d i printf n n for i 1 i 10 i for j 1 j 10 j printf j 9 4d n 4d i j ch5 5 cch5 99 cch5 100 cch5 12 cch5 6 cch5 7 cch5 8 cch5 10 c第五章 35 36 37 39 ch5 99 c include definePI3 14159main intr floatarea for r 1 r100 break printf r d area 2f n r area ch5 100 c includemain charc while 1 printf 小写转大写程序 n c getchar if c a ch5 12 c includemain inti num 0 a floatsum 0 printf 输入10个整数 求出其中正整数的个数及平均值 n for i 0 i 10 i scanf d ch5 6 c include includemain ints floatn t pi t 1 pi 0 n 1 0 s 1 while fabs t 1e 6 pi pi t n n 2 s s t s n pi pi 4 printf pi 10 6f n pi ch5 7 c includemain longintf1 f2 inti f1 1 f2 1 for i 1 i 20 i printf 12ld 12ld f1 f2 if i 2 0 printf n f1 f1 f2 f2 f2 f1 ch5 8 c include includemain intm i k printf 请输入一个整数 以判断其是否为素数 n scanf d ch5 10 c译密码 includemain charc printf 循环译密码程序 n while c getchar n if c a 习题第五章 35 36 37 39 2 上传作业 1 保证学号文件夹中有相应的exe文件 2 将学号文件夹复制到 ftp 20 9 incoming 3班第4章练习4 共12题 习题 第五章40 41 45 49 57 59 62 64 67 70 72 76 题5 401000 1 2 3 4 5 10 15 25 999 1000kii 1000m iwhile m 5 0 k m m 5 i 505151111011012215115133201201442512515516130 题5 60如 62242 求

温馨提示

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

评论

0/150

提交评论