第1章 程序设计基础 1
1.1人的思维形式 1
1.2程序设计基础 1
1.2.1程序设计的基本概念 1
1.2.2面向过程与面向对象 3
1.2.3数据结构概述 4
1.2.4算法 6
1.3 C语言的发展与特点 10
1.3.1 C语言的发展状况 10
1.3.2 C语言的特点 10
1.3.3简单程序示例 11
1.3.4 C程序的书写格式 13
1.3.5 main函数 14
1.4 C程序开发及运行环境 15
1.4.1开发C程序的步骤 15
1.4.2 Visual C++6.0集成开发环境 17
1.4.3使用Visual C++ 6.0开发C程序 19
1.5小结 27
习题 28
第2章 基本数据类型及运算 31
2.1数据类型 31
2.1.1标识符 32
2.1.2常量与变量 33
2.1.3整型 36
2.1.4实型 41
2.1.5字符型 43
2.2标准输入输出函数 49
2.2.1格式输入函数scanf 49
2.2.2格式输出函数printf 54
2.3运算符与表达式 60
2.4算术运算符和算术表达式 61
2.4.1算术运算符 61
2.4.2算术表达式 63
2.4.3算术运算符的优先级和结合性 63
2.5自增自减运算符及其表达式 64
2.6赋值运算符和赋值表达式 68
2.6.1简单赋值运算符及表达式 68
2.6.2赋值运算中的数据转换 69
2.6.3复合赋值运算符及表达式 72
2.7关系运算符和关系表达式 73
2.7.1关系运算符 73
2.7.2关系表达式 74
2.8逻辑运算符和逻辑表达式 75
2.8.1逻辑运算符 75
2.8.2逻辑运算的值 76
2.8.3逻辑表达式 77
2.9其他类型运算符和表达式 79
2.9.1条件运算符和条件表达式 79
2.9.2逗号运算符和逗号表达式 80
2.9.3位运算符与简单的位运算 81
2.10表达式的运算顺序和类型转换 87
2.10.1表达式的运算顺序 87
2.10.2类型转换 89
2.11库函数 92
2.11.1标准库函数与头文件 92
2.11.2标准库函数的调用 94
2.11.3字符输入输出函数 95
2.11.4数学函数 97
2.12小结 100
习题 101
第3章 程序设计结构 105
3.1程序设计结构的基本概念 105
3.1.1结构化程序设计的基本原则 105
3.1.2程序设计的三种基本结构 106
3.1.3使用流程图描述程序算法 108
3.1.4 C语句 108
3.2顺序结构 110
3.3选择结构 112
3.3.1条件语句 112
3.3.2多分支语句 120
3.4循环结构 124
3.4.1 for循环语句 124
3.4.2 while循环语句 128
3.4.3 do-while循环语句 130
3.4.4循环的嵌套 131
3.4.5三种基本结构的综合应用 134
3.5辅助控制语句 137
3.5.1无条件转向语句 137
3.5.2 跳出语句 138
3.5.3继续语句 139
3.6小结 143
习题 143
第4章 数组和字符串 150
4.1一维数组 150
4.1.1一维数组的定义 150
4.1.2一维数组的初始化 152
4.1.3一维数组元素的引用 153
4.1.4一维数组的应用举例 155
4.2二维数组 157
4.2.1二维数组的定义 157
4.2.2二维数组的初始化 158
4.2.3二维数组元素的引用 159
4.2.4二维数组应用举例 159
4.3字符数组 163
4.3.1字符数组的定义 163
4.3.2字符串与字符数组 163
4.3.3字符数组的初始化 163
4.3.4字符数组的引用 165
4.3.5字符数组的应用举例 165
4.3.6常用字符串处理函数 167
4.3.7综合应用举例 171
4.4数组元素的查找和排序 173
4.4.1数组元素的查找 173
4.4.2数组元素的排序 174
4.5小结 177
习题 177
第5章 函数 181
5.1函数基础知识 181
5.1.1函数的概念 181
5.1.2函数的分类 183
5.1.3函数的定义 185
5.2函数原型与函数的调用 188
5.2.1函数原型 188
5.2.2函数的参数 192
5.2.3函数的调用 194
5.2.4函数的返回值 199
5.3函数的嵌套调用 201
5.4函数的递归调用 206
5.5调用与被调用函数间的数据传递 214
5.5.1调用与被调用函数间的数值传递 214
5.5.2调用与被调用函数间的地址传递 216
5.6变量的作用域 222
5.6.1局部变量 223
5.6.2全局变量 226
5.7变量的存储类别 231
5.7.1变量的存储方式与生存期 231
5.7.2自动变量 231
5.7.3静态变量 234
5.7.4外部变量 237
5.7.5寄存器变量 240
5.8小结 241
习题 241
第6章 指针 246
6.1地址与指针 246
6.2变量的指针和指针变量 247
6.2.1指针变量的定义 247
6.2.2指针变量的引用 249
6.3指针运算 253
6.3.1指针的算术运算 253
6.3.2指针的逻辑运算 254
6.4一维数组与指针 254
6.4.1通过指针引用一维数组元素 255
6.4.2指向数组的指针变量的运算 255
6.5二维数组与指针 257
6.5.1二维数组元素的地址 257
6.5.2通过指针引用二维数组元素 258
6.5.3指针数组 258
6.6字符数组与指针 259
6.7指针变量作函数的参数 261
6.8函数与指针 262
6.8.1指向函数的指针 263
6.8.2函数指针作函数参数 264
6.8.3返回指针值的函数 266
6.9指向指针的指针变量 268
6.10指针应用举例 269
6.11小结 271
习题 272
第7章 构造数据类型 276
7.1构造数据类型概述 276
7.2结构体与结构体类型变量的定义 277
7.2.1结构体的定义 277
7.2.2结构体变量的定义 280
7.3结构体变量的使用及初始化 282
7.3.1结构体变量的使用 282
7.3.2结构体变量的初始化 286
7.4结构体数组 289
7.4.1结构体数组的定义 289
7.4.2结构体数组的初始化 290
7.4.3结构体数组的使用 291
7.5结构体指针 294
7.5.1结构体指针的定义及使用 294
7.5.2指向结构体数组的指针 298
7.6结构体作函数参数 301
7.6.1结构体成员变量作函数参数 301
7.6.2结构体指针作函数参数 302
7.7共用体 304
7.7.1共用体及共用体变量的定义 304
7.7.2共用体变量的赋值和引用 306
7.8枚举类型 309
7.8.1枚举类型和枚举变量的定义 309
7.8.2枚举类型变量的赋值和引用 311
7.9用typedef定义类型 313
7.9.1 typedef定义类型的一般格式 313
7.9.2类型定义的使用 314
7.10小结 316
习题 316
第8章 文件 323
8.1文件概述 323
8.2文件的打开与关闭 325
8.3文件的读写 337
8.4文件指针定位 347
8.5文件的其他检测函数 351
8.6特殊的文件名 354
8.7小结 358
习题 359
第9章 编译预处理 366
9.1宏定义 366
9.1.1无参数的宏 366
9.1.2有参数的宏 368
9.2文件包含 372
9.3条件编译 374
9.4小结 377
习题 377
附录 380
附录1常用字符与ASCⅡ码对照表 380
附录2运算符优先级与结合性 382
参考文献 384