




已阅读5页,还剩33页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C语言程序设计 第三讲 3 1选择型程序设计if语句 条件选择语句 if语句的三种形式形式一 格式 if 表达式 语句 执行过程 例 if x y printf d x 形式二 格式 if 表达式 语句1else语句2执行过程 例 if x y max x elsemax y 形式三 格式 if 表达式1 语句1elseif 表达式2 语句2elseif 表达式3 语句3 else语句n 执行过程 例 if salary 10000 index 0 4 elseif salary 8000 index 0 3 elseif salary 4500 index 0 15 elseif salary 3000 index 0 05 elseindex 0 如 if a b 程序运行后的输出结果是A 3B 2C 1D 0 10年9月 若变量已正确定义 在if W printf d n k 中 以下不可替代W的是A a b cB ch getchar C a b cD a 说明 if后面的表达式类型任意 语句可以是复合语句if x if x 0 if x if x 0 例考虑下面程序的输出结果 includemain intx y scanf d d CompileError 例1 若有以下程序main inta 4 b 3 c 5 t 0 if a b t a a b b t if a c t a a c c t printf d d d n 执行后输出结果是 例2 若有以下程序main intn 0 m 1 x 2 if n x 1 if m x 2 if x x 3 printf d n x 执行后输出结果是 学考结合 例 11年3月 有以下程序main intx scanf d 若程序运行时从键盘输入12 则输出结果为 7 if语句嵌套 一般形式 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正确配对方法 加 有以下程序 08年9月28题 includemain intx 1 y 2 z 3 if x y if y z printf d z elseprintf d y printf d n x 程序运行结果是A 331B 41C 2D 1 学考结合 3 2条件运算符与表达式一般形式 expr1 expr2 expr3执行过程功能 相当于条件语句 但不能取代一般if语句 条件运算符可嵌套如x 0 1 x 0 1 0 优先级 13 如a b a c d c d a b a c d c d expr1 expr2 expr3类型可不同 表达式值取较高的类型 例x a b x 0 表达式值为 b x 0 表达式值为 a x y 1 1 5 x y 值为1 0 x y 值为1 5 例1有以下程序段intk 0 a 1 b 2 c 3 k ac c k 执行该程序段后 k的值是 A 3B 2C 1D 0 20099 19 以下程序段中 与语句 k a b b c 1 0 0 功能相同的是A if a b c 学考结合 3 3switch语句 开关分支语句 一般形式 switch 表达式 caseE1 语句组1 break caseE2 语句组2 break caseEn 语句组n break default 语句组 break 执行过程 注意事项 Switch语句中的圆括号中的表达式的必须是整型或字符型可以没有break语句和default部分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 运行结果 score为5时 输出 Verygood Good Pass Fail dataerror 例voidmain 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 经典例题 2010 3 18 以下选项中与if a 1 a b elsea 语句功能不同的switch语句 A switch a B switch a 1 case1 a b break case0 a b break default a case1 a C switch a D switch a 1 default a break case1 a b break case1 a b case0 a 19 有以下程序2011年3月main ints scanf d 运行时 若输入123450 则输出结果是A 6566456B 66656C 66666D 6666656 3 4循环型程序设计概述C语言可实现循环的语句 用goto和if构成循环while语句do while语句for语句goto语句及用goto构成循环 一般了解 goto语句一般格式 goto语句标号 标号 语句 功能 无条件转移语句说明 不能用整数作标号标号只能出现在goto所在函数内 且唯一标号只能加在可执行语句前面限制使用goto语句 例用if和goto语句构成循环 求 includemain inti sum 0 i 1 loop if i 100 sum i i gotoloop printf d sum sum 0 1sum 1 2 3sum 3 3 6sum 6 4 sum 4950 100 5050 while语句一般形式 while 表达式 循环体语句 执行流程 特点 先判断表达式 后执行循环体注意事项 While是C语言的关键字 圆括号内的表达式为任意合法的表达式 循环体语句只有一个时可不加花括号 多时必须加 循环体有可能一次也不执行 循环体可为任意类型C语句 下列情况 退出while循环条件表达式不成立 为零 循环体内遇break return goto 无限循环 while 1 循环体 例1 以下程序的运行结果是 includemain inti sum 1 i 1 while i 5 sum sum i i printf d sum 例2 以下程序的运行结果是 includemain inty 10 while y printf y d n y do while语句一般形式 do循环体语句 while 表达式 执行流程 特点 先执行循环体 后判断表达式说明 至少执行一次循环体 do while可转化成while结构 例1 用do while循环求 includemain inti sum 0 i 1 do sum i i while i 100 printf d sum 例2 以下程序的运行结果是 includemain inti n 0 i 0 do i i while n 0 printf d i 例while和do while比较 了解 includemain inti sum 0 scanf d main inti sum 0 scanf d 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 3 i switch i case0 printf d i case2 printf d i default printf d i 运行结果 例 08年9月8题填空 以下程序的输出结果 8 includemain inti j sum for i 3 i 1 i sum 0 for j 1 j i j sum i j printf d n sum 2011 3 22 若i和k都是int类型变量 有以下for语句for i 0 k 1 k 1 k printf n 下面关于语句执行情况的叙述中正确的是A 循环体执行两次B 循环体执行一次C 循环体一次也不执行D 构成无限循环 循环的嵌套 关键要分清层次 三种循环可互相嵌套 层数不限外层循环可包含两个以上内循环 但不能相互交叉嵌套循环的执行流程 1 while while 2 do do while while 3 while do while 4 for do while while 嵌套循环的跳转禁止 从外层跳入内层跳入同层的另一循环向上跳转 例2 以下程序的运行结果是 includemain inti j sum 0 for i 1 i 5 i for j 1 j 4 j sum printf sum d n sum 有以下程序 08年9月27题 iincludemain inti j for i 3 i 1 i for j 1 j 2 j printf d i j printf n 程序的运行结果是 234B 432C 23D 4534554334344523 4 6辅助控制语句break语句功能 在循环语句和switch语句中 终止并跳出循环体或开关体说明 break只能终止并跳出最近一层的结构break不能用于循环语句和switch语句之外的任何其它语句之中 例2 以下程序的运行结果是 includemain intx 15 while x 10 例 08年9月29题 有以下程序 includemain inti 5 do if i 3 1 if i 5 2 printf d i break i while i 0 printf n 程序的运行结果是A 7B 3 5C 5D 2 6 4 6 2continue语句功能 结束本次循环 跳过循环体中尚未执行的语句 进行下一次是否执行循环体的判断仅用于循环语句中 例04 4 25以下程序的运行结果是 includemain inti n 0 for i 2 i 5 i do if x 3 continue n while i n printf n d n n 10年3月真题 20 有以下程序 includemain inti j m 1 for i 1 i0 j if i j 3 break m i j printf m d n m 程序运行后的输出结果是 A m 6 B m 2 C m 4 D m 5 21 有以下程序 includesmain inta 1 b 2 for a 8 a b a a 2 printf d d n a b 程序运行后的输出结果是 A 9 18 B 8 11 C 7 11 D 10 14 思考题 1 输入某年某月某日 判断这一天是这一年的第几天 2 输入三个整数x y z 请把这三个数由小到大输出 3 输出9 9口诀4 判断10 300之间有多少个素数 并输出所有素数 5 打印出所有的 水仙花数 所谓 水仙花数 是指一个三位数 其各位数字立方和等于该数本身 6 输入两个正整数m和n 求其最大公约数和最小公倍数 7 输入一行字符 分别统计出其中英文字母 空格 数字和其它字符的个数 8 求s a aa aaa aaaa aa a的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 公司转让小汽车合同范本
- 加盟店铺转让合同协议书
- 公司员工合同培训协议书
- 赔偿协议书集合5篇合同
- 劳务工资付款协议书范本
- 保姆安全合同协议书范本
- 卖矿居间合同协议书范本
- 借钱账本如何写合同范本
- 劳务合同代偿协议书范本
- 个人项目合作协议合同书
- 2025年湖南湘西自治州州直事业单位招聘考试笔试试卷附答案
- 幼儿园安全责任书及后勤管理制度
- 消防车辆事故课件
- 2026届四川省宜宾市普通高中高一化学第一学期期末统考试题含解析
- 《2型糖尿病中医防治指南(2024版)》解读课件
- 剑阁县普安镇污水处理厂扩容建设项目环评报告
- 商务楼宇管理办法
- 肺炎护理试题填空及答案
- 社用手机管理办法
- 心电监护操作常见并发症预防及处理
- 学校食堂各种检查记录表格表册11
评论
0/150
提交评论