




免费预览已结束,剩余71页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第3章基本控制结构 ch3基本控制结构 3 1C语句的分类 3 2顺序结构程序设计 3 3选择结构程序设计 3 4循环结构程序设计 3 5使用库和函数 3 6典型例题 返回 1 控制语句二个分支语句 if else switch case 三个循环语句 for while do while 四个转移语句 continue break goto return 2 函数调用语句如 printf Hello world 3 表达式语句x y i a 2 a 3 5 40 3 1C语句的分类 4 空语句 5 复合语句 语句序列 返回 3 1C语句的分类 一 赋值语句语法 变量 表达式 语义 计算 右边表达式的值 将之赋给 左边的变量 如 b 3 if a b 0 t a 注意 赋值语句与赋值表达式的区别二 顺序程序举例 3 2顺序结构程序设计 例3 1 输入一大写字母 改为小写后输出 includemain charc1 c2 scanf c 3 2顺序结构程序设计 测试数据及运行结果输入 A 输出 A 65a 97 3 2顺序结构程序设计 例 输入三角形的三边长 求三角形面积 分析 设三角形的三边分别为a b c则 面积area2 s s a s b s c 其中s a b c 2 3 2顺序结构程序设计 源程序 includemain floata b c s area scanf f f f 发散 三角形面积的计算 返回 3 3选择结构程序设计 3 3 1关系运算符与关系表达式 一 关系运算符 关系表达式 i c d x y a b求值结果 int型 0或1 1为真 0为假如 设a 3 b 2 c 1则 d a b的值为1f a b c的值为0 3 3 1关系运算符与关系表达式 6种关系运算符的优先级别不同 程序设计中最好不要对两个浮点数直接进行相等性比较 方法之一如 fabs a b 1E 6关系运算符的结合性是左结合 一 逻辑运算符及其优先次序一元逻辑运算符 右结合二元逻辑运算符 左结合逻辑运算的真值表 3 3 2逻辑运算符与逻辑表达式 二 逻辑表达式逻辑表达式 如 x 0则 a为0a 4 b 5时 则a b为1 3 3 2逻辑运算符与逻辑表达式 表达式优化优化 逻辑运算符的执行 只是在下一该逻辑运算符必须执行才能求出表达式的值时才执行 如 a b c只有当a为非0时才判b a b c当a为真时 不再判b和c 逻辑运算符的优先级从高到低依次为 3 3 2逻辑运算符与逻辑表达式 例 inta 1 b 2 c 3 d 4 m 1 n 1 则执行 m a b n c d 后 m n分别是多少 答案是 m 0 n 1利用逻辑表达式还能表示更为复杂的条件 year 4 0 year 100 0 year 400 0 3 3 2逻辑运算符与逻辑表达式 一 if语句的2种基本形式语法1 if 表达式 语句 语义 判断表达式的值 为真时执行语句 否则不执行 如 includemain charch ch getchar if ch a 3 3 3选择结构的实现 语法2 if 表达式 语句1 else语句2 语义 判断表达式的值 为真时执行语句1 否则执行语句2 3 3 3选择结构的实现 如 includemain inta b scanf d d 3 3 3选择结构的实现 二 if语句嵌套的2种形式1 if语句嵌套在else子句中if 表达式1 语句1 elseif 表达式2 语句2 elseif 表达式3 语句3 else语句n 1 3 3 3选择结构的实现 2 if语句嵌套在if子句中if 表达式1 if 表达式2 if 表达式3 语句1 else语句2 else语句3 else语句n 1 3 3 3选择结构的实现 例3 6 从键盘上输入字符 判别其分类 控制符 数字 大写字母 小写字母 其他字符 3 3 3选择结构的实现 include stdio h main charc c getchar if c 0 3 3 3选择结构的实现 3 3 3选择结构的实现 说明 1 if关键字后的表达式可以是一切类型 如 if a 5 语句 if b 语句 2 if语句中 条件表达式必须用括号括起来 3 3 3选择结构的实现 3 满足条件需执行一组语句时 该组语句必须用 括起来 如 if a b c 3 3 3选择结构的实现 4 if语句嵌套时 else与if的匹配问题 例3 7 有一函数 请编程 输入x的值 输出相应的y值 3 3 3选择结构的实现 main floatx y scanf f if x 0 if x 0 y 1 elsey 0 elsey 1 5 可利用条件表达来简化程序设计 如对于 if exp 0 可用if exp 来代替 3 3 3选择结构的实现 if exp 语句 等价于 if exp 0 语句 三 switch语句 3 3 3选择结构的实现 语法1 switch 表达式 caseC1 S1 caseC2 S2 caseCn Sn default Sn 1 其中 表达式必须放在括号中 C1至Cn是情况常量 default可缺省 语义 3 3 3选择结构的实现 例 switch grade case A printf 85 100 n case B printf 70 84 n case C printf 60 69 n case D printf 60 n default printf error n 3 3 3选择结构的实现 返回 语法2 switch 表达式 caseC1 S1 break caseC2 S2 break caseCn Sn break default Sn 1 break 3 3 3选择结构的实现 3 3 3选择结构的实现 语义 例 switch grade case A printf 85 100 n break case B printf 70 84 n break case C printf 60 69 n break case D printf 60 n break default printf error n break 3 3 3选择结构的实现 说明 1 default可省略 2 C1 Cn必须互不相同 3 语法2中 C1 Cn无次序影响 4 允许多个case共用一个执行语句 如 3 3 3选择结构的实现 switch ch case 0 case 1 case 2 case 3 case 4 case 5 case 6 case 7 case 8 case 9 digit break case case t case n white break default character 3 3 3选择结构的实现 5 break只能跳出一层 内外层情况常量可相同 如 includemain intx 1 y 0 switch x case1 switch y case0 printf 1 n break case1 printf 2 n break case2 printf 3 n getch 3 3 3选择结构的实现 四 三目条件运算符1 条件运算符 2 格式e1 e2 e33 语义 判e1的值 为1时计算e2 否则计算e3 如 max a b a b等价于if a b max a elsemax b 3 3 3选择结构的实现 4 说明 条件运算符的优先级仅高于 与 只有当if语句的真假均只执行一个赋值语句且是给同一变量赋值时 才能用条件表达式取代 如 if a b max a elsemax b 条件表达式可使程序简洁 3 3 3选择结构的实现 返回 问题1 假如全班41人 欲从键盘上输入每人的数学成绩 然后计算出平均成绩 问题2 编程计算n 重复执行一组语句是程序设计要求的基本功能之一 在C语言中可以用以下语句来实现循环 1 if和goto 2 while 3 do while 4 for 3 4循环结构程序设计 语法 while exp 循环体语句 语义 当exp为真时 执行循环体 为假时 执行循环语句的后续语句 如 用while语句构成循环 求 sum 1 2 100 3 4 1while语句 3 4 1while语句 3 4 1while语句 源程序 main inti 1 sum 0 while i 100 sum i i printf d sum 3 4 1while语句 说明 循环体可以用复合语句 循环控制变量在while前应赋初值 以确保循环的正常开始 3 4 1while语句 循环体内应改变循环控制变量的值 以确保循环正常结束 如 i 1 while i 100 sum sum 1 死循环 3 4 1while语句 while的特点 先判断后执行循环体最少执行次数为0 如 i 3 while i 3 printf i d n i 语法 do循环体语句 while exp 语义 当exp为真时 执行循环体 为假时 执行循环语句的后续语句 如 用do while语句构成循环 求sum 1 2 100 3 4 2do while语句 3 4 2do while语句 3 4 2do while语句 源程序 main inti 1 sum 0 do sum i i while i 100 printf d sum 3 4 2do while语句 说明 1 循环体可以用复合语句 2 循环控制变量在do前必须赋初值 3 循环体内应改变循环控制变量的值 4 do while循环的特点先执行后判断循环体至少被执行一次 如 i 3 do sum i i while i 10 3 4 2do while语句 语法 for exp1 exp2 exp3 循环体语句 语义 1 计算exp1 2 求exp2 为真时 执行 3 否则结束循环 3 执行循环体中的语句 4 执行exp3 5 返回 2 3 4 3for语句 3 4 3for语句 程序 main inti sum 0 for i 1 i 100 i sum i printf d sum 3 4 3for语句 说明 1 显然for循环更简洁 更灵活 2 循环体可以是复合语句 3 可同时对多个变量赋初值及修改 如 for i 0 j 1 j n循环变量改变 循环体 5 for语句中三个表达式可省 省exp1 如 i 1 for i 5 i printf d n i 等价于for i 1 i 5 i printf d n i 3 4 3for语句 省exp3 如 for i 1 i5 break 3 4 3for语句 三个表达式全省时 如 for 语句 等价于while 1 语句 5 for语句中的循环体可以是空语句 如 intn 0 while n 2 printf d n 结果为 4 3 4 3for语句 三种循环可互相代替 while do while和for循环控制变量之初值 循环控制之条件 循环控制变量之修正 除goto循环外 都能用break跳出循环 用continue结束本次循环 3 4 4三种循环语句的选用 三种循环可以互相嵌套例 打印九九乘法表 3 4 5循环结构的嵌套 1 1 11 2 21 3 31 4 41 5 51 6 61 7 71 8 81 9 92 1 22 2 42 3 62 4 8 2 9 18 9 1 99 2 189 3 27 9 9 81 main inti j for i 1 i 10 i for j 1 j 10 j printf d d 2d i j i j printf n getch 3 4 5循环结构的嵌套 3 4 6break语句和continue语句 一 break语句break只能用在循环语句 switch语句中功能 强行退出循环或switch语句 例 for r 1 r100 break printf f area 二 continue语句只能用在循环语句中功能 结束本次循环例 main intn for n 100 n 200 n if n 3 0 continue printf d n 3 4 6break语句和continue语句 返回 3 5 1输入输出的概念3 5 2输入输出函数 3 5使用库和函数 一 字符输入函数getchar语法 getchar 语义 从stdio上 输入一个字符 getchar是一个无参函数 getchar包含在stdio h中如 includemain putchar getchar 3 5 3字符输入输出函数 3 5 3字符输入输出函数 二 字符输出函数putchar语法 putchar c 语义 在stdout上 输出一个字符 如 includemain putchar 141 putchar a putchar 97 如 includemain charc while c getchar if c a 3 5 3字符输入输出函数 一 格式输入函数scanf语法 scanf 格式控制 地址表列 格式控制 含三类符号空白字符 空格 Tab或 输入时不必一一对应 普通字符 非格式说明符 非空白符 非 输入时必须一一对应 格式转换说明符 由 开始后跟 一约定的字母转换指示符 一任选的用于指定输入字段宽度的整数w 3 5 4格式输入输出函数 3 5 4格式输入输出函数 地址表列 由若干个地址组成 可以是变量的地址 也可以是字符串中的首地址等 例1 includemain inta floatb charstr 50 scanf d f s 设输入流数据流为 2554 32E 1Nanjing处理结果为 25 a5 432000 bNanjing str 3 5 4格式输入输出函数 输入项表的输入对象须是地址量 如 scanf d d d 3 5 4格式输入输出函数 3 5 4格式输入输出函数 一 格式输出函数printf语法 printf 格式控制 输出表列 语义 按格式控制将输出表列中的数据依次输出至屏幕上 格式控制普通字符和转义字符 原样输出 格式说明 由 和格式控制符组成如 d f c等 3 5 4格式输入输出函数 如 printf a d b d a b 若a b的值分别为2和3 则输出结果为 a 2 b 3 3 5 4格式输入
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 国家能源广东地区2025秋招笔试综合知识题专练及答案
- 中国移动阳江市2025秋招行业解决方案岗位专业追问清单及参考回答
- 中国移动宝鸡市2025秋招综合管理类专业追问清单及参考回答
- 中国广电郑州市2025秋招技能类专业追问清单及参考回答
- 临汾市中石油2025秋招笔试模拟题含答案炼油工艺技术岗
- 公司班组建设方案
- 中国广电海东市2025秋招计算机类专业追问清单及参考回答
- 中国广电三亚市2025秋招市场与服务类专业追问清单及参考回答
- 国家能源百色市2025秋招面试专业追问及参考交通运输岗位
- 中国联通甘肃地区2025秋招技能类专业追问清单及参考回答
- 2025主播签约合同范本
- 2025年咸阳机场安检员考试试题及答案
- 租房商场柜台合同(标准版)
- 湖北宜昌长阳清江水务投资控股集团有限公司招聘笔试题库2025
- (零模)南昌市2025年高三年级九月测试语文试卷(含标准答案)
- 2025年衢州编外考试试题及答案
- 2025-2026学年苏少版(2024)小学美术一年级上册教学计划及进度表
- 水务局面试真题及答案解析:水利行业招聘面试实战
- 邮政储蓄网点一点一策实施方案
- 2025年飞行服务站无人机培训行业现状分析报告
- 2025年中医理疗师考试题库及答案
评论
0/150
提交评论