第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 程序调试 9
习题 12
第2章 基本数据类型与运算符 14
2.1 基本数据类型和取值范围 14
2.1.1 基本数据类型和取值范围 14
2.1.2 整型常量 15
2.1.3 实型常量 16
2.1.4 字符常量 16
2.1.5 字符串常量 17
2.2 运算符 18
2.2.1 优先级与结合规则 18
2.2.2 赋值运算与连续赋值 19
2.2.3 算术运算 19
2.2.4 关系运算 21
2.2.5 逻辑运算、连续比较和逻辑优化 21
2.2.6 位运算 22
2.2.7 条件运算 24
2.2.8 复合赋值运算 24
2.2.9 逗号运算 25
2.2.10 其他运算sizeof 25
2.2.11 类型转换与类型转换规则 25
2.3 输入/输出函数 28
2.3.1 格式化输出函数printf 28
2.3.2 格式化输入函数scanf 30
2.3.3 字符输入/输出函数 32
习题 33
第3章 控制结构 36
3.1 程序结构框图 36
3.1.1 自然语言描述 36
3.1.2 流程图 37
3.1.3 N-S图 37
3.1.4 结构化程序设计 38
3.1.5 复合语句 39
3.2 二分支结构 39
3.2.1 二分支结构选择语句 40
3.2.2 不平衡if结构 42
3.2.3 if语句的嵌套 43
3.3 多分支结构 47
3.4 循环结构 51
3.4.1 for语句 52
3.4.2 while语句 55
3.4.3 do~while语句 57
3.4.4 循环嵌套 59
3.5 break、continue及goto语句 60
3.5.1 break语句 60
3.5.2 continue语句 61
3.5.3 goto语句 62
习题 63
第4章 函数 68
4.1 函数调用过程 68
4.2 函数的定义 69
4.2.1 函数定义的一般形式 69
4.2.2 函数定义中的要点说明 70
4.2.3 函数的声明 73
4.3 递归函数 75
4.3.1 递归概念 75
4.3.2 递归举例 76
4.4 存储类型、生存期和作用域 78
4.4.1 存储类型 78
4.4.2 生存期和作用域 79
4.5 编译预处理 86
4.5.1 文件包含 86
4.5.2 宏定义 87
4.5.3 条件编译 89
习题 91
第5章 数组 96
5.1 一维数组 96
5.1.1 一维数组的定义与初始化 96
5.1.2 一维数组的引用 98
5.1.3 字符型数组与字符串 100
5.1.4 字符串操作 101
5.2 二维数组 104
5.2.1 二维数组的定义 104
5.2.2 二维数组的引用 105
5.3 多维数组 107
5.4 函数与数组 109
5.4.1 函数与一维数组 109
5.4.2 函数与二维数组 111
5.5 问题与解答 114
5.5.1 “气泡法”排序问题 114
5.5.2 二分法查找问题 116
5.5.3 Josephus(约瑟夫)问题 117
习题 118
第6章 指针 124
6.1 指针与变量 124
6.1.1 指针的基本概念 124
6.1.2 指针变量的定义与引用 126
6.1.3 指针的运算 127
6.1.4 指向指针的指针 129
6.2 指针与数组 129
6.2.1 指向数组元素的指针 130
6.2.2 指向数组的指针 137
6.2.3 指针数组 143
6.2.4 指针与字符串 147
6.3 指针与函数 150
6.3.1 指针作函数参数 151
6.3.2 返回指针值的函数 154
6.3.3 函数指针 156
6.4 问题与解答 159
6.4.1 本章重点概念的复习 159
6.4.2 “选择法”排序问题 159
6.4.3 子串定位问题 160
习题 161
第7章 结构与共用 168
7.1 结构类型 168
7.1.1 结构类型的定义、初始化与使用 168
7.1.2 结构类型数组 173
7.1.3 结构类型数据的指针 174
7.1.4 嵌套结构 178
7.1.5 用指针处理链表 179
7.2 共用类型 186
7.2.1 共用类型的定义 186
7.2.2 共用类型变量的引用 188
7.3 枚举类型 189
7.4 位域 191
7.4.1 位运算符与位运算 191
7.4.2 位域 193
7.5 自定义类型 194
习题 196
第8章 文件 205
8.1 文件概述与文件类型指针 205
8.1.1 文件概述 205
8.1.2 文件类型指针 206
8.2 文件的打开与关闭 207
8.2.1 文件的打开 207
8.2.2 文件的关闭 208
8.3 文件的读写 209
8.3.1 字符读写函数fgetc()和fputc() 209
8.3.2 字符串读写函数fgets()和fputs() 211
8.3.3 格式化读写函数fscanf()和fprintf() 213
8.3.4 数据块读写函数fread()和fwrite() 215
8.4 文件的定位 218
8.5 文件检测 220
8.6 文件的低层操作 221
习题 224
第9章 文本与图形处理 230
9.1 文本的屏幕输出与键盘操作 230
9.1.1 文本的屏幕输出 230
9.1.2 键盘操作 237
9.1.3 综合实例程序 239
9.2 图形编程 242
9.2.1 图形模式初始化 242
9.2.2 独立图形运行程序的建立 246
9.2.3 屏幕颜色的设置和清屏函数 248
9.2.4 基本图形处理函数 250
9.2.5 图形模式下的文本输出 257
9.2.6 综合图形实例程序 260
附录1 常用字符与ASCII值对照表 263
附录2 C语言保留字一览表 264
附录3 运算符的优先级及其结合性 264
附录4 常用C库函数 265
参考文献 272