第1章 绪论 1
1.1 C语言的发展过程 1
1.1.1计算机语言的发展过程 1
1.1.2 C语言的发展过程 2
1.2 C语言的特点 2
1.3 C程序的结构和书写格式 3
1.3.1 C程序的结构 3
1.3.2 C程序的书写格式 4
1.4 Visual C++6.0上机操作 4
1.4.1 C程序可执行文件的生成过程 4
1.4.2 Visual C++6.0上机操作过程 5
1.4.3程序调试 10
习题 13
第2章 基本数据类型和运算符 15
2.1基本数据类型和取值范围 15
2.1.1基本数据类型和变量定义 15
2.1.2整型常量 16
2.1.3实型常量 17
2.1.4字符常量 17
2.1.5字符串常量 18
2.2运算符 19
2.2.1优先级与结合规则 19
2.2.2赋值运算与连续赋值 20
2.2.3算术运算 20
2.2.4关系运算 22
2.2.5逻辑运算、连续比较和逻辑优化 22
2.2.6位运算 23
2.2.7条件运算 25
2.2.8复合赋值运算 25
2.2.9逗号运算 25
2.2.10其他运算sizeof 26
2.2.11类型转换 26
2.3输入/输出函数 29
2.3.1格式化输出函数printf 29
2.3.2格式化输入函数scanf 31
2.3.3字符输入/输出函数 33
习题 34
第3章 控制结构 37
3.1程序结构框图 37
3.1.1自然语言描述 37
3.1.2流程图 38
3.1.3 N-S图 38
3.1.4结构化程序设计 39
3.1.5复合语句 40
3.2二分支结构 40
3.2.1二分支结构选择语句 41
3.2.2不平衡if结构 43
3.2.3 if语句的嵌套 45
3.3多分支结构 49
3.4循环结构 53
3.4.1 for语句 54
3.4.2 while语句 57
3.4.3 do~while语句 59
3.4.4循环嵌套 61
3.5 break、continue和goto语句 62
3.5.1 break语句 62
3.5.2 continue语句 64
3.5.3 goto语句 64
习题 65
第4章 函数 71
4.1函数调用过程 71
4.2函数的定义 72
4.2.1函数定义的一般形式 72
4.2.2函数定义的要点 73
4.2.3函数的声明 78
4.3递归函数 79
4.3.1递归概念 79
4.3.2递归举例 80
4.4存储类型、生存期和作用域 83
4.4.1存储类型 83
4.4.2生存期和作用域 84
4.5编译预处理 91
4.5.1文件包含 91
4.5.2宏定义 92
4.5.3条件编译 94
习题 96
第5章 数组 102
5.1一维数组 102
5.1.1一维数组的定义与初始化 102
5.1.2一维数组的引用 104
5.1.3字符型数组与字符串 105
5.1.4字符串操作 107
5.2二维数组 110
5.2.1二维数组的定义 110
5.2.2二维数组的引用 111
5.3多维数组 113
5.4函数与数组 115
5.4.1函数与一维数组 115
5.4.2函数与二维数组 118
习题 120
第6章 指针 127
6.1指针与变量 127
6.1.1指针的基本概念 127
6.1.2指针变量的定义与引用 128
6.1.3指针的运算 130
6.1.4指向指针的指针 132
6.2指针与数组 133
6.2.1指向数组元素的指针 133
6.2.2指向数组的指针 141
6.2.3指针数组 147
6.2.4指针与字符串 151
6.3指针和函数 155
6.3.1指针作为函数参数 155
6.3.2返回指针值的函数 159
6.3.3函数指针 161
习题 164
第7章 结构和共用 171
7.1结构类型 171
7.1.1结构类型变量的定义、初始化与引用 171
7.1.2结构类型数组 176
7.1.3结构类型指针 177
7.1.4结构类型的嵌套 182
7.1.5用指针处理链表 183
7.2共用类型 191
7.2.1共用类型的定义 191
7.2.2共用类型变量的引用 193
7.3枚举类型 195
7.4位域 197
7.4.1位运算符与位运算 197
7.4.2位域 199
7.5自定义类型 200
习题 202
第8章 文件 212
8.1文件概述和文件类型指针 212
8.1.1文件概述 212
8.1.2文件类型指针 213
8.2文件的打开与关闭 214
8.2.1文件的打开 214
8.2.2文件的关闭 215
8.3文件的读写 216
8.3.1字符读写函数fgetc()和fputc() 216
8.3.2字符串读写函数fgets()和fputs() 218
8.3.3格式化读写函数fscanf()和fprintf() 221
8.3.4数据块读写函数fread()和fwrite() 223
8.4文件的定位 225
8.5文件的检测 228
习题 228
第9章 程序设计实例 236
9.1常用算法实例 236
9.1.1迭代法 236
9.1.2穷举法 239
9.1.3递推法 241
9.1.4递归法 242
9.1.5回溯法 243
9.1.6贪婪法 246
9.1.7查找算法 247
9.1.8排序算法 250
9.2模块化程序设计实例 253
9.2.1模块化程序设计基础 253
9.2.2模块化程序设计实例 254
习题 266
附录1常用字符与ASCII值对照表 268
附录2 C语言保留字一览表 270
附录3运算符的优先级及其结合性 271
附录4常用C库函数 273
参考文献 280