1、 2 1 世 纪 大 学 计 算 机 系 列 教 材 C 语 言 大 学 实 用 教 程 习 题 与 实 验 指 导 苏 小 红 等 编 著 王 宇 颖 主 审 P u b l i s h i n g H o u s e o f E l e c t r o n i c s I n d u s t r y 北 京 B E I J I N G 内 容 简 介本书是C 语言大学实用教程的配套教学用书。第1 章习题解答包括主教材中全部习题及解答涵盖全国计算机等级考试各种题型选择题、程序填空题、程序改错题、阅读程序写出运行结果题、编程题等综合运用数据类型、程序结构和典型算法。第 2 章上机实验指导以知识
2、点为主线采用任务驱动方式兼具趣味性和实用性内容包括Tu r b o C 环境下的程序调试方法Tu r b o C 屏幕窗口和常用图形函数Tu r b o C环境下图形与声音制作实例在Vi s u a l C+ + 环境下运行C 程序课内与课外上机实验题目和上机实验题目参考答案。 主教材为任课教师免费提供电子课件并同时提供例题和习题源程序。本书可作为高校各专业C 语言教辅教材和全国计算机等级考试参考书。 未经许可不得以任何方式复制或抄袭本书之部分或全部内容。 版权所有侵权必究。 图书在版编目CIP数据 C 语言大学实用教程习题与实验指导 / 苏小红等编著. 北京电子工业出版社2 0 0 4 .
3、8 2 1 世纪大学计算机系列教材 I S BN 7 - 1 2 1 - 0 0 0 8 2 - 2 . C . 苏 . C 语言程序设计高等学校教学参考资料 . TP 3 1 2 中国版本图书馆CI P 数据核字2 0 0 4 第0 6 5 1 5 4 号 策划编辑童占梅 责任编辑童占梅 印 刷 出版发行电子工业出版社 北京市海淀区万寿路1 7 3 信箱 邮编 1 0 0 0 3 6 经 销各地新华书店 开 本7 8 7 1 0 9 2 1 / 1 6 印张1 5 . 7 5 字数3 8 0 千字 印 次2 0 0 4 年8 月第1 次印刷 印 数5 0 0 0 册 定价1 8 . 0 0
4、元 凡购买电子工业出版社的图书如有缺损问题请向购买书店调换。若书店售缺请与本社发行部联系。联系电话0 1 0 6 8 2 7 9 0 7 7 。质量投诉请发邮件至 z l t s p h e i . c o m. c n 盗版侵权举报请发邮件至d b q q p h e i . c o m. c n 。 总 序 进入 2 1 世纪信息社会发展的脚步越来越快对人才的需求也呈现出新的变化趋势。计算机与外语成为新世纪高素质人才必须熟练掌握的工具。大学计算机公共课程也面临新的机遇和挑战首先是来自社会和就业市场对人才“知识能力素质”要求的挑战其次是计算机和相关领域技术及应用快速发展带来的冲击最后是普及计
5、算机教育后要求高等计算机教育在教学的“难度深度强度”三维同步提高。在这样的大背景下大学计算机公共课程在“基础技术应用”方面呈现出层次性、通用性和专业需求多样化的特点。我们一直追踪、关注一线教师和专家的卓有成效的课程和教材改革与发展研究适时推出了“2 1 世纪大学计算机系列教材”。 该系列教材在知识结构方面力求覆盖“计算机系统与平台、程序设计与算法、数据分析与信息处理、信息系统开发”四个领域内容强调“概念性基础、技术与方法基础、应用技能”三个层次第一批教材涉及大学计算机基础、程序设计与算法、计算机硬件技术基础或计算机组成与接口技术、数据库技术与应用、多媒体技术与应用和网络技术与应用等六门核心课程
6、。同时我们也在挖掘其他通用的应用课程教材并将陆续推出。我们特别注意到高校工科电类专业、理科和工科非电类专业、经管类专业和文史类专业有各自不同的特点可以采用“1 + X ”的课程解决方案“1 ”指第一门计算机课程“大学计算机基础”“X ”指适合不同学校和专业特点的其他课程及其组合我们的系列教材为此提供了选择的灵活性。 “2 1 世纪大学计算机系列教材”立足体系创新、知识创新、教学设计和教学模式创新全面考虑读者的需求努力提升教材的可读性和可用性为教学提供尽可能完善的服务。如提供同步的“习题与实验指导”书一些教材还为教师提供可修改的电子教案、源程序包、教学指导手册或阶段自测题等多种类型的教学服务即提
7、供“教材教辅课件”教学支持。读者可以通过电子工业出版社的华信教育资源网站h t t p : / / w w w . h x e d u . c o m . c n 了解该系列教材的出版和服务的动态信息。 “2 1 世纪大学计算机系列教材”的建设得到了很多专家和老师的热情支持教材作者来自哈尔滨工业大学、吉林大学、华中科技大学、中国科技大学、中山大学、北京邮电大学、浙江工业大学等高校这些课程都是各高校的教改优质课程和精品课程体现了作者对课程和教学的探索与创新。希望这套教材的出版能有力地推动大学计算机新课程体系的建立与发展同时也能为高等计算机教育带来与时俱进的活力和生机。 由于我们的水平和经验所限加
8、之计算机和相关领域技术及应用的发展迅速该系列教材一定还存在不少缺点和不足欢迎领域专家和广大读者批评指正。我们会继续努力力求不断完善和提高以便更好地满足高等计算机教育不断变化的需求。 “2 1 世纪大学计算机系列教材”编委会 前 言 本书是C 语言大学实用教程的配套教学用书可作为高校各专业 C 语言教辅教材和全国计算机等级考试参考书。 如何让学生在学习程序设计的过程中养成良好的编程风格使学生在上机调试程序时不再感到枯燥乏味一直是本书作者多年来不断思考的问题。 一本教材就像孩子的父母一样将会如影随形般地对孩子们产生潜移默化的重要影响。我们不敢妄言C 语言大学实用教程的出版能起到像父母那样的教育作用
9、只是希望读者在阅读本书文字的过程中可以体会到作者的一片良苦用心。它不仅体现在每一章、每一节的文字里更渗透在每一个程序、每一行代码甚至是每一个函数和变量的命名里。配套出版的这本C语言大学实用教程习题与实验指导中的习题和实验程序是按照目前最流行的编码规范以及与教材例题相统一的编码风格编写的。 本书提供C 语言大学实用教程中全部习题的解答。 与 实 验 相 关 的 内 容 包 括 T u r b o C 集 成 环 境 下 的 程 序 调 试 方 法 、 常 用 的 T u r b o C 屏 幕 窗口 操 作 函 数 和 常 用 图 形 函 数 、 图 形 与 声 音 制 作 实 例 和 V i
10、s u a l C + + 环 境 下 运 行 标 准 C 程 序 的方 法 等 。 为配合授课进度本书共设计了 1 0 个课内上机实验题目和 1 0 个课外上机实验题目。这些以主要知识点为主线设计的实验题目兼具趣味性和实用性并以循序渐进的任务驱动方式指导读者完成程序设计实验。建议实验为 2 0 学时可以要求学生每 2 学时做一个实验。如果实验学时为 3 0 学时则可以选择部分课外上机实验内容作为补充。 本书全部习题解答和实验程序均由作者本人在 V i s u a l C + + 和 T u r b o C 下调试通过。 C 语言大学实用教程多媒体教学课件将于教材正式出版以后制作届时连同全部例
11、题与习题源程序文件一起免费提供给使用本教材的教学单位。有需要者可与出版社或作者本人直接联系。可登录电子工业出版社华信教育资源网 h t t p / / w w w . h x e d u . c o m . c n 或直接联系教材服务部 0 1 0 - 6 8 1 5 2 2 0 4 索取。 全书的统稿 与审定工作由苏小红完成 实验题目设计及实验程 序参考答案、常用 的 T u r b o C 屏幕窗口操作 函数和常用图形函数 等内容由苏小红编写习题 4 、习题 7 参考答案由 李秀坤编写习题 2 、习题 3 参考答案由 温东新编写习题 6 参考答案由王 庆北编写习题 8 和习题 9 参考 答
12、案、T u r b o C 环境下的图形与声音制作实例、T u r b o C 集成环境下 的 C 语言上机方法简介等内容由陈惠鹏编写习题 1 、习题 5 、习题 1 0 参考答案V i s u a l C + + 环境下运行C 程序等内容由孙志岗编写。在本书写作过程中王宇颖和李东教授在百忙之中审阅了全部初稿对本书提出了许多宝贵意见。在书稿的录入、校对、程序调试中秦兵、刘秉权、李希然、周明德、刘开昌、陶海军、李晗静、刘松波等做了大量工作。 此 外 廖 明 宏 教 授 、 王 义 和 教 授 对 本 书 出 版 给 予 了 大 力 支 持 在 此 向 他 们 表 示 衷 心 的感 谢 。 因编者
13、水平有限书中错误在所难免恳请读者批评指正我们会在重印时及时改正发现的 错 误 。 作 者 的 E - m a i l 地 址 s x h h i t . e d u . c n l i x i u k u n h i t . e d u . c n b e i x 2 h i t . e d u . c n w d o n g x i n h i t . e d u . c n c h p i r . h i t . e d u . c n s u n h i t . e d u . c n 。欢迎读者来信提出宝贵意见。 作 者 于哈尔滨工业大学计算机科学与技术学院 目 录 第1 章 习题解答
14、 1 1.1 习题1 及参考答案 2 1. 2 习题2 及参考答案 2 1. 3 习题3 及参考答案 4 1. 4 习题4 及参考答案 8 1. 5 习题5 及参考答案 43 1. 6 习题6 及参考答案 50 1. 7 习题7 及参考答案 71 1. 8 习题8 及参考答案 87 1. 9 习题9 及参考答案 107 1. 10 习题10 及参考答案 113 第2 章 上机实验指导 124 2. 1 TURBO C 集成环境下C 语言上机方法简介 125 2. 2 TURBO C 屏幕窗口操作函数和常用图形函数 136 2. 3 TURBO C 环境下的图形与声音制作实例 141 2. 4
15、在VI SUAL C+ 环境下运行C 程序 156 2. 5 课内上机实验题目 159 2.5.1 实验1 熟悉上机环境和顺序结构编程练习 159 2.5.2 实验2 选择结构编程练习 160 2.5.3 实验3 循环结构编程练习 161 2.5.4 实验4 函数编程练习 162 2.5.5 实验5 数组编程练习 162 2.5.6 实验6 一维数组和函数综合编程练习 163 2.5.7 实验7 二维数组和函数综合编程练习 164 2.5.8 实验8 数组、指针和函数综合编程练习 164 2.5.9 实验9 结构体编程练习 165 2.5.10 实验10 文件编程练习 167 2. 6 课外上
16、机实验题目 167 2.6.1 实验1 计算到期存款本息之和 167 2.6.2 实验2 存款预算 167 2.6.3 实验3 寻找最佳存款方案 168 2.6.4 实验4 抓交通肇事犯 169 2.6.5 实验5 求解不等式 169 2.6.6 实验6 计算礼炮声响次数 169 C 语言大学实用教程习题与实验指导 I I 2 . 6 . 7 实验7 产值翻番计算 170 2.6.8 实验8 简单的口令检查程序 170 2.6.9 实验9 大奖赛现场统分 170 2.6.10 实验10 递归程序设计练习 171 2.7 课内上机实验题目参考答案 172 2.7.1 实验1 熟悉上机环境和顺序结
17、构编程练习 172 2.7.2 实验2 选择结构编程练习 174 2.7.3 实验3 循环结构编程练习 178 2.7.4 实验4 函数编程练习 183 2.7.5 实验5 数组编程练习 192 2.7.6 实验6 一维数组和函数综合编程练习 197 2.7.7 实验7 二维数组和函数综合编程练习 201 2.7.8 实验8 数组、指针和函数综合编程练习 206 2.7.9 实验9 结构体编程练习 212 2.7.10 实验10 文件编程练习 214 2.8 课外上机实验题目参考答案 224 2.8.1 实验1 计算到期存款本息之和 224 2.8.2 实验2 存款预算 225 2.8.3 实
18、验3 寻找最佳存款方案 226 2.8.4 实验4 抓交通肇事犯 227 2.8.5 实验5 求解不等式 227 2.8.6 实验6 计算礼炮声响次数 228 2.8.7 实验7 产值翻番计算 229 2.8.8 实验8 简单的口令检查程序 230 2.8.9 实验9 大奖赛现场统分 231 2.8.10 实验10 递归程序设计练习 237 第 1 章 习 题 解 答 学 习 要 点 完 成 主 教 材 中 全 部 习 题 熟 悉 全 国 计 算 机 等 级 考 试 各 种 题 型 选 择 题 、 程 序 填 空 题 、 程 序 改 错 题 、 阅 读 程 序 写 出 运 行 结 果 题 、
19、编 程 题 等 注 意 综 合 运 用 数 据 类 型 、 程 序 结 构 和 典 型 算 法 C 语言大学实用教程习题与实验指导 2 1 . 1 习 题 1 及 参 考 答 案 1 . 1 列举几种读者所知道的计算机硬件和软件。 【参考答案】 硬件C P U 、内存、硬盘、光盘、键盘、鼠标等。 软件Wi n d o w s Q Q I n t e r n e t E x p l o r e r Wo r d 等。 1 . 2 冯诺依曼机模型有哪几个基本组成部分 【参考答案】 控制器、运算器、存储器、输入设备和输出设备。 1 . 3 尝试把例 1 . 4 改为计算“1 2 3 + 4 5 6
20、”。 #include main() printf(“%dn“, 123+456); 1 . 4 列举几种程序设计语言。 【参考答案】 C C + + J a v a C # P H P A S P P a s c a l 等。 1 . 5 列举几个在生活和学习中成功应用 I T 技术的例子。 【参考答案】 可编程的微波炉、洗衣机、手机、文曲星、电子游戏机等。 1 . 2 习 题 2 及 参 考 答 案 2 . 1 下列变量名中哪些是合法的 2 a a # C $ t 3 _ v a r i n t 【参考答案】 合法的为 t 3 _ v a r 2 . 2 选择填空 1 C 语言中用_ _
21、_ _ _ _ _ _ 表示逻辑值“真”。 A t r u e B 整数值 C 非零整数值 D T 2 下列合法的字符常量为_ _ _ _ _ _ _ _ 。 A “a“ B n C china D a 3 设有语句 c h a r c = 7 2 ; 则变量 c _ _ _ _ _ _ _ _ 。 A 包含 1 个字符 B 包含 2 个字符 C 包含 3 个字符 D 不合法 第1 章 习 题 解 答 3 4 字符串常量“ t “ N a m e A d d r e s s n “ 的长度为_ _ _ _ _ _ _ _ 。 A 1 9 B 1 5 C 1 8 D 不合法 5 设 a , b
22、, c 为 i n t 型变量且 a = 3 , b = 4 , c = 5 下面表达式值为 0 的是_ _ _ _ _ _ _ _ 。 A a /*a,b,c 为三边变量*/ float s, area; printf(“Input a,b,c:“); scanf(“%f,%f,%f“, s = 1.0 / 2 * (a + b + c); area = sqrt(s * (s - a) * (s - b) * (s - c); C 语言大学实用教程习题与实验指导 8 printf(“area=%.2fn“, area); 程序运行结果 Input a,b,c:3,4,5 area=6.00
23、 3 . 6 编程从键盘输入圆的半径 r 计算并输出圆的周长和面积。 提示将计算圆周长和面积公式中的 定义为符号常量。 【参考答案】 #include #define PI 3.14 main() float r ; /*r 为半径变量*/ float circum, area; printf(“Input r:“); scanf(“%f“, circum = 2*PI*r; area = PI*r*r; printf(“circum=%.2f,area=%.2fn“, circum, area); 程序运行结果 Input r:5 circum=31.40,area=78.50 1 . 4 习 题 4 及 参 考 答 案 4 . 1 简答题 1 什么是算法算法在程序设计中的重要作用是什么 2 什么是结构化程序设计其基本思想是什么 3 什么是“自顶向下、逐步求精”的程序设计方法 【参考答案】 1 所谓算法就是一个有穷规则的集合其中的规则确定了一个解决某一特定类型问题的运第1 章 习 题 解 答 9 算序列。简单地说就