新也纪 〔计算机基础教育丛书 丛书主编 谭浩强M c程序设计题解与上机指导 第二版) 谭浩强主编 清华大学出版社 hutp//www.tup.mtnghuaedun
新世纪 计算机基础教育丛书 从书主编 谭浩强 c程序设计 题解与上机指导 第二版) 谭浩强 王编 清华大学出版社 ttp//www.tup.tsinghua
(京)新登字158号 本书是和谭浩强编著的《C程序设计)第二版)〔清华大学出版社1999年出版)配合使用的参考书 内容包括:(1)《C程序设计》(第二版)一书的习题和参考解答,包括了该书各章的全部习题,共约15 题,对全部编程题都绐出了参考解答;(2)上机指南,详细介绍了在当前广泛使用的 Turbo集成环境 下编辑、编译、调试和运行程序的方法并简要介绍了 Borland C++的使用方法;(3)上机实验安排,提 供了学习本课程应当进行的12个实验〔每一个实验对应教材中一章的内容)。 本书内容丰富慨念清嘶实用性强是学习C语言的一本好参考书。它不仅可以作为C程序设 计》(第二版)的参考书,而且可以作为其他C语言教树的鑫考书;既适于高等学校师生或计算机培训班 使用,也可供报考计算机等级考试者和其他自学者参考。 版权所有,翻印必究。 本书封面贴有清华大学出版社激光防伪标签,无标签者不得销售。 团书在版編目(CI据 C程序设计版解与上机指导/谭浩强主编-2版北京:清华大学出版社,2000 (新世纪计算机基础教育丛书/谭浩强主编) ISBN7-30203911-9 I.C…Ⅱ.谭…Ⅲ.C语言-程序设计自学参考资料Ⅳ.TP312 中国版本图书馆CP数据核字(2000第30040号 出版者:清华大学出版社(北京清华大学学研大厦,邮编100084) http://www.tup.tsinghuaedu.cn 印刷者:北京市密云胶印厂 发行者:新华书店总店北京发行所 开本:787×10921/16印张:17字效:387千字 版次:2000年9月第2版2001年7月第8次印刷 书号:ISBN7-302-03911-9/TP·2286 印数:329001~409000 定价:19.50元
21 世纪终于来临了,在新的世纪,人们自然对未来有许多美好 的愿望和设想。现代科学技术的飞速发展,改变了世界,也 改变了人类的生活。作为新世纪的大学生,应当站在时代发展的前列,掌 握现代科学技术知识,调整自己的知识结构和能力结构,以适应社会发展 的要求。新世纪需要具有丰富的现代科学知识、能够独立解决面临任务、 充满活力、有创新意识的新型人才 掌握计算机知识和应用,无疑是培养新型人才的一个重要环节。计 算机既是现代科学技术的结晶,又是大众化的工具。学习计算机知识不 仅是为了掌握一种技能,更重要的是:它能启发人们对先进科技的向往 激发创新意识,推动对新知识的学习,培养自学能力,锻炼动手实践的本 领。因而它是高等学校全面素质教育中极为重要的一部分。 自20世纪80年代初以来,高等学校中计箅机教育(尤其是非计算机 专业中的计算机教育)发展迅速计算机教育的内容不断扩展,程度不断 提高,它所起的作用也愈来愈显著 在实践中,大家已认识到,计算机应用人才队伍由两部分人组成: 部分是计算机专业出身的计算机专业人才,他们是计算机应用人才队伍 中的骨干力量;另一部分是各行各业中应用计算机的人员。这后一部分 人一般并非从计算机专业毕业,他们人数众多,既熟悉自己所从事的专 业,又掌握计算机的应用知识善于用计算机作为工具去解决本领域中的 任务。他们是计算机应用人才队伍中的基本力量。事实上,大部分应用 软件都是由非计算机专业出身的计算机应用人员研制的。他们具有的这 个优势是其他人难以代替的。从这个事实可以看到在非计算机专业中深 人进行计算机教育的必要性。 非计算机专业中的计算机教育,无论目的、内容教学体系、教材教 学方法等各方面都与计算机专业有很大的不同,决不应该照撒计算机专 业的模式和做法。全国高等院校计算机基础教育研究会自1984年成立 以来,始终不渝地探索高校计箅机基础教育的特点和规律。在80年代中 期,最早提出了按层次进行教育的方案。计算机应用是分层次的,不同的 人在不同的层次上使用着计算机。同样,计算机教育也是分层次的,以适 应不同应用层次的要求。全国有一千多所高等学校,几百个专业。学校
的类型、条件和基础差别很大,不可能按同一模式、同一要求同一内容进 行教学。按层次组织教学,可以使不同专业、不同学校能够根据自己的情 况选择教学内容,做到“各取所需”。 经过十多年的实践,几经调整,许多高校形成了按以下三个层次组织 教学的方案:第一层次为计算机公共基础学习计算机基本知识和基本操 作;第二层次为计算机技术基础,内容包括程序设计、数据库、网络和多媒 体等;第三层次为计算机应用课程,结合专业应用的需要学习有关计算机 应用课程。每一层次中设立若干门课程,包括必修课和选修课。 1988年起,我们根据层次教学方案,组织编写了“计算机基础教育丛 书”,邀请有丰富教学经验的专家学者先后编写了20多种教材,由请华大 学出版杜出版。丛书出版后,迅速受到广大高校师生的欢迎,对高等学校 的计算机基础教育起了积极的推动作用。广大读者反映这套教材定位准 确,内容丰富,通俗易懂,符合广大非计算机专业学生的特点。许多高校 都采用了我们编写的教材。丛书总发行量达到700多万册,这在全国是 罕见的 在新世纪来临之际,我们在该丛书成功的基础上组织了这套“新世纪 计算机基础教育丛书”,以适应新形势的要求。本丛书有以下特点 (1)内容新颖。根据新世纪的需要,重新确定丛书的内容,以符合计 算机科学技术的发展和教学改革的要求。本丛书除保留了原丛书中经过 实践考验且深受群众欢迎的优秀教材外,还新编写了许多新的教材。在 这些教材中反映了近年来迅速得到推广应用的一些计算机新技术,以后 还将根据发展不断补充新的内容 (2)适合按层次组织教学的需要。在新世纪,大多数学校是采用层 次教学模式的,但不同的学校和专业所达到的层次不同。本丛书采用模 块形式,提供了各种课程的教材,内容覆盖高校计算机基础教育的三个层 次。既有供理工类专业用的,也有供文科和经济类专业用的;既有必修课 的教材,也包括一些选修课的教材。各类学校都可以从中选择到合适的 教材 (3)符合大学非计算机专业学生的特点。本丛书针对非计算机专业 学生的特点,以应用为目的,以应用为出发点,强调实用性。本丛书的作 者都是长期在第一线从事高校计算机基础教育的教授和副教投,对学生 的基础、特点和认识规律有深人的研究,在教学实眦中积累了丰富的经 验。可以说,每一本教材都是他们长期教学经验的总结。在教材的写法 上,既注意概念的严莲和清晰,又特别注意采用读者容易理解的方法阐明 看似深奥难懂的问题,做到例题丰富,通俗易懂,便于自学。这一点是本 丛书一个十分重要的特点。书是写给读者看的读者如果看不懂,只能算
写作的失败。 (4)采用多样化的形式。除了文字教材这一基本形式外,有些教材 还配有习题解答和上机指导,我们还准备采用现代教学方式,陆续制作电 子出版物,以利于学生自学 总之,本丛书的指导思想是:内容新颖、概念清晰、实用性强、通俗易 懺、层次配套。简单概括为:“新颖、清晰、实用、通俗、配套”。我们经过多 年实践形成的这一套行之有效的创作风格,相信会受到广大读者的欢迎 判别一本书的优劣,读者最有发言权。 本丛书多年来得到各方面人士的指导、支持和帮助,尤其是得到全国 高等院校计算机基础教育研究会的各位专家和各高校的老师们的支持和 帮助,我们在此表示由衷的感谢 本丛书肯定有不足之处,竭诚希望得到广大读者的批评指正 丛书主编 全国高等院校计算机基础教育研究会理事长 谭浩强 2000年1月1日
前言 C 语言是国内外广泛使用的计算机语言。近十多年来,C语言 在国内得到迅速的推广应用,许多高校和计算机培训班相继 开设了C语言程序设计课程。作者在1990年编写了一本《C程序设计》, 由清华大学出版社于1991年出版。该书是针对初学者的特点而编写的 发行后,受到了广大读者的欢迎。大家认为该书概念清晰、叙述详尽、例 题丰富、深入浅出、通俗易懂。该书被许多高校选为教材,出版后不到10 年就发行了300万册,成为国内C语言教学的主流用书。 根据读者的要求,作者在1992年编写出版了与该书配套使用的《C 程序设计题解与上机指导》。几年来,该书巳发行了150万册,受到了读 者的欢迎 作者最近对《C程序设计》一书进行了修订,不久前由清华大学出版 社出版了《C程序设计》第二版),为此有必要对《C程序设计题解与上机 指导》一书进行相应的修订,以方便使用《C程序设计》第二版)作为教材 的读者进行学习。 本书包括三个部分。第部分为C程序设计习题与参考解答。这一 部分包括了清华大学出版社出版的《C程序设计》第二版)一书的全部习 题,共约150题。对其中一些概念问答题,由于能在教材中直接找到答 案,本书就不另给出解答。对其他类型的习题一律给出了参考答案。对 编程题除给出参考程序外,还给出运行结果,以使读者对照分析 应该说明,本书给出的程序并非是唯一正确的解答。对同一个题目 可以编出多种程序,我们给出的只是其中的一种,甚至不一定是最佳的 种。对有些题目,我们给出了两种参考答案,供读者参考和比教,以启发 思路。读者在使用本书时,千万不要照抄照搬。我们只是提供了一种参 考方案,读者完全可以编写出更好的程序。本书所有程序都在 Turbo C 环境下调试通过 本书第二部分是C语言上机指南。这一部分除了详细介绍目前多数 用户广泛应用的 Turbo c集成环境的上机过程及出错信息外,还简要地 介绍了 Borland c++的使用方法,相信对读者上机练习是会有帮助的。 本书的第三部分是上机实验安排。这一部分提出了上机实验的要 求,介绍了程序调试和测试的初步知识,并且具体安排了12个实验(每一 个实验对应教材中一章的内容)便于进行实验教学。由于篇幅和课时的 限制,在教材和课堂讲授中不可能介绍很多的例子,只能介绍一些典型的
例题。建议读者除了完成教师指定的习题和实验外,尽可能阅读本书介 绍的全部程序,并上机运行本书提供的全部实验内容以及自己感兴趣的 程序,以开阔思路,提高编程能力。 本书是作者对《C程序设计题解与上机指导》第一版进行了全面的修 订和补充而写成的,全部程序都重新进行了调试和运行,对许多程序作了 较大的修改和完善,并且增加了对程序的说明。为了加强对实践环节的 指导,重新编写了第二、第三部分。薛淑斌、谭亦峰和徐燕同志参加了编 写和调试程序的工作,魏善沛老师整理了 Turbo c的编译出错信息。 本书不仅可以作为《C程序设计》(第二版)的参考书,而且可以作为 其他C语言教材的参考书;既适用于高等学校或计算机学习班,也可供报 考计算机等级考试者和其他自学者参考。本书难免会有错误和不足之 处,作者愿得到广大读者的指正 谭浩强 2000年春节于北京清华园
录 第一部分《C程序设计》(第二版)习题与参考解答 C语言概述 程序的灵魂一算法 数概类型、运算符与衰达式 最简单的C程序设计—一衰序程序设计 选择结构程序设计 循环控制 乡 数组 函数 预处理命令 ⑩ 指针 2
结构体与共用体 位运算 13 文件 第二部分C语言上机指南 Turbo C的上机过程 14.1 Turbo C要求的系统配置 14.2 Turbo c的安装… 14.3进入 Turbo C… 180 14.4 Turbo c的工作窗口 编辑一个新文件 14.6编辑一个巳存在的文件 181 14.7改变用户工作目录 14.8确立TC工作环境 14.9编译和连接… 10运行 196 14.11程序动态调试方法……… 198 14.12 Turbo C各菜单的功能… 205 14.13 Turbo C编译出错信息 Borland C十+使用简介 15.1进入 Borland C+十的集成开发环境… 15.2 Borland o十十集成开发环境简介…………… 15.3设置属性 228 15.4编辑一个新文件… 230 15.5调入一个已存在的文件…… 15.6设定执行文件的格式… 232 15.7程序的编译、连接和运行