第1章 概述 1
1.1程序设计语言 1
1.2程序设计与算法 2
1.2.1算法的概念 2
1.2.2.结构化程序设计 3
1.2.3算法的描述方法 4
1.3 C语言的发展及特点 6
1.3.1 C语言的发展概况 6
1.3.2 C语言的特点 6
1.4简单的C程序介绍 7
1.5 C程序的开发环境 9
1.5.1 Turbo C 2.0简介 9
1.5.2源程序的输入 11
1.5.3编译、连接与运行 11
1.6小结 11
习题一 11
第2章 基本数据类型与表达式 13
2.1 C语言的基本数据类型 13
2.1.1数据类型概述 13
2.1.2标识符 14
2.2常量与变量 14
2.2.1常量 14
2.2.2变量 15
2.2.3整型变量 16
2.2.4实型变量 16
2.2.5字符型变量 17
2.3运算符与表达式 17
2.3.1混合运算规则 18
2.3.2算术运算符及算术表达式 19
2.3.3赋值运算符及赋值表达式 19
2.3.4自增、自减运算符 20
2.3.5逗号运算符及逗号表达式 21
2.3.6求字节运算符sizeof 21
2.3.7数据类型的转换 22
2.4小结 22
习题二 22
第3章 顺序结构 24
3.1 C语言的基本语句 24
3.1.1 C语句 24
3.1.2简单语句 25
3.1.3复合语句 26
3.1.4流程控制语句 26
3.2字符输入输出函数 26
3.2.1 putchar函数 27
3.2.2 getchar函数 27
3.3格式输入输出函数 28
3.3.1格式输出函数printf 28
3.3.2格式输入函数scanf 30
3.4程序举例 32
3.5小结 35
习题三 36
第4章 选择结构 38
4.1关系运算 38
4.1.1关系运算符 38
4.1.2关系表达式 38
4.2逻辑运算 38
4.2.1逻辑运算符 39
4.2.2逻辑表达式 39
4.3条件语句 41
4.3.1 if*else结构 41
4.3.2 if结构 42
4.3.3 else if结构 44
4.3.4 if语句的嵌套 45
4.3.5条件运算符 47
4.4switch语句 47
4.5程序举例 48
4.6小结 52
习题四 52
第5章 循环结构 56
5.1概述 56
5.2 while语句 57
5.3 do*while语句 58
5.4 for语句 59
5.5循环嵌套 61
5.6流程控制语句 62
5.6.1 break语句 62
5.6.2 continue语句 62
5.6.3 goto语句 63
5.7循环算法 63
5.7.1穷举法 64
5.7.2迭代法 65
5.8程序举例 66
5.9小结 69
习题五 70
第6章 数组 72
6.1一维数组 72
6.1.1一维数组的定义 72
6.1.2一维数组的初始化 73
6.1.3数组元素的引用 73
6.1.4数组的输入、输出及处理 74
6.2二维数组 76
6.2.1二维数组的定义 76
6.2.2二维数组的初始化 77
6.2.3二维数组的输入、输出及处理 77
6.3字符数组与字符串 79
6.3.1字符数组 79
6.3.2字符串 79
6.3.3字符串的输入、输出及处理 80
6.3.4常用的字符串处理库函数 81
6.4程序举例 82
6.5小结 91
习题六 91
第7章 函数与编译预处理 93
7.1概述 93
7.2函数定义与调用 93
7.2.1函数的定义 93
7.2.2函数的声明与调用 95
7.2.3函数参数的传递 96
7.3函数的嵌套调用 98
7.4函数的递归调用 101
7.5函数参数传递的方式 104
7.5.1传值调用 104
7.5.2传址调用 105
7.6变量的作用域与存储属性 108
7.6.1局部变量与全局变量 108
7.6.2动态变量与静态变量 111
7.6.3内部函数与外部函数 114
7.7编译预处理 114
7.7.1宏定义 114
7.7.2文件包含 117
7.7.3条件编译 118
7.8程序举例 119
7.9小结 122
习题七 123
第8章 指针 125
8.1概述 125
8.2指针变量 126
8.2.1指针变量的定义 126
8.2.2指针变量的引用 126
8.2.3指针作函数参数 128
8.3指针与数组 131
8.3.1一维数组的指针 131
8.3.2一维数组指针作函数参数 132
8.3.3二维数组的指针 134
8.4指针与字符串 136
8.5指针与函数 139
8.5.1指向函数的指针 139
8.5.2返回指针的函数 141
8.6指针数组与指向指针的指针 142
8.6.1指针数组 142
8.6.2指向指针的指针 145
8.6.3命令行参数 146
8.7复杂指针的说明 148
8.8程序举例 150
8.9小结 154
习题八 155
第9章 结构体与共用体 156
9.1概述 156
9.2结构体变量 157
9.2.1结构体变量的定义 157
9.2.2结构体变量的引用 158
9.2.3结构体变量的初始化 158
9.2.4结构体变量的输入和输出 159
9.3结构体数组 159
9.3.1结构体数组的定义 159
9.3.2结构体数组的初始化 160
9.3.3结构体数组的使用 160
9.4结构体指针 160
9.4.1结构体指针变量 161
9.4.2指向结构体数组元素的指针 162
9.4.3结构体指针作函数参数 163
9.5共用体 164
9.5.1共用体类型及变量 164
9.5.2共用体变量的引用 164
9.5.3共用体变量的应用 166
9.6枚举类型和typedef 167
9.6.1枚举类型 167
9.6.2 typedef 168
9.7链表 168
9.7.1链表的概念 169
9.7.2链表的实现 169
9.7.3链表的基本操作 171
9.7.4链表应用举例 177
9.8小结 178
习题九 178
第10章 位运算 180
10.1位运算符与位运算 180
10.1.1按位与运算 180
10.1.2按位或运算 181
10.1.3按位异或运算 181
10.1.4按位取反运算 182
10.1.5按位左移运算 183
10.1.6按位右移运算 183
10.2位段 184
10.3程序举例 186
10.4小结 190
习题十 190
第11章 文件 191
11.1概述 191
11.1.1文件的概念 191
11.1.2文件系统分类 191
11.2文件指针 192
11.3文件的打开与关闭 193
11.3.1文件打开 193
11.3.2文件关闭 195
11.4文件的顺序读写 195
11.4.1字符读写 195
11.4.2字符串读写 197
11.4.3格式化的读写 198
11.4.4记录方式的读写 200
11.5文件的定位和状态检测 201
11.5.1文件定位 201
11.5.2文件状态检测 202
11.6程序举例 202
11.7小结 206
习题十一 206
第12章C语言高级应用举例 208
12.1简单的管理信息系统 208
12.1.1数据结构 208
12.1.2主模块 209
12.1.3初始化模块 210
12.1.4菜单模块 210
12.1.5录入模块 211
12.1.6删除模块 212
12.1.7查询模块 213
12.1.8显示模块 213
12.1.9统计模块 214
12.1.10存盘模块 214
12.1.11退出模块 215
12.2系统功能调用 215
12.2.1系统功能调用简介 216
12.2.2系统功能调用库函数 216
12.3开发音乐程序 222
12.3.1声音库函数 222
12.3.2乐谱文件 224
12.4图形处理应用 228
12.4.1坐标和像素 228
12.4.2图形系统初始化 229
12.4.3基本图形函数 232
12.4.4颜色控制和图形填充函数 236
12.4.5线型设定和文本输出函数 241
12.4.6图形处理综合应用 243
附录1C语言中的关键字 250
附录2常用字符与ASCll码对照表 251
附录3运算符的优先级和结合性 252
附录4常用的C库函数 253
附录5 Turbo C编译常见错误信息和警告信息 261
参考文献 267