出版社:清华大学出版社
年代:2014
定价:29.0
C语言程序设计课程的教学重点应该是培养学生的实践编程能力,教学模式要从知识传授转为能力培养,本教材以程序设计为中心来组织内容。全书以程序设计为主线,从应用出发,通过案例和问题引入内容,重点讲解程序设计的思想和方法,并结合相关的语言知识的介绍。
第1章概述/1
1.1计算机程序设计语言1
1.2用程序设计语言编写程序的步骤2
1.2.1编码2
1.2.2编译2
1.2.3调试3
1.2.4维护3
1.3结构化程序设计方法4
1.4算法4
1.4.1算法的特性5
1.4.2算法的描述5
1.5关于C程序设计语言8
1.5.1C语言出现的历史背景8
1.5.2C语言的特点9
1.6简单的C语言程序10
练习题16
第2章类型、运算符与表达式/18
2.1变量18
2.1.1变量的命名规则18
2.1.2变量的声明19
2.2数据类型及长度20
2.2.1short与long限定符20
2.2.2signed与unsigned限定符20
2.2.3每种数据类型的printf和scanf格式转换符21
2.3常量24
2.3.1整数常量与浮点数常量24
2.3.2字符常量24
2.3.3字符串常量24
2.3.4符号常量25〖1〗C语言程序设计目录[3]〖3〗2.3.5枚举常量26
2.4常量表达式27
2.5算术运算符27
2.6关系运算符与逻辑运算符27
2.7自增运算符与自减运算符29
2.8逗号运算符30
2.9赋值运算符与表达式31
2.10条件运算符与条件表达式31
2.11一元运算符sizeof33
2.12类型转换33
2.13运算符的优先级及求值次序35
练习题36
第3章分支结构/44
3.1实例导入44
3.2语句与程序块45
3.3ifelse语句45
3.4elseif语句48
3.5switch语句50
3.6应用实例: 学生成绩管理56
练习题58
第4章循环结构/62
4.1实例导入62
4.2while循环65
4.3for循环70
4.4dowhile循环74
4.5三种循环语句的比较76
4.6循环结构的嵌套76
4.7break语句与continue语句83
4.8goto语句与标号86
4.9专题1: 正整数的拆分87
4.10专题2: 迭代法90
4.11应用实例: 学生成绩管理95
练习题95
第5章输入与输出/109
5.1getchar()函数109
5.2putchar()函数110
5.3printf()函数112
5.4scanf()函数114
5.5应用实例: 求和116
练习题122
第6章函数/126
6.1实例导入126
6.2函数的基本知识129
6.2.1函数的定义129
6.2.2函数的调用130
6.2.3函数的声明133
6.2.4函数设计的基本原则137
6.3函数的嵌套调用137
6.4函数的递归调用137
6.5变量的存储类型143
6.6变量的类别144
6.6.1外部变量与内部变量144
6.6.2静态变量145
6.6.3寄存器变量146
6.7变量的作用域与生存期147
6.8程序块结构153
6.9变量的初始化154
6.10预处理器154
6.10.1文件包含154
6.10.2宏替换155
6.10.3条件编译157
6.11专题3: 最大公约数的求解158
6.11.1bruteforce算法159
6.11.2欧几里得算法159
6.11.3更相减损法160
6.12专题4: 素数的判定161
6.12.1素数判定的基本方法161
6.12.2素数判定的筛选法168
练习题170
第7章数组/184
7.1实例导入184
7.2一维数组187
7.2.1一维数组的定义187
7.2.2一维数组元素的引用188
7.2.3一维数组的初始化188
7.2.4一维数组的应用举例189
7.3二维数组192
7.3.1二维数组的定义192
7.3.2二维数组元素的引用192
7.3.3二维数组的初始化193
7.3.4二维数组的应用举例194
7.4字符数组199
7.4.1字符数组的定义和引用199
7.4.2字符数组的初始化199
7.4.3字符数组的输入输出201
7.4.4字符数组的应用举例203
7.5数组与函数参数206
7.5.1数组元素作函数实参206
7.5.2数组名作函数实参207
7.6查找和排序209
7.6.1查找209
7.6.2排序210
7.7专题5: 进制转换214
7.8应用实例: 学生成绩管理216
练习题218
第8章指针/238
8.1实例导入238
8.2指针的基本知识243
8.2.1指针变量的声明243
8.2.2指针变量的初始化243
8.2.3指针变量的基本运算243
8.3指针与数组246
8.3.1指针与一维数组246
8.3.2指针与多维数组254
8.4指针与函数256
8.4.1指针作为函数的参数256
8.4.2指针作为函数的返回值259
8.4.3指向函数的指针262
8.5字符指针与函数264
8.6指针数组265
8.6.1指针数组的声明265
8.6.2指针数组的初始化265
8.6.3指针数组与二维数组的区别266
8.7命令行参数266
8.8指向指针的指针267
8.9动态分配268
8.9.1动态分配内存268
8.9.2释放内存269
8.9.3void类型269
8.9.4动态数组269
8.9.5查找malloc中的错误271
练习题271
第9章结构/291
9.1结构类型的用处291
9.2结构的基本知识296
9.2.1结构类型的定义297
9.2.2结构变量的定义297
9.2.3结构成员的访问298
9.2.4对结构变量的操作298
9.2.5结构变量的初始化300
9.2.6结构的嵌套301
9.3结构数组302
9.4结构指针305
9.5typedef307
9.6结构与函数308
9.7单链表309
9.7.1单链表的初始化310
9.7.2单链表的输出310
9.7.3单链表的插入311
9.7.4单链表的删除313
9.7.5链表的综合操作313
9.8联合315
9.9枚举318
9.9.1枚举类型的定义318
9.9.2枚举变量的定义318
9.9.3对枚举变量的操作319
9.10应用实例: 学生成绩管理321
9.10.1用结构数组实现322
9.10.2用单链表实现323
练习题326
第10章位运算/336
10.1位运算符336
10.1.1与运算符336
10.1.2或运算符336
10.1.3异或运算符337
10.1.4取反运算符337
10.1.5左移运算符和右移运算符338
10.2位赋值运算符341
10.3位域341
练习题343
第11章文件/345
11.1实例导入346
11.2C语言中文件的使用347
11.2.1声明FILE类型的变量348
11.2.2打开文件348
11.2.3执行I/O操作349
11.2.4关闭文件349
11.3字符I/O350
11.3.1读字符函数fgetc()350
11.3.2写字符函数fputc()350
11.4面向行I/O353
11.4.1读字符串函数fgets()353
11.4.2写字符串函数fputs()353
11.5格式化I/O354
11.5.1格式化输出354
11.5.2格式化输入354
11.6数据块读写356
11.6.1数据块读函数fread()356
11.6.2数据块写函数fwrite()356
11.7文件的定位356
11.7.1fseek()函数356
11.7.2ftell()函数358
11.7.3frewind()函数358
11.8错误检测函数359
11.8.1clearerr()函数359
11.8.2feof()函数359
11.8.3ferror()函数359
11.9应用实例: 学生成绩管理360
练习题364
附录A常用字符与ASCII码对照表/369
附录B常用的C语言库函数/371B.1数学函数371
B.2字符处理函数372
B.3字符串处理函数373
B.4实用函数374
附录C与具体实现相关的限制/375
附录D原码、反码和补码/376
参考文献/377
〖1〗C++程序设计基础目录[3]〖3〗§2.2常量28
2.2.1整型常量28
2.2.2浮点常量28
2.2.3字符常量30
2.2.4字符串常量30
2.2.5标识常量32
2.2.6换码序列32
§2.3变量34
2.3.1变量和变量的地址34
2.3.2C++存储类型35
2.3.3变量使用范围37
2.3.4变量的初始化和赋值38
2.3.5强制数据类型的转换38
2.3.6常量化的变量40
§2.4数组41
2.4.1一维数据41
2.4.2字符数组44
2.4.3多维数组46
§2.5运算符及其运算48
2.5.1算术运算符48
2.5.2关系运算符和逻辑运算符50
2.5.3位运算符52
2.5.4赋值运算符与赋值复合运算符58
2.5.5C++语言的特殊运算符59
2.5.6C++运算符的优先级61
思考与练习题62
第3章控制语句/64
§3.1程序设计方法与程序结构64
3.1.1结构化程序设计65
3.1.2面向对象的程序设计67
§3.2分支语句67
3.2.1单分支语句——if语句68
3.2.2双分支语句——if~else语句69
3.2.3多分支语句——else if语句70
3.2.4嵌套结构及其分析73
3.2.5switch语句76
§3.3循环语句79
3.3.1for循环语句79
3.3.2while循环语句82
3.3.3do~while循环语句84
3.3.4循环语句使用的注意事项86
3.3.5循环语句的嵌套87
§3.4辅助控制语句88
3.4.1break语句——中途退出语句88
3.4.2continue语句——截流语句92
3.4.3return语句93
3.4.4goto语句95
思考与练习题96
第4章指针/101
§4.1指针变量101
§4.2指针变量的声明与初始化104
4.2.1指针变量的声明104
4.2.2指针的初始化105
§4.3指针运算107
4.3.1指针的算术运算107
4.3.2指针的关系运算111
4.3.3指针的赋值运算112
§4.4指针与数组113
§4.5字符指针与字符串115
§4.6指针数组117
§4.7多级指针119
§4.8new和delete运算符121
4.8.1new运算符121
4.8.2delete运算符123
§4.9引用124
4.9.1普通变量的引用124
4.9.2数组的引用124
§4.10const型指针和void型指针125
4.10.1常量化的指针变量126
4.10.2void型指针变量128
思考与练习题128
第5章函数与宏/130
§5.1自定义函数的定义、声明和使用130
5.1.1函数的定义130
5.1.2函数的声明132
5.1.3函数的使用133
§5.2函数之间的参数传递135
5.2.1复制传递方式135
5.2.2地址传递方式136
5.2.3引用方式137
5.2.4全局变量138
5.2.5默认参数值的函数139
§5.3函数与数组140
5.3.1复制传递方式140
5.3.2地址传递方式141
5.3.3引用方式142
5.3.4多维数组与函数143
§5.4指针函数146
§5.5函数指针与函数指针数组147
5.5.1函数指针147
5.5.2函数指针数组149
§5.6函数重载150
§5.7内联函数152
§5.8递归函数152
§5.9标准函数153
§5.10宏和其他预编译语句156
5.10.1宏定义语句#define156
5.10.2包括语句158
5.10.3条件编译158
思考与练习题159
第6章自定义数据类型/167
§6.1结构体的定义及其声明167
6.1.1结构体的定义167
6.1.2结构体的声明168
6.1.3结构体的使用169
6.1.4结构体的初始化170
6.1.5匿名结构体171
§6.2结构体数组与结构体指针171
6.2.1结构体数组171
6.2.2结构体指针172
§6.3结构体与函数174
6.3.1结构体在函数体间的传递174
6.3.2结构体函数177
6.3.3结构体指针函数179
§6.4结构体嵌套180
§6.5位字段结构体简介182
§6.6联合体184
§6.7枚举类型188
6.7.1枚举类型的定义188
6.7.2枚举变量的声明与使用188
§6.8typedef语句190
思考与练习题192
第7章类与对象/195
§7.1面向对象技术与C++类类型195
7.1.1传统开发方法存在的问题195
7.1.2面向对象技术196
7.1.3C++语言的三种类类型197
7.1.4class类类型198
§7.2类的定义199
§7.3对象的声明和使用202
§7.4对象数组和对象指针204
7.4.1对象数组204
7.4.2对象指针205
§7.5构造函数和析构函数207
7.5.1构造函数207
7.5.2析构函数208
7.5.3默认构造函数和默认析构函数209
7.5.4复制构造函数209
7.5.5浅复制和深复制211
§7.6对象在函数间的传递214
7.6.1对象的复制传递方式214
7.6.2对象的地址传递方式215
7.6.3对象的引用方式217
§7.7this指针217
§7.8常对象与常成员函数218
7.8.1常对象218
7.8.2常成员函数219
思考与练习题220
第8章派生与继承/222
§8.1类的程序结构222
§8.2基类与派生类223
8.2.1派生类的定义223
8.2.2派生类的继承方式226
8.2.3基类与派生类之间的关系228
8.2.4基类指针与派生类指针228
§8.3单继承、多继承与继承链228
§8.4派生类与基类之间的内在关系233
8.4.1派生类的构造函数和析构函数234
8.4.2构造函数和析构函数的执行顺序235
8.4.3子类型238
8.4.4类型适应239
8.4.5对象的内存占用情况239
§8.5二义性与虚基类241
8.5.1二义性问题241
8.5.2虚基类244
8.5.3虚基类的构造函数246
§8.6类层次中的访问规则246
思考与练习题247
第9章友元与静态成员/249
§9.1友元249
9.1.1友元函数249
9.1.2友元类251
§9.2静态成员252
9.2.1静态数据成员252
9.2.2静态成员函数255
思考与练习题257
第10章虚拟函数与多态性/259
§10.1静态绑定和动态绑定259
10.1.1静态绑定259
10.1.2动态绑定261
§10.2虚拟函数261
10.2.1虚拟函数的技术内幕264
10.2.3虚拟函数的应用举例265
10.2.3虚析构函数269
§10.3纯虚拟函数与抽象类270
10.3.1纯虚拟函数270
10.3.2抽象类271
思考与练习题276
第11章重载与模板/279
§11.1重载279
11.1.1运算符重载279
11.1.2类型转换284
11.1.3特殊运算符的重载285
§11.2模板290
11.2.1函数模板291
11.2.2类模板293
11.2.3模板与友元298
11.2.4模板与static成员300
11.2.5类模板的派生与继承300
思考与练习题300
第12章异常处理/303
§12.1异常的概念303
12.1.1异常的定义303
12.1.2异常处理的基本思想303
§12.2异常处理的编程方法304
12.2.1异常处理的三个语句304
12.2.2异常处理的执行过程305
12.2.3异常处理的基本步骤305
12.2.4多类型的异常处理306
12.2.5再抛出异常308
12.2.6构造函数、析构函数与异常处理309
§12.3异常处理类309
思考与练习题310
第13章C++输入和输出/312
§13.1流输入输出312
13.1.1提取运算符和插入运算符312
13.1.2标准出错输出(cerr/clog)315
13.1.3输入流类315
13.1.4输出流类316
13.1.5格式化输入输出317
§13.2磁盘文件的输入输出324
13.2.1文本文件的输入输出324
13.2.2二进制数据文件328
13.2.3随机数据文件329
思考与练习题331
参考文献/332
......
本书采用“实例导入问题提出解释与应用”这一基本叙述模式,引入生动有趣的案例,从情境中提出问题,建立数学模型,获得解决,最后再应用。全书共分11章,包括概述、分支结构、循环结构、函数数组、指针、结构等内容。本书在结构设计上,从有利于学生学习的角度出发选择、组织和呈现教学内容。首先,在书的安排顺序上,先安排函数,然后是数组和指针,这样便于学生早接触函数,早使用函数,有利于学生后续课程的学习;其次,强调实践,而不拘泥于基础知识,通过实践掌握基础知识,重点在程序设计能力的培养;再次,本教材设计了一些专题,如迭代算法、素数判定等,总结了某一类问题的解决方法,又让学生体验到程序设计的实用性,激发了学生的学习兴趣。本书可以作为各类大专院校、等级考试与各类培训的教学用书,也可作为C语言程序设计的自学用书。
书籍详细信息 | |||
书名 | C语言程序设计站内查询相似图书 | ||
9787302374527 如需购买下载《C语言程序设计》pdf扫描版电子书或查询更多相关信息,请直接复制isbn,搜索即可全网搜索该ISBN | |||
出版地 | 北京 | 出版单位 | 清华大学出版社 |
版次 | 1版 | 印次 | 1 |
定价(元) | 29.0 | 语种 | 简体中文 |
尺寸 | 26 × 19 | 装帧 | 平装 |
页数 | 印数 | 2000 |
C语言程序设计是清华大学出版社于2014.9出版的中图分类号为 TP312 的主题关于 C语言-程序设计-高等学校-教材 的书籍。