
C语言程式设计(第3版)(2014年清华大学出版社出版的图书)
《C语言程式设计(第3版)》是由谭浩强着,2014年清华大学出版社出版的普通高等教育“十一五”国家级规划教材、高等院校计算机套用技术规划教材。该教材可作为套用型大学各专业学习C语言程式设计的教材,基础较好的高职高专也可选用,也可以用于自学的教材。
该教材共10章,主要内容包括:程式设计与C语言,数据的存储与运算,最简单的C程式设计——顺序程式设计,选择结构程式设计,循环结构程式设计,利用数组处理批量数据等。
基本介绍
- 书名:C语言程式设计(第3版)
- 作者:谭浩强
- ISBN:9787302369646
- 类别:普通高等教育“十一五”国家级规划教材
- 页数:337页
- 出版社:清华大学出版社
- 出版时间:2014年9月1日
- 装帧:平装
- 开本:16开
- 字数:557千字
- CIP核字号:2014135565
成书过程
修订情况
该教材由谭浩强着,薛淑斌高级工程师和金莹副教授参加了该教材的修订;此外,使用该教材的高校老师,提出了意见和建议。
出版工作
2014年9月1日,该教材由清华大学出版社出版。
责任编辑 | 封面设计 | 责任校对 | 责任印製 |
---|---|---|---|
谢琛 | 常雪影 | 梁毅 | 李红英 |
内容简介
该教材共10章,主要内容包括:程式设计与C语言,数据的存储与运算,最简单的C程式设计——顺序程式设计,选择结构程式设计,循环结构程式设计,利用数组处理批量数据,用函式实现模组化程式设计,善于使用指针,使用结构体类型处理组合数据——用户自定义数据类型,善于使用指针,使用结构体类型处理组合数据——用户自定义数据类型,利用档案保存数据。
教材目录
第1章程式设计与C语言1 1.1计算机与程式、程式设计语言1 1.2C语言的出现和发展过程2 1.3简单的C语言程式2 1.4运行C程式的步骤与方法7 1.4.1运行C程式的步骤7 1.4.2上机运行C程式的方法8 本章小结15 习题16 第2章数据的存储与运算17 2.1数据在计算机中是怎样存储的17 2.1.1数据在计算机中是以二进制形式存储的17 2.1.2位、位元组和地址18 2.1.3不同类型数据的存储方式19 2.2整型数据的运算与分析21 2.2.1整型数据运算程式举例和分析21 2.2.2整型常量与整型变数23 2.3实型数据的运算与分析26 2.3.1实型数据的运算举例26 2.3.2实型常量的表示形式28 2.3.3实型变数29 2.4字元型数据的运算31 2.4.1字元数据运算的简单例子31 2.4.2字元常量和字元变数32 2.4.3字元串常量36 2.5符号常量37 2.5.1为什幺要用符号常量 38 2.5.2符号常量的性质和使用方法40 2.6算术运算符和算术表达式41 2.6.1算术运算符41 2.6.2算术表达式43 2.7C运算符和C表达式45 2.7.1C运算符45 2.7.2C表达式46 2.8提高部分46 2.8.1求补码的方法46 2.8.2整型常量的表示形式47 2.8.3整型变数的类型47 2.8.4整型常量的类型48 2.8.5C语言允许使用的数据类型49 2.8.6运算符的优先权与结合性50 本章小结50 习题51 第3章最简单的C程式设计——顺序程式设计53 3.1算法是程式的灵魂53 3.1.1什幺是算法53 3.1.2怎样表示算法55 3.2程式的三种基本结构58 3.3C语句综述59 3.4赋值表达式和赋值语句62 3.4.1赋值表达式62 3.4.2赋值过程中的类型转换64 3.4.3赋值语句65 3.4.4变数赋初值66 3.5数据输入输出的概念67 3.6字元数据的输入输出68 3.6.1用putchar函式输出一个字元69 3.6.2用getchar函式输入一个字元70 3.7简单的格式输入与输出72 3.7.1用简单的printf函式输出数据72 3.7.2用简单的scanf函式输入数据76 3.8顺序结构程式设计举例79 3.9提高部分83 3.9.1关于无符号数据与有符号数据之间的赋值83 3.9.2较複杂的输入输出格式控制85 3.9.3简单易用的C++的输入输出92 本章小结93 习题94 第4章选择结构程式设计96 4.1条件判断96 4.1.1条件判断的含义96 4.1.2关係运算符和关係表达式97 4.1.3逻辑运算符和逻辑表达式98 4.2用if语句实现选择结构102 4.2.1用if语句实现选择结构举例102 4.2.2if语句的一般形式104 4.2.3if语句使用的说明104 4.2.4使用嵌套的if语句实现多层条判断106 4.3利用switch语句实现多分支选择结构110 4.4程式综合举例112 4.5提高部分116 4.5.1用条件表达式实现简单的选择结构116 4.5.2在程式中使用条件表达式118 本章小结119 习题120 第5章循环结构程式设计123 5.1程式中需要用循环结构123 5.2用while语句和dowhile语句实现循环124 5.2.1用while语句实现循环124 5.2.2用dowhile语句实现循环126 5.3用for 语句实现循环128 5.3.1for语句的一般形式和执行过程128 5.3.2for循环程式举例 129 5.4循环的嵌套133 5.5提前结束循环133 5.5.1用break语句提前退出循环 133 5.5.2用continue语句提前结束本次循环135 5.6几种循环的比较137 5.7循环程式综合举例137 5.8提高部分142 5.8.1while和dowhile循环的比较142 5.8.2for语句的各种形式143 本章小结147 习题147 第6章利用数组处理批量数据149 6.1为什幺要用数组149 6.2怎样定义和引用一维数组149 6.2.1怎样定义一维数组150 6.2.2怎样引用一维数组的元素150 6.2.3一维数组的初始化152 6.2.4一维数组程式举例153 6.3怎样定义和引用二维数组156 6.3.1怎样定义二维数组 156 6.3.2怎样引用二维数组的元素157 | 6.3.3二维数组的初始化157 6.3.4二维数组程式举例159 6.4字元数组162 6.4.1怎样定义字元数组及对其初始化 162 6.4.2怎样引用字元数组163 6.4.3字元串和字元串结束标誌164 6.4.4怎样进行字元数组的输入输出166 6.4.5字元串处理函式168 6.4.6字元数组套用举例169 6.5提高部分173 6.5.1为什幺在定义二维数组时採用两对双括弧的 形式173 6.5.2对C的字元串函式的详细说明174 本章小结178 习题179 第7章用函式实现模组化程式设计181 7.1函式是什幺181 7.2函式的定义和调用184 7.2.1为什幺要定义函式184 7.2.2怎样定义函式184 7.2.3怎样调用函式185 7.2.4对被调用函式的声明和函式原型188 7.3函式的嵌套调用和递归调用191 7.3.1函式的嵌套调用191 7.3.2函式的递归调用193 7.4数组作为函式参数199 7.4.1用数组元素作函式实参199 7.4.2用数组名作函式参数200 7.5变数的作用域和生存期207 7.5.1变数的作用域——局部变数和全局变数207 7.5.2变数的存储方式和生存期210 7.5.3关于作用域和生存期的小结214 7.6内部函式和外部函式215 7.6.1什幺是内部函式215 7.6.2什幺是外部函式215 7.7提高部分218 7.7.1实参求值的顺序218 7.7.2递归的典型例子——Hanoi(汉诺)塔问题218 本章小结221 习题223 第8章善于使用指针 225 8.1什幺是指针225 8.2指针变数226 8.2.1使用指针变数访问变数的例子226 8.2.2怎样定义指针变数228 8.2.3怎样引用指针变数229 8.2.4指针变数作为函式参数231 8.3通过指针引用数组236 8.3.1数组元素的指针236 8.3.2通过指针引用数组元素237 8.3.3用数组名作函式参数241 8.4通过指针引用字元串246 8.4.1字元串的表示形式246 8.4.2字元指针作函式参数250 8.4.3使用字元指针变数和字元数组的区别254 8.5提高部分257 8.5.1指针使用的技巧257 8.5.2多维数组的指针259 8.5.3指向函式的指针260 8.5.4返回指针值的函式260 8.5.5指针数组261 8.5.6多重指针——指向指针的指针262 本章小结263 习题265 第9章使用结构体类型处理组合数据——用户自定义数据类型267 9.1定义和使用结构体变数267 9.1.1自己建立结构体类型267 9.1.2定义结构体类型变数269 9.1.3结构体变数的初始化和引用271 9.2结构体数组275 9.3结构体指针278 9.4用结构体变数和结构体变数的指针作函式参数282 9.5用指针处理鍊表285 9.5.1什幺是线性鍊表285 9.5.2建立简单的静态鍊表286 9.5.3建立动态鍊表287 9.6提高部分289 9.6.1共用体类型289 9.6.2枚举类型290 本章小结293 习题294 第10章利用档案保存数据295 10.1C档案的有关概念295 10.1.1什幺是档案295 10.1.2档案名称296 10.1.3档案的分类296 10.1.4档案缓冲区297 10.1.5档案指针297 10.2档案的打开与关闭298 10.2.1用fopen函式打开数据档案298 10.2.2用fclose函式关闭档案300 10.3档案的顺序读写300 10.3.1向档案读写字元301 10.3.2向档案读写一个字元串304 10.3.3档案的格式化读写308 10.3.4用二进制方式读写档案308 10.4档案的随机读写312 10.4.1档案位置标记及其定位313 10.4.2随机读写档案315 10.5提高部分317 10.5.1系统定义的档案指针317 10.5.2回车换行符的转换317 10.5.3fread和fwrite函式用于二进制档案的输入 输出318 10.5.4档案读写的出错检测318 本章小结319 习题320 附录A常用字元与ASCII代码对照表322 附录BC语言中的关键字323 附录C运算符和结合性324 附录DC语言常用语法提要326 附录EC库函式331 参考文献337 |
(注:目录排版顺序为从左列至右列)
教学资源
- 配套教材
该教材有配套教材《C语言程式设计(第3版)学习辅导》。
书名 | 书号 | 出版社 | 出版时间 | 作者 |
---|---|---|---|---|
《C语言程式设计(第3版)学习辅导》 | 9787302370574 | 清华大学出版社 | 2014.09.01 | 谭浩强 |
- 课程资源
该教材还提供电子课件和网路资源。
教材特色
- 该教材保持第2版的特点和风格,基本上保留原书的体系;
- 按照C99标準进行介绍,以适应C语言的发展,使编写程式更加规範;
- 加强算法,强化解题思路;在介绍例题时,先进行问题分析,探讨解题思路,构造算法,然后才是根据算法编写程式,而不是先列出程式再解释程式;在各章中结合例题介绍各种典型的算法;对穷举、递推、叠代、递归、排序(包括比较交换法、选择法、起泡法)、矩阵运算、字元处理套用等算法作了介绍,对难度较大的鍊表操作的算法作了思路说明;
- 作者考虑到初学者的情况,设计体系,适当降低门槛;少用深奥难懂的专业术语,用通俗易懂的方法和语言阐述複杂的概念,使複杂的问题简单化;
- 该教材採用作者提出的“提出问题——解决问题——归纳分析”的新的教学三部曲,先具体后抽象,先实际后理论,先个别后一般;而不是先抽象后具体,先理论后实际,先一般后个别;
- 把教学内容分为基本要求和提高要求两个部分;这是考虑到不同对象的要求的差别,在各章中把一部分较深入的内容作为“提高部分”,单独列出,放在各章的最后;如果学时不够,可以只学基本部分。通过学习基本部分,能初步掌握C程式设计的基本内容,写出相对简单的程式,如果希望学习得更深入一些,掌握更多的编程思路和技巧,可以选学各章的“提高部分”。
作者简介
谭浩强,男,汉族,1934年11月出生,广东省人。曾担任清华大学团委副书记、清华大学绵阳分校党委常委、清华大学分校副校长等职务,同时承担教学工作。曾获全国高校教学成果奖国家级奖、国家科技进步奖、多项部委级优秀教材奖,北京市政府授予“有突出贡献专家”称号,被国家科委、中国科协表彰为“全国优秀科普工作者”,获国务院特殊津贴。