C程序设计(第五版)
《C程序设计(第五版)》是2017年8月清华大学出版社出版的中国高等院校计算机基础教育课程体系规划教材,作者是谭浩强。1
该书共分10章,按照C语言的新标准C99进行介绍,所有程序都符合C99的规定,使编写程序更加规范,对C语言和程序设计的基本概念作了详细解析。1
该输出获得全国高校出版社优秀畅销书特等奖。
基本信息
- 书名
C程序设计(第五版)
- 作者
谭浩强
- ISBN
9787302481447
- 类别
“十二五”普通高等教育本科国家级规划教材
- 页数
370页
成书过程
修订情况
该教材是根据C语言的发展和计算机教学的需要,在《C程序设计(第四版)》的基础上修订而成。2
该教材基本保持第四版的基本结构和内容,并作了适当的精简和补充。具体安排如下:
- 1.
第1章中简要介绍了程序设计的初步知识,但是由于篇幅关系以及学生基础不同,没有单独加设一章系统介绍计算机基本知识;有些需要用到的知识(如补码、地址、路径、数制转换等0,可在教学中随时补充(讲到哪,就补到哪);这样可以尽早切入C语言编程,始终以编程为主线;
- 2.
在该次修订中对第3章又进一步精简,对于输入输出格式,主要介绍最基本、最常用的内容,对其他格式,有些在随后陆续结合程序介绍,有的不作具体介绍,只列表给出;
- 3.
在该次修订中为减少篇幅,把第四版中的第11章“常见错误分析”也移放到《C程序设计(第五版)学习辅导》一书中;
- 4.
该教材把有关链表的详细内容作为习题供选做,并在《C程序设计(第五版)学习辅导》一书的习题解答中给出完整的程序;
- 5.
专门编写了“C程序案例”一章,综合应用各章的知识;其中提供了不同难度、不同类型的程序;阅读这些程序,可以使学生了解怎样去编写应用程序,提高自己的编程能力;这部分内容安排在《C程序设计(第五版)学习辅导》一书中。
出版工作
2017年7月20日,该教材由清华大学出版社出版。
责任编辑 | 封面设计 | 责任校对 | 责任印制 |
|---|---|---|---|
张民 | 何风霞 | 焦丽丽 | 沈露3 |
内容简介
该教材共10章,主要内容包括:设计和C语言,算法——程序的灵魂,最简单的C程序设计——顺序程序设计,选择结构程序设计,循环结构程序设计,利用数组处理批量数据,用函数实现模块化程序设计,善于利用指针,用户自己建立数据类型,对文件的输入输出。
教材目录
第1章程序设计和C语言11.1什么是计算机程序11.2什么是计算机语言11.3C语言的发展及其特点31.4最简单的C语言程序51.4.1最简单的C语言程序举例51.4.2C语言程序的结构91.5运行C程序的步骤与方法111.6程序设计的任务13习题14第2章算法——程序的灵魂152.1程序=算法+数据结构152.2什么是算法162.3简单的算法举例172.4算法的特性202.5怎样表示一个算法212.5.1用自然语言表示算法212.5.2用流程图表示算法212.5.3三种基本结构和改进的流程图252.5.4用N-S流程图表示算法282.5.5用伪代码表示算法312.5.6用计算机语言表示算法322.6结构化程序设计方法33习题35第3章最简单的C程序设计——顺序程序设计373.1顺序程序设计举例373.2数据的表现形式及其运算393.2.1常量和变量393.2.2数据类型423.2.3整型数据443.2.4字符型数据473.2.5浮点型数据493.2.6怎样确定常量的类型503.3运算符和表达式513.3.1C运算符523.3.2基本的算术运算符523.3.3自增(++)、自减(--)运算符533.3.4算术表达式和运算符的优先级与结合性533.3.5不同类型数据间的混合运算543.3.6强制类型转换运算符553.4C语句563.4.1C语句的作用和分类563.4.2最基本的语句——赋值语句583.5数据的输入输出643.5.1输入输出举例643.5.2有关数据输入输出的概念653.5.3用printf函数输出数据673.5.4用scanf函数输入数据743.5.5字符输入输出函数76习题80第4章选择结构程序设计834.1选择结构和条件判断834.2用if语句实现选择结构854.2.1用if语句处理选择结构举例854.2.2if语句的一般形式874.3关系运算符和关系表达式894.3.1关系运算符及其优先次序904.3.2关系表达式904.4逻辑运算符和逻辑表达式904.4.1逻辑运算符及其优先次序914.4.2逻辑表达式924.5条件运算符和条件表达式944.6选择结构的嵌套964.7用switch语句实现多分支选择结构994.8选择结构程序综合举例102习题107第5章循环结构程序设计1105.1为什么需要循环控制1105.2用while语句实现循环1115.3用do…while语句实现循环1135.4用for语句实现循环1165.5循环的嵌套1205.6几种循环的比较1215.7改变循环执行的状态1215.7.1用break语句提前终止循环1225.7.2用continue语句提前结束本次循环1235.7.3break语句和continue语句的区别1245.8循环程序举例127习题137第6章利用数组处理批量数据1396.1怎样定义和引用一维数组1396.1.1怎样定义一维数组1406.1.2怎样引用一维数组元素1406.1.3一维数组的初始化1426.1.4一维数组程序举例1426.2怎样定义和引用二维数组1456.2.1怎样定义二维数组1466.2.2怎样引用二维数组的元素1476.2.3二维数组的初始化1486.2.4二维数组程序举例1496.3字符数组1516.3.1怎样定义字符数组1516.3.2字符数组的初始化1526.3.3怎样引用字符数组中的元素1526.3.4字符串和字符串结束标志1536.3.5字符数组的输入输出1566.3.6使用字符串处理函数1576.3.7字符数组应用举例162习题165第7章用函数实现模块化程序设计1677.1为什么要用函数1677.2怎样定义函数1697.2.1为什么要定义函数1697.2.2定义函数的方法1707.3调用函数1717.3.1函数调用的形式1717.3.2函数调用时的数据传递172 | 7.3.3函数调用的过程1747.3.4函数的返回值1747.4对被调用函数的声明和函数原型1767.5函数的嵌套调用1797.6函数的递归调用1817.7数组作为函数参数1897.7.1数组元素作函数实参1897.7.2一维数组名作函数参数1917.7.3多维数组名作函数参数1947.8局部变量和全局变量1967.8.1局部变量1967.8.2全局变量197*7.9变量的存储方式和生存期2017.9.1动态存储方式与静态存储方式2017.9.2局部变量的存储类别2027.9.3全局变量的存储类别2057.9.4存储类别小结2097.10关于变量的声明和定义211*7.11内部函数和外部函数2127.11.1内部函数2127.11.2外部函数213习题215第8章善于利用指针2178.1指针是什么2178.2指针变量2198.2.1使用指针变量的例子2198.2.2怎样定义指针变量2208.2.3怎样引用指针变量2228.2.4指针变量作为函数参数2248.3通过指针引用数组2298.3.1数组元素的指针2298.3.2在引用数组元素时指针的运算2298.3.3通过指针引用数组元素2318.3.4用数组名作函数参数236*8.3.5通过指针引用多维数组2438.4通过指针引用字符串2548.4.1字符串的引用方式2548.4.2字符指针作函数参数2588.4.3使用字符指针变量和字符数组的比较262*8.5指向函数的指针2658.5.1什么是函数的指针2658.5.2用函数指针变量调用函数265*8.5.3怎样定义和使用指向函数的指针变量267*8.5.4用指向函数的指针作函数参数269*8.6返回指针值的函数273*8.7指针数组和多重指针2768.7.1什么是指针数组2768.7.2指向指针数据的指针变量2798.7.3指针数组作main函数的形参281*8.8动态内存分配与指向它的指针变量2848.8.1什么是内存的动态分配2848.8.2怎样建立内存的动态分配2848.8.3void指针类型2868.9有关指针的小结288习题291第9章用户自己建立数据类型2939.1定义和使用结构体变量2939.1.1自己建立结构体类型2939.1.2定义结构体类型变量2959.1.3结构体变量的初始化和引用2969.2使用结构体数组3009.2.1定义结构体数组3009.2.2结构体数组的应用举例3019.3结构体指针3039.3.1指向结构体变量的指针3039.3.2指向结构体数组的指针3049.3.3用结构体变量和结构体变量的指针作函数参数306*9.4用指针处理链表3099.4.1什么是链表3099.4.2建立简单的静态链表3109.4.3建立动态链表3119.4.4输出链表315*9.5共用体类型3179.5.1什么是共用体类型3179.5.2引用共用体变量的方式3189.5.3共用体类型数据的特点3199.6使用枚举类型322*9.7用typedef声明新类型名326习题330第10章对文件的输入输出33110.1C文件的有关基本知识33110.1.1什么是文件33110.1.2文件名33210.1.3文件的分类33210.1.4文件缓冲区33310.1.5文件类型指针33310.2打开与关闭文件33410.2.1用fopen函数打开数据文件33510.2.2用fclose函数关闭数据文件33710.3顺序读写数据文件33810.3.1怎样向文件读写字符33810.3.2怎样向文件读写一个字符串34110.3.3用格式化的方式读写文本文件34510.3.4用二进制方式向文件读写一组数据34510.4随机读写数据文件35010.4.1文件位置标记及其定位35010.4.2随机读写35310.5文件读写的出错检测355习题355附录357附录A常用字符与ASCII代码对照表357附录BC语言中的关键字358附录C运算符和结合性359附录DC语言常用语法提要361附录EC库函数365参考文献371 |
(注:目录排版顺序为从左列至右列4)
教学资源
配套教材
该教材有配套教材——《C程序设计(第五版)学习辅导》。5
书名 | 书号 | 出版社 | 出版时间 | 作者 |
|---|---|---|---|---|
《C程序设计(第五版)学习辅导》 | 9787302480877 | 清华大学出版社 | 2017.08.01 | 谭浩强5 |
课程资源
该教材提供ppt课件和源程序。