C程序设计(第五版)/中国高等院校计算机基础教育课程体系规划教材
出版时间:
2017-08
版次:
5
ISBN:
9787302481447
定价:
39.00
装帧:
平装
开本:
16开
纸张:
胶版纸
页数:
370页
字数:
603千字
10281人买过
-
由谭浩强教授著、清华大学出版社出版的《C程序设计》经过近三十年一千多万读者的实践检验,被公认为学习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人物”,他的功绩是把千百万群众带入计算机的大门。
第1章程序设计和C语言11.1什么是计算机程序1
1.2什么是计算机语言1
1.3C语言的发展及其特点3
1.4最简单的C语言程序5
1.4.1最简单的C语言程序举例5
1.4.2C语言程序的结构9
1.5运行C程序的步骤与方法11
1.6程序设计的任务13
习题14
第2章算法——程序的灵魂15
2.1程序=算法+数据结构15
2.2什么是算法16
2.3简单的算法举例17
2.4算法的特性20
2.5怎样表示一个算法21
2.5.1用自然语言表示算法21
2.5.2用流程图表示算法21
2.5.3三种基本结构和改进的流程图25
2.5.4用NS流程图表示算法28
2.5.5用伪代码表示算法31
2.5.6用计算机语言表示算法32
2.6结构化程序设计方法33
习题35
第3章最简单的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
3.3.1C运算符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用printf函数输出数据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
4.2.2if语句的一般形式 87
4.3关系运算符和关系表达式89
4.3.1关系运算符及其优先次序90
4.3.2关系表达式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用break语句提前终止循环122
5.7.2用continue语句提前结束本次循环123
5.7.3break语句和continue语句的区别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怎样引用二维数组的元素147
6.2.3二维数组的初始化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外部函数213
习题215
第8章善于利用指针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用数组名作函数参数236
8.3.5通过指针引用多维数组243
8.4通过指针引用字符串254
8.4.1字符串的引用方式 254
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指针数组作main函数的形参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
第10章对文件的输入输出331
10.1C文件的有关基本知识331
10.1.1什么是文件331
10.1.2文件名332
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随机读写 353
10.5文件读写的出错检测355
习题355
附录357
附录A常用字符与ASCII代码对照表357
附录BC语言中的关键字358
附录C运算符和结合性359
附录DC语言常用语法提要361
附录EC库函数365
参考文献371
-
内容简介:
由谭浩强教授著、清华大学出版社出版的《C程序设计》经过近三十年一千多万读者的实践检验,被公认为学习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人物”,他的功绩是把千百万群众带入计算机的大门。
-
目录:
第1章程序设计和C语言11.1什么是计算机程序1
1.2什么是计算机语言1
1.3C语言的发展及其特点3
1.4最简单的C语言程序5
1.4.1最简单的C语言程序举例5
1.4.2C语言程序的结构9
1.5运行C程序的步骤与方法11
1.6程序设计的任务13
习题14
第2章算法——程序的灵魂15
2.1程序=算法+数据结构15
2.2什么是算法16
2.3简单的算法举例17
2.4算法的特性20
2.5怎样表示一个算法21
2.5.1用自然语言表示算法21
2.5.2用流程图表示算法21
2.5.3三种基本结构和改进的流程图25
2.5.4用NS流程图表示算法28
2.5.5用伪代码表示算法31
2.5.6用计算机语言表示算法32
2.6结构化程序设计方法33
习题35
第3章最简单的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
3.3.1C运算符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用printf函数输出数据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
4.2.2if语句的一般形式 87
4.3关系运算符和关系表达式89
4.3.1关系运算符及其优先次序90
4.3.2关系表达式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用break语句提前终止循环122
5.7.2用continue语句提前结束本次循环123
5.7.3break语句和continue语句的区别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怎样引用二维数组的元素147
6.2.3二维数组的初始化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外部函数213
习题215
第8章善于利用指针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用数组名作函数参数236
8.3.5通过指针引用多维数组243
8.4通过指针引用字符串254
8.4.1字符串的引用方式 254
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指针数组作main函数的形参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
第10章对文件的输入输出331
10.1C文件的有关基本知识331
10.1.1什么是文件331
10.1.2文件名332
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随机读写 353
10.5文件读写的出错检测355
习题355
附录357
附录A常用字符与ASCII代码对照表357
附录BC语言中的关键字358
附录C运算符和结合性359
附录DC语言常用语法提要361
附录EC库函数365
参考文献371
查看详情
-
4
八五品
河南省开封市
平均发货9小时
成功完成率93.89%
-
八五品
北京市海淀区
平均发货8小时
成功完成率93.63%
-
2
八品
四川省成都市
平均发货18小时
成功完成率95.37%
-
九品
山东省济南市
平均发货2小时
成功完成率92.11%
-
九品
-
八五品
湖北省武汉市
平均发货16小时
成功完成率95.22%
-
八五品
湖北省武汉市
平均发货17小时
成功完成率91.67%
-
10
八五品
上海市宝山区
平均发货5小时
成功完成率96.61%
-
九五品
河北省保定市
平均发货20小时
成功完成率70.97%
-
8
2年 印刷
九品
北京市海淀区
平均发货8小时
成功完成率97.27%
-
九品
浙江省杭州市
平均发货7小时
成功完成率95.73%
-
九品
山东省枣庄市
平均发货10小时
成功完成率92.72%
-
九品
山东省枣庄市
平均发货10小时
成功完成率92.72%
-
九五品
天津市武清区
平均发货26小时
成功完成率84.33%
-
九五品
广东省东莞市
平均发货8小时
成功完成率95.2%
-
八五品
山西省运城市
平均发货14小时
成功完成率84.43%
-
5
八品
重庆市九龙坡区
平均发货8小时
成功完成率95.85%
-
3
全新
湖南省衡阳市
平均发货8小时
成功完成率96.01%
-
4
八五品
河南省郑州市
平均发货5小时
成功完成率95.82%
-
4
2018-12 印刷
印次: 7
八品
广东省东莞市
平均发货5小时
成功完成率95.84%
-
全新
天津市武清区
平均发货21小时
成功完成率90.02%
-
八五品
山东省枣庄市
平均发货17小时
成功完成率89.93%
-
八五品
广西桂林市
平均发货19小时
成功完成率84.6%
-
九品
四川省成都市
平均发货7小时
成功完成率91.5%
-
9
九品
河北省保定市
平均发货4小时
成功完成率96.85%
-
9
九品
河北省保定市
平均发货4小时
成功完成率96.85%
-
10
九品
河北省保定市
平均发货4小时
成功完成率96.85%
-
8
九品
河北省保定市
平均发货4小时
成功完成率96.85%
-
9
九品
河北省保定市
平均发货4小时
成功完成率96.85%
-
10
九品
河北省保定市
平均发货4小时
成功完成率96.85%
-
10
九品
河北省保定市
平均发货4小时
成功完成率96.85%
-
11
八五品
河北省衡水市
平均发货6小时
成功完成率96.58%
-
6
九品
河北省衡水市
平均发货6小时
成功完成率96.58%
-
5
九品
河北省衡水市
平均发货6小时
成功完成率96.58%
-
2
八品
四川省成都市
平均发货18小时
成功完成率95.37%
-
3
九品
河南省濮阳市
平均发货8小时
成功完成率97.2%
-
全新
四川省成都市
平均发货15小时
成功完成率89.7%
-
全新
四川省成都市
平均发货15小时
成功完成率89.7%
-
4
八五品
河北省衡水市
平均发货8小时
成功完成率95.33%
-
8
九品
北京市海淀区
平均发货8小时
成功完成率96.73%
-
4
八五品
河北省衡水市
平均发货8小时
成功完成率95.33%
-
八五品
浙江省杭州市
平均发货10小时
成功完成率88.2%
-
3
八五品
广东省东莞市
平均发货3小时
成功完成率97.11%
-
3
全新
山东省泰安市
平均发货9小时
成功完成率96.26%
-
2
八五品
江苏省镇江市
平均发货8小时
成功完成率93.48%
-
八五品
江苏省镇江市
平均发货8小时
成功完成率86.49%
-
4
全新
北京市昌平区
平均发货6小时
成功完成率97.91%
-
4
八五品
四川省成都市
平均发货10小时
成功完成率96.31%
-
2
九品
广东省广州市
平均发货4小时
成功完成率93.16%
-
九品
山东省枣庄市
平均发货10小时
成功完成率92.72%