
C程式设计教程(第3版)(2018年8月清华大学出版社出版的图书)
《C程式设计教程(第3版)》是由谭浩强着,2018年清华大学出版社出版的普通高等教育“十一五”国家级规划教材、中国高等院校计算机基础教育课程体系规划教材。该教材可用作全国高等学校各专业的正式教材,适合一般院校的非计算机专业使用,同时也是一本供读者自学的教材。
全书共9章,主要内容包括程式设计和C语言,最简单的C程式设计——顺序程式设计,选择结构程式设计,循环结构程式设计等。
基本介绍
- 书名:C程式设计教程(第3版)
- 作者:谭浩强
- ISBN:9787302503828
- 类别:普通高等教育“十一五”国家级规划教材
- 页数:286页
- 出版社:清华大学出版社
- 出版时间:2018年8月1日
- 装帧:平装
- 开本:16开
- 字数:469千字
- CIP核字号:2018122870
成书过程
修订情况
该教材根据中国国内一般大学非计算机专业的教学需要,作者在《C程式设计(第五版)》一书的基础上重新改写并出版了《C程式设计教程(第3版)》。
该教材由谭浩强着,南京大学金莹副教授、薜淑斌高级工程师和谭亦峰工程师参加了该教材的策划、调研、收集资料、研讨以及编写部分程式的工作。
出版工作
2018年8月1日,该教材由清华大学出版社出版。
责任编辑 | 封面设计 | 责任校对 | 责任印製 |
---|---|---|---|
张民 | 何风霞 | 焦丽丽 | 从怀字 |
内容简介
该教材介绍怎样使用C语言进行程式设计。全书共9章,主要内容包括程式设计和C语言,最简单的C程式设计——顺序程式设计,选择结构程式设计,循环结构程式设计,利用数组处理批量数据,利用函式进行模组化程式设计,善于使用指针,根据需要创建数据类型,利用档案保存数据。
教材目录
第1章程式设计和C语言1 1.1计算机与程式、程式设计语言1 1.2C语言的特点2 1.3简单的C语言程式3 1.4C语言程式的结构6 1.5运行C程式的步骤与方法8 1.6程式设计的任务10 1.7算法——程式的灵魂11 1.7.1程式是什幺11 1.7.2什幺是算法12 1.7.3怎样表示一个算法13 1.8结构化程式设计方法19 1.9学习程式设计,培养科学思维21 本章小结23 习题23 第2章最简单的C程式设计——顺序程式设计25 2.1顺序程式设计举例25 2.2数据的类型及存储形式29 2.2.1C语言的数据类型29 2.2.2数据的表现形式——常量和变数29 2.2.3整型数据31 2.2.4字元型数据36 2.2.5浮点型数据41 2.3用表达式进行数据的运算43 2.3.1C表达式43 2.3.2C运算符44 2.3.3运算符的优先权与结合性46 2.3.4不同类型数据间的混合运算46 *2.3.5强制类型转换47 2.4最常用的C语句——赋值语句48 2.4.1C语句综述48 2.4.2赋值表达式50 2.4.3赋值语句53 2.5数据的输入输出56 2.5.1C语言中输入输出的概念56 2.5.2用printf函式输出数据57 2.5.3用scanf函式输入数据62 2.5.4字元数据的输入输出65 本章小结67 习题68 第3章选择结构程式设计71 3.1简单的选择结构程式71 3.2选择结构中的关係运算73 3.2.1关係运算符及其优先次序73 3.2.2关係表达式73 3.3选择结构中的逻辑运算74 3.3.1逻辑运算符及其优先次序75 3.3.2逻辑表达式76 3.4用if语句实现选择结构78 3.4.1if语句的三种形式78 3.4.2if语句的嵌套80 3.5用条件表达式实现选择结构83 3.6利用switch语句实现多分支选择结构86 3.7选择结构程式综合举例88 本章小结94 习题94 第4章循环结构程式设计96 4.1程式需要循环96 4.2用while语句和do…while语句实现循环96 4.2.1用while语句实现循环96 4.2.2用do…while语句实现循环98 4.2.3while循环和do…while循环的比较99 4.2.4递推与叠代101 4.3用for语句实现循环104 4.3.1for语句的执行过程104 4.3.2for语句的各种形式106 4.3.3for循环套用举例108 4.4循环的嵌套110 4.5用break语句和continue语句改变循环状态110 4.5.1用break语句提前退出循环110 4.5.2用continue语句提前结束本次循环111 4.6几种循环的比较113 4.7循环程式举例113 本章小结116 习题117 第5章利用数组处理批量数据119 5.1数组的作用119 5.2怎样定义和引用一维数组120 5.2.1怎样定义一维数组120 5.2.2怎样引用一维数组元素120 5.2.3一维数组的初始化121 5.2.4利用一维数组的典型算法——递推与排序122 5.3怎样定义和引用二维数组125 5.3.1怎样定义二维数组125 5.3.2怎样引用二维数组的元素126 5.3.3二维数组程式举例126 5.3.4二维数组的初始化129 5.4利用字元数组处理字元串数据130 5.4.1怎样定义字元数组130 5.4.2字元数组的初始化131 5.4.3引用字元数组的元素132 5.4.4字元串和字元串结束标誌133 5.4.5字元数组的输入输出方法135 5.4.6有关字元处理的算法136 5.4.7利用字元串处理函式139 本章小结142 习题143 | 第6章利用函式进行模组化程式设计1456.1为什幺要使用函式145 6.1.1函式是什幺145 6.1.2程式和函式146 6.2怎样定义函式147 6.2.1为什幺要定义函式147 6.2.2怎样定义无参函式148 6.2.3怎样定义有参函式148 6.3函式参数和函式的值149 6.3.1形式参数和实际参数149 6.3.2函式的返回值150 6.4函式的调用151 6.4.1函式调用的一般形式151 6.4.2调用函式的方式152 6.4.3对被调用函式的声明和函式原型152 6.5函式的嵌套调用155 6.6函式的递归调用157 6.6.1什幺是函式的递归调用157 6.6.2递归算法分析157 6.6.3用递归函式实现递归算法160 6.7数组作为函式参数164 6.8函式套用举例——编写排序程式168 6.9变数的作用域和生存期171 6.9.1局部变数171 6.9.2全局变数171 *6.9.3变数的存储方式和生存期172 6.9.4作用域与生存期小结176 6.10关于变数的声明和定义178 本章小结179 习题180 第7章善于使用指针182 7.1什幺是指针182 7.2变数的指针和指向变数的指针变数184 7.2.1怎样定义指针变数184 7.2.2怎样引用指针变数187 7.2.3指针变数作为函式参数189 7.3通过指针引用数组194 7.3.1数组元素的指针194 7.3.2指针的运算195 7.3.3通过指针引用数组元素196 7.3.4用数组名作函式参数200 7.4通过指针引用字元串206 7.4.1引用字元串的方法206 7.4.2字元指针作函式参数209 7.4.3对使用字元指针变数和字元数组的归纳212 本章小结215 习题219 第8章根据需要创建数据类型221 8.1定义和引用结构体变数221 8.1.1怎样创建结构体类型221 8.1.2怎样定义结构体类型变数223 8.1.3引用结构体变数225 8.2使用结构体数组228 8.2.1定义结构体数组228 8.2.2结构体数组套用举例230 8.3结构体指针231 8.3.1指向结构体变数的指针231 *8.3.2指向结构体数组的指针233 *8.3.3用结构体变数和结构体变数的指针作函式参数234 *8.4用指针处理鍊表237 8.4.1什幺是鍊表237 8.4.2建立简单的静态鍊表239 8.4.3建立动态鍊表240 8.4.4输出鍊表243 8.5使用枚举类型246 8.5.1什幺是枚举和枚举变数246 8.5.2枚举型数据套用举例247 本章小结250 习题251 第9章利用档案保存数据252 9.1C档案的有关概念252 9.1.1什幺是档案252 9.1.2档案名称253 9.1.3档案的分类253 9.1.4档案缓冲区254 9.1.5档案类型指针254 9.1.6档案位置标记255 9.2档案的打开与关闭256 9.2.1用fopen函式打开档案256 9.2.2用fclose函式关闭档案257 9.3档案的顺序读写258 9.3.1向档案读写一个字元258 9.3.2向档案读写一个字元串260 *9.3.3对档案进行格式化读写263 *9.3.4按二进制方式对档案进行读写264 *9.4档案的随机读写264 9.4.1档案位置标记的定位264 9.4.2对档案进行随机读写266 本章小结267 习题269 附录A常用字元与ASCII代码对照表270 附录BC语言中的关键字271 附录C运算符和结合性272 附录DC语言常用语法提要275 附录EC库函式280 参考文献287 |
(注:目录排版顺序为从左列至右列)
教学资源
该教材有配套教材——《C程式设计教程(第3版)学习辅导》,书中提供主教材中各章习题的参考答案以及上机实践指导。
书名 | 书号 | 出版社 | 出版时间 | 作者 |
---|---|---|---|---|
《C程式设计教程(第3版)学习辅导》 | 9787302503835 | 清华大学出版社 | 2018.08.01 | 谭浩强 |
教材特色
该教材适当减少内容,突出重点,符合最基本的要求,适合学时相对较少的高校使用。该教材为普通高等教育国家级规划教材,推荐给各校使用。
通过该教材的学习,可以基本掌握C语言的主要内容和使用方法,同时学习程式设计的方法及有关算法的基本知识,初步掌握用计算机解题的全过程。重新构建教材体系,进一步压缩内容,突出重点,加强算法训练,更加实用。用通俗易懂的方法和语言阐明複杂的概念。同时採取适当的方法,注意培养包括计算思维在内的科学思维。
在该次修订中保持以下特点:
- 按照C99标準进行介绍,以适应C语言的发展,使编写程式更加规範;C99所增加的许多新的功能和规则,是在编制比较複杂的程式时为方便使用和提高效率而用的,在初学时可以不涉及,因此该教材对暂时用不到的内容不作介绍;
- 加强算法,强化解题思路;在各章中结合例题介绍各种典型的算法,对穷举、递推、叠代、递归、排序(包括比较交换法、选择法、起泡法)、矩阵运算、字元处理套用等算法作了介绍,对难度较大的鍊表处理算法的思路作了清晰说明;介绍例题时,在给出问题后,先是进行问题分析,探讨解题思路,构造算法,然后才根据算法编写程式,而不是先列出程式再解释程式,从中了解算法;
- 对指针作了更明确详尽的说明,在该次修订中对指针的性质作了进一步说明,指出:人们所说的指针就是地址,这个地址不仅是在记忆体中的位置信息(即纯地址),而且包括在该存储单元中的数据的类型信息,并对此作了有力而明确的说明;
- 作者适当降低门槛,便于读者入门;儘量少用深奥难懂的专业术语,用通俗易懂的方法和语言阐述清楚複杂的概念,使複杂的问题简单化。
作者简介
谭浩强,男,汉族,1934年11月出生,广东省人。1958年毕业于清华大学,从事计算机及套用专业,毕业后留校工作,1985年调联北京联大自动化工程学院任副院长。曾担任清华大学团委副书记、清华大学绵阳分校党委常委、清华大学分校副校长等职务,同时承担教学工作。曾获全国高校教学成果奖国家级奖、国家科技进步奖、多项部委级优秀教材奖,北京市政府授予“有突出贡献专家”称号,被国家科委、中国科协表彰为“全国优秀科普工作者”,获国务院特殊津贴。