




已阅读5页,还剩58页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C语言程序设计 第5 6章 选择 循环结构程序设计1 目录 基本语句 关系运算符和关系表达式 逻辑运算符和逻辑表达式 分支程序设计 循环程序设计 C语言程序设计 第5 6章 选择 循环结构程序设计2 基本语句 Statements 控制语句 表达式语句 函数调用语句 空语句 复合语句 C语言程序设计 第5 6章 选择 循环结构程序设计3 控制语句 完成一定的控制功能 C语言的9种控制语句 if else while continue switch return for do while break goto C语言程序设计 第5 6章 选择 循环结构程序设计4 表达式语句 形式 expression 表达式最后加一个分号 举例 a 3 赋值语句 z x y z 一条语句 x y 语句 但无实际意义 i 语句 i 表达式 不是语句 C语言程序设计 第5 6章 选择 循环结构程序设计5 函数调用语句 形式 function arguments 函数调用后加一个分号 函数调用语句可以看作一种表达式语句 举例 printf d i getchar myfun a b C语言程序设计 第5 6章 选择 循环结构程序设计6 空语句 形式 只有一个分号 用法 作为转向点 作为循环语句中的循环体 举例 for i 1 i 100 i sum i for i 1 i y 复合语句开始 t x x y y t 复合语句结束 printf d d x y C语言程序设计 第5 6章 选择 循环结构程序设计9 C语言语句使用说明 除复合语句外 语句都以分号 作为结束 语句书写格式比较自由 确定语句结束 的唯一标准是分号 注意区分表达式和表达式语句 它们的 用法不同 举例 if a b 0 t a 错例 if a b 0 t a 举例 if x y x y 错例 if x y x y C语言程序设计 第5 6章 选择 循环结构程序设计10 关系运算符 Relational Operators 运算符名称举例优先级 算术运算符 小于i 100 高 小于等于a大于f 3 14 大于等于c a 等于a b 低 不等于x 0 赋值运算符 C语言程序设计 第5 6章 选择 循环结构程序设计11 关系表达式 用关系运算符将两个表达式连接起来 a b c d a 3 x 注意区分等于 和赋值运算符 a b a b 关系表达式的值是逻辑值 真 或 假 C语言用整型表示逻辑值 真 1 假 0 举例 a 3 b 2 c 1 d a b d 1 f a b c f a b c 0 C语言程序设计 第5 6章 选择 循环结构程序设计12 逻辑运算符 Logical Operators 运算符名称举例优先级 逻辑非 a b 算术运算符 关系运算符 if x y d为x和y之间的距离 d x y else d y x if x y 合法 但没有实际操作 C语言程序设计 第5 6章 选择 循环结构程序设计21 if语句的嵌套 if语句的各子句都可以又是if语句 应注意if else的配对关系 else总是与其上面最近的没有配对的if配 对 可以用 明确if else的配对关系 if exp1 if exp1 if exp2 if exp2 statement1statement1 elseelse statement2statement2 C语言程序设计 第5 6章 选择 循环结构程序设计22 if语句嵌套说明 语法规定else总是与其它前面最接近的还 没有配对的if配对 进入if语句后 不管层层嵌套多复杂 最 多只执行其中的一条语句 C语言程序设计 第5 6章 选择 循环结构程序设计23 If语句嵌套举例 根据学生的考分来划分优 良 及格和不及格 void main float score char grade scanf f if score 94 grade A else if score 79 grade B else if score 59 grade C else grade D 100 95 A 94 80 B 79 60 C 59 0 D C语言程序设计 第5 6章 选择 循环结构程序设计24 条件运算符 Conditional Operator 条件运算符 条件表达式 exp1 exp2 exp3 先判断exp1 若exp1为 真 表达式的值为exp2的值 若exp1为 假 表达式的值为exp3的值 举例 max x y x y 同 if x y max x else max y C语言程序设计 第5 6章 选择 循环结构程序设计25 switch语句 switch expression case const exp statements case const exp statements case const exp statements default statements C语言程序设计 第5 6章 选择 循环结构程序设计26 switch语句的说明 先求switch后表达式的值 若此值与某 个case后的常量表达式的值相等 则跳 转到这个case后的语句 若没有相等的 常量表达式 则跳转到default 跳转后程序一直往下执行 不会因为遇 到另一个case而直接跳出switch 根据实际需要 可以没有default 若需要跳出switch 可使用break语句 case和default的顺序不影响执行结果 C语言程序设计 第5 6章 选择 循环结构程序设计27 switch语句举例 1 switch day 打印星期的缩写 case 1 printf Mon n break case 2 printf Tue n break case 3 printf Wed n break case 4 printf Thu n break case 5 printf Fri n break case 6 printf Sat n break default printf Sun n C语言程序设计 第5 6章 选择 循环结构程序设计28 switch语句举例 2 switch deptno 根据系编号打印学院 case 15 case 16 case 17 printf 商学院 n break case 18 case 25 printf 人文学院 n break case 7 printf 地空学院 n break default printf 其他学院 n C语言程序设计 第5 6章 选择 循环结构程序设计29 分支程序设计举例 求一元二次方程的根 当a 0时 不是一元二次方程 当a 0时 方程的根为 当b2 4ac 0 方程有两个实根 当b2 4ac0 输出两个实根输出两个实根 x1 x2 输出两个复根输出两个复根 p qi p qi a acbb x 2 4 2 1 a acbb x 2 4 2 2 计算复根的实部计算复根的实部 和虚部和虚部 实部 实部 p b 2a 虚部虚部 a acb q 2 4 2 输出两输出两 个相等个相等 的实根的实根 b 2a 输出提输出提 示信息示信息 不是二不是二 次方程次方程 C语言程序设计 第5 6章 选择 循环结构程序设计31 判读第几天 题目 输入某年某月某日 判断这一天是这一年的第几天 程序分析 以3月5日为例 应该先把前两个月的加起 来 然后再加上5天即本年的第几天 特殊情况 闰年且输入月份大于3时需考虑多加一天 include main int day month year sum leap printf nplease input year scanf d printf please input month scanf d printf please input day scanf d C语言程序设计 第5 6章 选择 循环结构程序设计32 switch month 先计算某月以前月份的总天数 case 1 sum 0 break case 2 sum 31 break case 3 sum 59 break case 4 sum 90 break case 5 sum 120 break case 6 sum 151 break case 7 sum 181 break case 8 sum 212 break case 9 sum 243 break case 10 sum 273 break case 11 sum 304 break case 12 sum 334 break default printf data error break sum sum day 再加上某天的天数 if year 400 0 year 4 0 else leap 0 if leap 1 如果是闰年且月份大于2 总天数应该加一天 printf It is the dth day sum C语言程序设计 第5 6章 选择 循环结构程序设计33 回文数 题目 一个5位数 判断它是不是回文数 例12321是回文数 程序分析 分解出每一位数 然后比较 main long ge shi qian wan x scanf ld wan x 10000 分解出万位 qian x 10000 1000 分解出千位 shi x 100 10 分解出十位 ge x 10 分解出个位 if ge wan else printf this number is not a huiwen n C语言程序设计 第5 6章 选择 循环结构程序设计34 循环程序设计 while语句 do while语句 for语句 break和continue语句 循环程序设计举例 C语言程序设计 第5 6章 选择 循环结构程序设计35 while语句 while expression statement while型循环 先判断表达式 后 执行语句 一般情况下 循环 中应含有能使循环 语句结束的操作 statement a b expr 真真 假假 C语言程序设计 第5 6章 选择 循环结构程序设计36 while语句举例 int i sum i 1 sum 0 while i 100 sum i 循环体缩进书写 i 使循环趋向结束 100 1i isum C语言程序设计 第5 6章 选择 循环结构程序设计37 do while语句 do statement while expression 类似于Until型循环 先执行一次循环体 语句 后判断表达 式 statement a b expr 真真 假假 C语言程序设计 第5 6章 选择 循环结构程序设计38 do while语句举例 int i sum i 1 sum 0 do sum i i while i 100 100 1i isum C语言程序设计 第5 6章 选择 循环结构程序设计39 do while与Until型循环 do sum i i while i100 Until型循环型循环 C语言程序设计 第5 6章 选择 循环结构程序设计40 for语句 for expr1 expr2 expr3 statement expr1 while expr2 statement expr3 C语言程序设计 第5 6章 选择 循环结构程序设计41 for语句的说明 三个表达式的说明 expr1 初始化 expr2 循环条件 expr3 一般是循环变量的改变 三个表达式都可以省略 分隔表达式的分号不能省略 expr1省略 不进行初始化 expr2省略 认为循环条件永为 真 expr3省略 不在这里改变循环变量 C语言程序设计 第5 6章 选择 循环结构程序设计42 for语句举例 int i sum for i 1 sum 0 i 100 i sum i for i 1 sum 0 i 100 sum i for i 0 sum 0 i 100 sum i 100 1i isum C语言程序设计 第5 6章 选择 循环结构程序设计43 break语句 形式 break 说明 跳出switch语句 跳出本层循环语句 如果有多层循环存在 break只跳出它所在 的那一层循环语句 不影响外层循环的执行 不能用于循环语句和switch语句之外的任 何其他场合 C语言程序设计 第5 6章 选择 循环结构程序设计44 continue语句 形式 continue 说明 结束本次循环 跳过循环体中余下的其他语句 接着进行下 一次循环的判定 只能用于循环语句中 C语言程序设计 第5 6章 选择 循环结构程序设计45 break和continue语句 break语句 跳出本层本层循环 while i100 break continue语句 结束本次本次循环 while i100 continue C语言程序设计 第5 6章 选择 循环结构程序设计46 循环程序设计举例 求最大公约数和最小公倍数 gcd lcm 0 gcd 0 gcd bababa bbab ba ba C语言程序设计 第5 6章 选择 循环结构程序设计47 例2 求最大公约数和最小公倍数 真真假假 a 1 或 或 b 1 输入输入a b 输出输出 gcd a b a lcm a b m a m a b 当当b 0 t a b a b b t 输出信息输出信息 输入数据输入数据 错误错误 C语言程序设计 第5 6章 选择 循环结构程序设计48 求最大公约数和最小公倍数 利用辗相除求其最大公约数和最小公倍数 main int a b num1 num2 temp printf please input two numbers n scanf d d if num1 num2 交换两个数 使大数放在num1上 temp num1 num1 num2 num2 temp a num1 b num2 while b 0 利用辗除法 直到b为0为止 temp a b a b b temp printf gongyueshu d n a printf gongbeishu d n num1 num2 a C语言程序设计 第5 6章 选择 循环结构程序设计49 百钱买百鸡问题 程序1 公鸡5钱1 母鸡3钱1 小鸡1钱3 百钱买百鸡 include main int cock hen chick for cock 1 cock 19 cock for hen 1 hen 33 hen if 5 cock 3 hen 100 cock hen 3 100 printf cock d hen d chick d n cock hen 100 cock hen C语言程序设计 第5 6章 选择 循环结构程序设计50 百钱买百鸡问题 程序2 main int cock hen chick for cock 1 cock 19 cock for hen 1 hen 33 hen chick 100 cock hen if chick 3 0 C语言程序设计 第5 6章 选择 循环结构程序设计51 判断m是否为素数 include include main int m i k printf Enter m scanf d k sqrt m for i 2 ik printf d is a prime number n m else printf d is not a prime number n m C语言程序设计 第5 6章 选择 循环结构程序设计52 分数序列 题目 有一分数序列 2 1 3 2 5 3 8 5 13 8 21 13 求出这个数列的前20项之和 注意分子与分母的变化规律 include main int n t number 20 float a 2 b 1 sum 0 a为分子 b为分母 for n 1 n number n sum sum a b t a a a b b t 这部分是程序的关键 请猜猜t的作用 printf sum is
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 排水巡查员设备调试考核试卷及答案
- 财税顾问咨询方案价格
- 咨询老师奖励方案
- 新媒体营销团队建立方案
- 咨询竞标方案
- 清明采茶节活动策划方案
- 水杯营销方案策划书英文
- 沈阳液压传动方案咨询
- 高铁乘务员营销方案
- 建筑施工节能控制方案设计
- 交安工程施工合同
- 高中生物选择性必修一知识点总结
- 肠造口并发症讲稿课件
- GB/T 6403.5-2008砂轮越程槽
- GB/T 15970.2-2000金属和合金的腐蚀应力腐蚀试验第2部分:弯梁试样的制备和应用
- 石灰石石膏湿法脱硫工艺详1系统课件
- 组织行为学核心主题全系列(MBA研修班学生版4日)课件
- 局部解剖学绪论课件
- 可持续发展旅游课件
- 桥梁基础工程施工
- 非常实用的鸡的解剖课件
评论
0/150
提交评论