C语言程序设计 / 21世纪高等学校计算机基础实用规划教材
¥39.50定价
作者: 陆黎明、朱媛媛
出版时间:2017年7月
出版社:清华大学出版社
- 清华大学出版社
- 9787302463559
- 1-1
- 79703
- 16开
- 2017年7月
- 工学
- 软件工程
- TP312C
- 计算机
- 本专科、高职高专
内容简介
本书以目前流行的C语言为例,全面阐述了高级语言程序设计的基本概念、基本方法和基本技术,主要内容包括程序设计基础,数据类型、运算符和表达式,结构化程序设计,数组、指针,函数,结构体类型,文件等。 本书强调程序设计方法的教学,通过大量趣味性和实用性的例题来说明C语言中语法的应用,以及程序设计的概念、方法、技巧,并对例题做了详细的分析,富有启发性;将初学者较难掌握的指针数据类型提前到数组这一章节,使学生有较多的时间来理解和掌握其应用;所配的练习题题型丰富,有针对性,贴近生活,能够激发学生学习的兴趣和积极性;附录中的程序调试技术可帮助初学者尽快掌握程序调试的基本技术;结构合理,重点突出,难点分散,图文并茂,格式规范,有利于学生的学习和培养良好的程序设计风格与 习惯。 本书可作为各类高等学校本科、高职高专、成人教育的教材,也可作为计算机等级考试(二级C)的参考书和自学教材。
目录
第1章
程序设计基础... 1
1.1
数在计算机内的表示形式... 1
1.1.1 进位计数制... 1
1.1.2 数制转换... 2
1.1.3 码制... 4
1.1.4 定点数和浮点数... 6
1.1.5 字符编码... 7
1.2
程序设计和算法... 10
1.2.1 计算机的工作原理... 10
1.2.2 程序设计... 10
1.2.3 算法... 11
1.3
程序设计语言... 15
1.3.1 程序设计语言分类... 15
1.3.2 C语言的发展和特点... 16
1.4 C语言的字符集和标识符... 18
1.4.1 字符集... 18
1.4.2 标识符... 18
1.5 C程序的基本结构和上机步骤... 19
1.5.1 C程序的基本结构... 19
1.5.2 C程序的上机步骤... 21
练习1. 22
第2章
数据类型、运算符和表达式... 24
2.1
常量和变量... 24
2.1.1 常量... 24
2.1.2 变量... 25
2.2
基本数据类型... 26
2.2.1 整型数据... 26
2.2.2 实型数据... 28
2.2.3 字符型数据... 30
2.2.4 变量的初始化... 32
2.3
运算符和表达式... 33
2.3.1 算术运算符和算术表达式... 34
2.3.2 赋值运算符和赋值表达式... 35
2.3.3 逗号运算符和逗号表达式... 37
2.3.4 &运算符和sizeof运算符... 37
2.3.5 运算符的优先级和结合性... 38
2.4
数据类型转换... 39
2.4.1 类型自动转换... 39
2.4.2 类型强制转换... 40
练习2. 41
第3章
结构化程序设计... 44
3.1
结构化程序设计概述... 44
3.2
顺序结构程序设计... 45
3.2.1 C语言语句概述... 45
3.2.2 常用的输入和输出函数... 47
3.2.3 顺序结构程序设计举例... 52
3.3
选择结构程序设计... 53
3.3.1 关系运算符和关系表达式... 53
3.3.2 逻辑运算符和逻辑表达式... 54
3.3.3 if语句... 55
3.3.4 条件运算符... 62
3.3.5 switch语句... 63
3.4
循环结构程序设计... 66
3.4.1 while循环结构... 67
3.4.2 do-while循环结构... 68
3.4.3 for循环结构... 70
3.4.4 循环结构的嵌套... 72
3.4.5 无条件转移语句... 74
3.4.6 循环程序设计方法举例... 77
练习3. 81
第4章 数组、指针... 93
4.1
一维数组... 93
4.1.1 一维数组的定义... 93
4.1.2 一维数组的初始化... 94
4.1.3 一维数组元素的引用... 95
4.1.4 一维数组应用举例... 96
4.2
二维数组... 103
4.2.1 二维数组的定义... 103
4.2.2 二维数组的初始化... 104
4.2.3 二维数组元素的引用... 104
4.2.4 二维数组应用举例... 105
4.3
指针与数组... 108
4.3.1 指针与指针变量... 108
4.3.2 与指针有关的运算... 109
4.3.3 指针与一维数组... 113
4.3.4 用typedef自定义类型... 116
4.3.5 指针与二维数组... 117
4.4
字符数组和字符串处理函数... 119
4.4.1 字符数组... 120
4.4.2 常用字符串处理函数... 123
4.4.3 字符数组应用举例... 126
4.5
指针数组和二级指针... 130
4.5.1 指针数组... 130
4.5.2 指向指针的指针... 132
练习4. 133
第5章 函数... 142
5.1
函数概述... 142
5.2
函数的定义... 143
5.3
函数的调用... 145
5.3.1 函数声明... 145
5.3.2 函数调用... 147
5.3.3 形参与实参... 149
5.3.4 库函数调用实例... 150
5.4
数组作为函数的参数... 152
5.4.1 数组元素作函数实参... 152
5.4.2 指针作函数参数... 153
5.4.3 数组名作函数参数... 156
5.5
函数的嵌套调用和递归调用... 161
5.5.1 函数的嵌套调用... 161
5.5.2 函数的递归调用... 162
5.6
指针与函数... 166
5.6.1 返回指针值的函数... 166
5.6.2 动态存储分配函数... 168
5.6.3 指向函数的指针... 170
5.7
变量的作用域和存储类别... 174
5.7.1 变量的作用域... 174
5.7.2 变量的存储类别... 177
5.8
内部函数和外部函数... 183
5.8.1 内部函数... 183
5.8.2 外部函数... 183
5.8.3 外部函数应用举例... 183
练习5. 186
第6章 结构体类型... 196
6.1
结构体类型的定义... 196
6.2
结构体变量的定义和使用... 198
6.2.1 结构体变量的定义和初始化... 198
6.2.2 结构体变量的使用... 200
6.3
结构体数组... 201
6.3.1 结构体数组的定义和初始化... 201
6.3.2 结构体指针... 202
6.4
结构体作函数参数... 203
6.4.1 结构体变量作函数参数... 203
6.4.2 结构体指针(数组)作函数参数... 204
6.5
动态数据结构——链表... 206
6.5.1 单链表概述... 206
6.5.2 单链表的基本操作... 207
6.5.3 单链表应用举例... 211
练习6. 212
第7章 文件... 216
7.1
文件概述... 216
7.2
文件的打开和关闭... 218
7.2.1 文件类型指针... 218
7.2.2 文件的打开... 218
7.2.3 文件的关闭... 219
7.3
文件的读写... 220
7.3.1 文件的字符读写... 220
7.3.2 文件的字符串读写... 223
7.3.3 文件的格式化读写... 225
7.3.4 文件的数据块读写... 227
7.4
文件的定位... 229
7.4.1 rewind()函数... 229
7.4.2 fseek()函数... 230
7.4.3 ftell()函数... 232
7.5
文件的出错检测与处理... 233
7.5.1 ferror()函数... 233
7.5.2 clearerr()函数... 233
练习7. 234
附录A 常用运算符的含义、优先级和结合性............................................................. 236
附录B 常用C库函数................................................................................................ 237
附录C 常见错误分析和程序调试.............................................................................. 241
参考文献..................................................................................................................... 252