《C程序设计》,由谭浩强教授执笔,清华大学出版社在《C语言程序设计谭浩强》第五版出版,已被公认为学习C语言程序设计的经典教材和学习C语言的必备教材,欢迎下载使用。
《C程序设计》,由谭浩强教授执笔,清华大学出版社出版,近30年来经过1000多万读者的检验,被公认为学习C语言程序设计的经典教材。根据C语言的发展和计算机教学的需要,作者在《C程序设计(第四版)》的基础上对内容进行了修改,使其更加完善,更容易理解,更适合教学需要。本书是根据C语言新标准C 99介绍的,所有的程序都符合C 99的规定,使得编程更加规范;全面深入地讲解C语言和编程的基本概念和要点;按照作者提出的“提出问题—解决问题—归纳分析”三部曲进行教材的教学和整理;本书中的每个例子都是按照以下步骤展开的:提出任务-解决思路-编写程序-运行程序-程序分析-相关解释。符合读者的认知规律,容易上手和提高。这本书内容先进,体系合理,概念清晰,讲解详细,步骤放低,难点分散,例题丰富,用词简单,流畅易懂。是初学者学习C语言编程的理想教材。可以作为高校所有专业的正式教材,也适合读者自学。本书还配有辅助教材《C程序设计(第五版)学习辅导》。
作者简介中国著名计算机教育专家谭浩强教授。1958年毕业于清华大学自动控制系。年轻时曾担任清华大学学生会主席、北京市学联副主席、北京市民代表、全国文教战线先进成员。他是我国高校计算机普及和计算机基础教育的开拓者之一。现任全国高等学校计算机基础教育学院名誉院长、教育部全国计算机应用技术证书考试委员会主任委员,享受国务院政府特殊津贴。曾获国家科技进步奖和*教学成果奖,被原国家科委、中国科协表彰为“全国先进科普工作者”,被北京市人民政府评为“北京市有突出贡献专家”。谭浩强教授创造了三项世界纪录:(1)在过去的30年里,他编辑出版了160多本计算机书籍,编辑了400多本计算机书籍,使他成为最大的科技作品出版商。(2)他编辑编辑的书发行量超过6000万册,使他成为阅读量最大的科技作家。在中国,每21个人和1.2个知识分子拥有一本谭浩强的书。(3)与他人合著的《BASIC语言》已发行1250多万册,他撰写的《C程序设计》已发行1400多万册,均创下了科技图书发行量的记录。他在中央电视台讲授过七种计算机语言,即BASIC、FORTRAN、COBOL、Pascal、QBASIC、C和Visual Basic,听众超过500万人。谭浩强教授擅长用读者容易理解的方式和语言解释复杂的概念。很多人认为他开创了计算机书籍贴近群众的新潮流,为计算机在中国的普及做出了重要贡献。21世纪初,被《计算机世界》报社组织的“世纪评选”评为“20世纪中国十大最具影响力IT人物”,被《电脑报》评为“中国十大IT人物”。他的功绩是把数百万人带进了计算机之门。
第一章程序设计和C语言11.1什么是计算机程序1
1.2什么是计算机语言1
1.3C语言发展及其特点3
1.4最简单的c语言程序5
1.4.1最简单的c语言程序示例5
1 . 4 . 2C c语言程序的结构9
1.5
2.6结构化编程方法33
练习35
第三章最简单的C编程——顺序编程37
3.1顺序编程示例37
3.2数据表达和操作39
3.2.1常数和变量39
3.2.2数据类型42
3.2.3整数数据44
3.2.4字符数据47
3.2.5浮点数据49
3.2.6如何确定常数50的类型
3.3运算符和表达式51
c操作员52
3.3.2基本算术运算符52
3.3.3自增()和自减(-)运算符53
3.3.4算术表达式和运算符的优先级和组合53
3.3.5不同类型数据之间的混合操作54
3.3.6强制类型转换运算符55
3.4C报表56
3.4.1C声明56的功能和分类
3.4.2最基本的陈述——分配陈述58
3.5数据的输入和输出64
3.5.1输入和输出示例64
3.5.2数据输入和输出的概念65
3.5.3使用打印功能67输出数据
3.5.4使用scanf功能输入数据74
3.5.5字符输入和输出功能76
练习80
第4章选择结构编程83
4.1选择结构和条件判断83
4.2使用if语句实现选择结构85
4.2.1使用if语句处理选择结构的示例85
报表87中4 . 2 . 2的一般形式
4.3关系运算符和关系表达式89
4.3.1关系运算符及其优先级顺序90
关系表达式90
4.4逻辑运算符和逻辑表达式90
4.4.1逻辑运算符及其优先级顺序91
4.4.2逻辑表达式92
4.5条件运算符和条件表达式94
4.6选择结构的嵌套96
4.7使用switch语句实现多分支选择结构99
4.8选择结构程序的综合示例102
练习107
第5章循环结构的编程110
5.1为什么需要环路控制110
5.2使用while语句实现循环111
5.3使用do…while语句实现循环113
5.4用for语句实现循环116
5.5循环嵌套120
5.6几个循环的比较121
5.7改变循环执行的状态121
5.7.1使用中断语句122提前终止循环
5.7.2使用继续语句123提前结束此周期
5.7.3中断语句和继续语句的区别124
5.8循环程序示例127
练习137
第6章用数组139处理批处理数据
6.1如何定义和引用一维数组139
6.1.1如何定义一维数组140
6.1.2如何引用一维数组元素140
6.1.3一维数组142的初始化
6.1.4一维数组程序示例142
6.2如何定义和引用二维数组145
6.2.1如何定义二维数组146
6.2.2如何参考2D阵列147的元素
6 . 2 . 3 2D阵列148的初始化
6.2.4二维数组程序示例149
6.3字符数组151
6.3.1如何定义字符数组151
6.3.2字符数组152的初始化
6.3.3如何引用字符数组中的元素152
6.3.4字符串和字符串结束标记153
6.3.5字符数组156的输入和输出
6.3.6使用字符串处理功能157
6.3.7字符数组162的应用示例
练习165
第7章带函数的模块化编程167
7.1为什么使用函数167
7.2如何定义函数169
7.2.1为什么要定义函数169
7.2.2定义功能的方法170
7.3调用函数171
7.3.1函数调用171的形式
7.3.2函数调用期间的数据传输172
7.3.3函数调用174的过程
7.3.4函数174的返回值
7.4被调用函数176的声明和函数原型
7.5函数的嵌套调用179
7.6函数181的递归调用
7.7数组作为函数参数189
7.7.1作为函数参数的数组元素189
7.7.2一维数组著名函数参数191
7.7.3多维数组著名函数参数194
7.8局部变量和全局变量196
7.8.1局部变量196
7.8.2全局变量197
7.9变量的存储和寿命201
7.9.1动态存储模式和静态存储模式201
7.9.2局部变量的存储类别202
7.9.3全局变量的存储类别205
7.9.4存储类别汇总209
7.10变量的声明和定义211
7.11内部和外部功能212
7.11.1内部职能212
7.11.2外部职能
练习215
第八章指针的良好使用217
8.1什么是指针217
8.2指针变量219
8.2.1使用指针变量的示例219
8.2.2如何定义指针变量220
8.2.3如何引用指针变量222
8.2.4指针变量作为函数参数224
8.3指针引用数组229
8.3.1数组元素指针229
8.3.2引用数组元素时指针的操作229
8.3.3通过指针引用数组元素231
8.3.4使用数组名作为函数参数
8.4.2作为功能参数的字符指针258
8.4.3字符指针变量和字符数组之间的比较262
8.5指向函数265的指针
8.5.1什么是指向函数265的指针
8.5.2用函数指针变量调用函数265
8.5.3如何定义和使用指向函数的指针变量267
8.5.4使用函数指针作为函数参数269
8.6返回指针值的函数273
8.7指针数组和多指针276
8.7.1什么是指针数组276
8.7.2指向指针数据的指针变量279
8.7.3指针数组作为主函数的参数281
8.8动态内存分配和指向它的指针变量284
8.8.1什么是动态内存分配284
8.8.2如何建立动态内存分配284
8.8.3void指针类型286
8.9指针摘要288
练习291
第9章用户自己的数据类型293
9.1定义和使用结构变量293
9.1.1建立自己的结构类型293
9.1.2定义结构类型变量295
9.1.3结构变量的初始化和引用296
9.2使用结构阵列300
9.2.1定义结构数组300
9.2.2结构数组301的应用示例
9.3结构指针303
9.3.1指向结构变量303的指针
9.3.2指向结构数组304的指针
9.3.3使用结构变量和结构变量的指针作为函数参数306
9.4用指针处理链表309
9.4.1什么是链表309
9.4.2建立一个简单的静态链表310
9.4.3建立动态链表311
9.4.4输出链表315
9.5普通车身类型317
9.5.1什么是常见的车身类型317
9.5.2引用公共身体变量的方法318
9.5.3常见体型数据的特征319
9.6使用枚举类型322
9.7用typedef声明新的类型名326
练习330
第十章文件的输入和输出331
10.1C文件基础知识331
10.1.1什么是文件331
10.1.2文件名
10.1.3文件分类332
10.1.4文件缓冲器333
10.1.5文件类型指针333
10.2打开和关闭文件334
10.2.1使用fopen函数335打开数据文件
10.2.2使用fclose函数337关闭数据文件
10.3顺序读写数据文件338
10.3.1如何读写字符到文件338
10.3.2如何读写字符串到文件341
10.3.3以格式化方式读写文本文件345
10.3.4以二进制模式345向文件读写一组数据
10.4数据文件的随机读写350
10.4.1文件位置标记及其定位350
10.4.2随机读写
10.5文件读写的错误检测355
练习355
附录357
附录一常用字符和ASCII码对照表357
公元前语言附录关键词358
附录c运算符和关联性359
附录361语言通用语法摘要
附录EC库函数365
参考文献371