已阅读5页,还剩22页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
我们毕业啦 其实是答辩的标题地方 C语言辅导第三章 讲解人 吴慈航 化工学院2013级能源化学工程 西北大学学生校长助理 特等奖学金获得者 本内容仅作西北大学新生学习C语言使用 版权所有 请勿私自翻印 配套教材见右图配套教材见右图 本章讲解选择题和程序设计题本章讲解选择题和程序设计题 一 选择题 每题后一页均附有相应的源程序和执行结果 选择题参考答案预览 1 5 DBCBA 注意 为简化程序长度 所有源程序中均删除 include和system pause 代码 不影响最终的结果 请大家注意 1 在 if 表达式 语句中 可以判断的 表达式 是 A 关系表达式B 逻辑表达式 C 算术表达式D 任意表达式 本内容仅作西北大学新生学习C语言使用 版权所有 请勿私自翻印 解答 本题考查if语句 注意 这里问的是可以判断的 表达式 有的表达式不一定有实际的意义但也可以判断 用一个简单的例子 if a b 2 a by z x x y y z A x 10 y 20 z 30 B x 20 y 30 z 30 C x 20 y 30 z 10 D x 20 y 30 z 20 本内容仅作西北大学新生学习C语言使用 版权所有 请勿私自翻印 解答 这个题目考查了if语句常用错误 必须说明的是 if语句的作用范围仅限于它紧挨的那一条语句 此题中if后面跟了三个赋值表达式 即z x x y y z 但只有第一个表达式z x跟if函数有关 也就是说 如果if为真 则z x执行 if为假 z x不执行 但不管if成立与否 后面的两个赋值表达式都会运行 因为if不会作用到它们身上 如果想整体运行 那么就必须加花括号把三个表达式作为一个整体 即 if x y z x x y y z 因为x 10 y y 20 所以z x不执行 但x y y z执行 所以x 20 y 30 z 30 答案 B 本内容仅作西北大学新生学习C语言使用 版权所有 请勿私自翻印 选择题选择题第二题第二题 3 下列程序执行后的输出结果是 include void main int m 5 if m 5 printf d n m else printf d n m A 4 B 5 C 6 D 7 本内容仅作西北大学新生学习C语言使用 版权所有 请勿私自翻印 解答 此题考查自加自减语句的加减顺序 对于m 是先使用后加1 因为m的初值为5 if m 5 判断时使用的是m 5 判断后 m再自加1变成6 所以m 5不成立 此时判断后m 6 进入else部分 在else 的语句里printf d n m 有一个m 在printf中 如果遇到m m 均将其视为m 对m的加减操作是在printf函数输出之后再一次性加减 即当m 6时 printf d m 输出的结果是6 但输出后m就变成5了 答案 C 小扩展 printf配合m 等能出很多题 如m 4 printf d d d d m m m m 试一试 结果你一定不信 本内容仅作西北大学新生学习C语言使用 版权所有 请勿私自翻印 选择题选择题第三题第三题 4 以下语法不正确的语句是 A if x y B if x y C if x y scanf d else scanf d D if x y x y 本内容仅作西北大学新生学习C语言使用 版权所有 请勿私自翻印 解答 本题考查if语句的语法 if语句的基本形式为 if 表达式 语句1 else 语句2 注意 if后面的表达式是用括号括起来的 对于选项B if语句中的表达式是一个逻辑与结构 但缺少括号 应该改为 if x y 这个里面还要注意的是 逻辑与的两边是 x y x 2 y 3 z 4 m w x w x m m y m y m m z m z A 1 B 2 C 3 D 4 本内容仅作西北大学新生学习C语言使用 版权所有 请勿私自翻印 解答 本题考查三目表达式 对于三目表达式 如果第一个关系式成立 三目表达式的值是中间语句的值 如果不成立 则三 目表达式的值是最后一个语句的值 对题目中的三个三目表达式按顺序执行 开始时 w 1 x 2 w x成立 则m的值等于中间语句的值 w 所以m w 1 在第二个三目表达式中 对等号右边进行计算 因为m 1 y 3 m y成立 所以将中间语句m的值 赋给新的m 即m还是等于1 在最后一个三目表达式中 m 1 z 4 m z成立 仍执行中间的语句m 所以m m 1 因此最后m的值为1 答案 A 本内容仅作西北大学新生学习C语言使用 版权所有 请勿私自翻印 选择题选择题第五题第五题 二 改错题 1 下面程序用来计算如下公式的值 请修改程序错误下面程序用来计算如下公式的值 请修改程序错误 本内容仅作西北大学新生学习C语言使用 版权所有 请勿私自翻印 1 0 0 0 1 0 x y xx x 正解正解 include void main int x y scanf d y 1 if x 0 if x 0 y 1 else 后面无分号 y 1 else 还要考虑x 0情况 y 0 printf x d y d n x y 书书上题目上题目 include void main int x y scanf d y 1 if x 0 if x 0 y 1 else y 1 printf x d y d n x y 2 下面程序按百分制计分 下面程序按百分制计分 100分显示满分 分显示满分 90 99显示优秀 显示优秀 80 89显示优良 显示优良 70 79显示良好 显示良好 60 69显示及格 显示及格 59分以下显示不及格 请修改程序错误分以下显示不及格 请修改程序错误 本内容仅作西北大学新生学习C语言使用 版权所有 请勿私自翻印 include void main int x printf 请输入成绩 scanf d x x x 10 switch x case x 10 printf 满分 case x 9 printf 优秀 case x 8 printf 优良 case x 7 printf 良好 case x 6 printf 及格 case x 5 case x 4 case x 3 case x 2 case x 1 case x 0 printf 不及格 正解正解 include void main int x printf 请输入成绩 scanf d 这里应该是 switch x 没有分号 case 10 printf 满分 break case 9 printf 优秀 break case 8 printf 优良 break case 7 printf 良好 break case 6 printf 及格 break default printf 不及格 break 2 下面程序按百分制计分 下面程序按百分制计分 100分显示满分 分显示满分 90 99显示优秀 显示优秀 80 89显示优良 显示优良 70 79显示良好 显示良好 60 69显示及格 显示及格 59分以下显示不及格 请修改程序错误分以下显示不及格 请修改程序错误 本内容仅作西北大学新生学习C语言使用 版权所有 请勿私自翻印 include void main int x printf 请输入成绩 scanf d x x x 10 switch x case x 10 printf 满分 case x 9 printf 优秀 case x 8 printf 优良 case x 7 printf 良好 case x 6 printf 及格 case x 5 case x 4 case x 3 case x 2 case x 1 case x 0 printf 不及格 解析 解析 这个题目错误太多 罗列一下给大家看 1 scanf d x 缺少一个 printf 请输入三角形三条边长a b c 用逗号隔开 n scanf f f f if a b a b b a b a a b if a c a c c a c a a c if b c b c b b c c b c if a b c 三角形两边之和大于第三边 printf 不可以构成三角形 n else p a b c 2 s sqrt p p a p b p c printf 三角形面积是 3f n s 1 从键盘输入三条边长从键盘输入三条边长a b c 若它们能组成三角形 则用下列公式计算三角形的 若它们能组成三角形 则用下列公式计算三角形的 面积 按题意编程 面积 按题意编程 本内容仅作西北大学新生学习C语言使用 版权所有 请勿私自翻印 c 2b apcpbpapps 解析 解析 首先 分析这个程序的流程 要计算三角形的面积 首先要判断它是否能构成三角形 而三角形的判断方法是两短边之和大于第三边 所以需要把三角形的三个边长排序 这里我们 设定的是a bb 就将a和b的值交换 a中存入a b中较小者 注意 这里的交换代码用的不是大家熟悉的 t a a b b t 这里不想引入新的变量 所以用了 a b b a b a a b 这个代码在前一章的选择题出现过 然后 再将a和c比较 如果a c 将a c交换 确保a中是最小的 最后 还要将b c进行比较 确保次小的存在b中 在排序完了三个大小后 进行一个三角形的判断 即如果a bc 用海伦公式进行计算 输出结果 这就是这个题目编程的思路 大家可以对照思路和代码查看 小朋友们 明白了咩 2 输入一个年份和月份 打印出该月份有多少天 考虑闰年 用输入一个年份和月份 打印出该月份有多少天 考虑闰年 用switch语句编程语句编程 由于课本中讲逻辑表达式时有提过闰年的表示方法 因此直接利用该判断式 本内容仅作西北大学新生学习C语言使用 版权所有 请勿私自翻印 include void main int year month days i 0 printf 请输入年份和月份 用逗号隔开 n scanf d d if year 4 0 switch month case 1 printf d年 d月有31天 n year month break case 2 printf d年 d月有 d天 n year month i 28 break case 3 printf d年 d月有31天 n year month break case 4 printf d年 d月有30天 n year month break case 5 printf d年 d月有31天 n year month break case 6 printf d年 月有30天 n year month break case 7 printf d年 d月有31天 n year month break case 8 printf d年 d月有31天 n year month break case 9 printf d年 d月有30天 n year month break case 10 printf d年 d月有31天 n year month break case 11 printf d年 d月有30天 n year month break case 12 printf d年 d月有31天 n year month break 2 输入一个年份和月份 打印出该月份有多少天 考虑闰年 用输入一个年份和月份 打印出该月份有多少天 考虑闰年 用switch语句编程语句编程 由于课本中讲逻辑表达式时有提过闰年的表示方法 因此直接利用该判断式 本内容仅作西北大学新生学习C语言使用 版权所有 请勿私自翻印 解析 解析 这个题目难倒大家的基本是闰年的判断 好在课本第28页帮我们考虑好了这个内容 直接用它的代码就可以啦 想好好学习的同学可以好好研究研究那个判断闰年的代码 然后记住它 会判断闰年后 下面就是输出所输入月份的天数了 在这个里面 闰年和非闰年的区别只在2月的天数 闰年2月有29天 平年2月只有28天 但在switch语句里面 如果month 2 平年输出28 闰年输出29 加上判断的话就比较麻烦 于是 在这里我引入了一个条件变量I 如果是闰年的话i 1 是平年的话i就是初值 即i 0 然后大家注意看case 2 case 2 printf d年 d月有 d天 n year month i 28 break 这样的话就解决了平年和闰年相差一天的问题 而且很简洁 是平年的话结果就是28 是闰年的话结果就是28 1 此外 还要注意的是swtich语句的使用 正常情况下每个后面不要忘了break哟 不然它会自动 继续往下执行的呢 3 编写一程序 实现如下功能 输入编写一程序 实现如下功能 输入1 2 3 4 5 6 7中的任何一个数 便能输出中的任何一个数 便能输出 与之对应的英文名称 如输入与之对应的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 微商春节开工文案
- 房屋出租协议
- 春节除夕日记
- 新能源整车总装自动生产线项目投标书
- 预应力技术在高层建筑中的应用方案
- 燃气管道管道探测与障碍物避让方案
- 充电桩建设资金回收方案
- 广东省广州市番禺区2026届九上物理期中监测试题含解析
- 摩托罗拉 spi协议书
- 2026届浙江省嘉兴市海宁市第一物理九上期中学业质量监测模拟试题含解析
- 专题讲座:中小学体育课突发事件的处理方法与技巧
- SMT钢网制作规范
- 深圳艺术学校
- 廉政表现及鉴定意见
- 高层建筑案例分析
- 现代食品加工技术(食品加工新技术)智慧树知到答案章节测试2023年中国农业大学
- 河道治理及生态修复施工组织设计
- 全文《黄河保护法》修订班会教育PPT
- 变压器交接验收课件
- 修井设备培训教材课件
- 民航安全风险管理-中国民
评论
0/150
提交评论