第1章 C语言概述 1
1.1 C语言的发展历史及其基本特性 1
目录 1
1.2 简单的C语言程序介绍 2
1.3 C语言程序的上机步骤 4
1.4 小结 6
习题 7
第2章 算法 8
2.1 算法的概念 8
2.2 简单算法举例 8
2.3 算法的特性 10
2.4.2 用流程图表示算法 11
2.4 算法的表示 11
2.4.1 用自然语言表示算法 11
2.4.3 程序的3种基本结构 12
2.4.4 用N-S流程图表示算法 14
2.4.5 用计算机语言表示算法 15
2.5 结构化程序设计方法 16
2.6 小结 16
习题 17
第3章 数据类型、运算符和表达式 18
3.1 C语言的基本数据类型 18
3.1.1 常量和变量 18
3.1.2 整型数据 20
3.1.3 实型数据 22
3.1.4 字符型数据和字符串常量 23
3.2 变量赋初值 27
3.3 各类数值型数据间的混合运算 28
3.4 C语言的运算符和表达式 29
3.4.1 算术运算符和算术表达式 29
3.4.2 赋值运算符和赋值表达式 33
3.4.3 逗号运算符和逗号表达式 35
3.4.4 位运算符 36
3.4.5 长度运算符 38
习题 39
3.5 小结 39
第4章 基本输入/输出和顺序结构程序设计 42
4.1 C语句概述 42
4.2 数据输入/输出的概念 43
4.3 字符数据的输入/输出 44
4.3.1 putchar函数(字符输出函数) 44
4.3.2 getchar函数(字符输入函数) 44
4.4 格式输入/输出 45
4.4.1 printf函数(格式输出函数) 45
4.4.2 scanf函数(格式输入函数) 49
4.5 常用函数的使用 52
4.5.1 数学函数 52
4.5.2 字符处理函数 53
4.6 顺序结构程序设计举例 54
4.7 小结 57
习题 57
第5章 选择结构程序设计 60
5.1 关系运算符和关系表达式 60
5.1.1 关系运算符 60
5.1.2 关系表达式 61
5.2 逻辑运算符和表达式 62
5.2.1 逻辑运算符及其优先次序 62
5.2.2 逻辑表达式 62
5.3.1 if语句的一般形式 65
5.3 if语句 65
5.3.2 if语句的嵌套 69
5.3.3 条件运算符和条件表达式 70
5.4 switch语句 71
5.5 程序设计举例 73
5.6 小结 75
习题 75
第6章 循环结构程序设计 78
6.1 while语句 78
6.2 do-while语句 79
6.3 for语句 80
6.4 循环的嵌套 82
6.5.1 break语句 85
6.5 break语句和continue语句 85
6.5.2 continue语句 86
6.6 程序举例 87
6.7 小结 91
习题 91
第7章 数组 97
7.1 一维数组的定义和引用 97
7.1.1 一维数组的定义 97
7.1.2 一维数组的引用 98
7.1.3 一维数组的初始化 98
7.1.4 一维数组程序举例 99
7.2.1 二维数组的定义 100
7.2 二维数组的定义和使用 100
7.2.2 二维数组的引用 101
7.2.3 二维数组的初始化 101
7.3 字符数组与字符串 104
7.3.1 字符数组的定义和引用 104
7.3.2 字符数组的初始化 104
7.3.3 字符数组的输入与输出 105
7.3.4 字符串处理函数 107
7.4 程序举例 110
7.5 小结 113
习题 114
第8章 函数 119
8.1.1 函数定义的一般形式 120
8.1 函数的定义和调用 120
8.1.2 函数的参数和函数的值 122
8.1.3 函数的调用 125
8.2 函数的嵌套调用 128
8.3 函数的递归调用 129
8.4 变量的作用域和存储类别 133
8.4.1 局部变量和全局变量 133
8.4.2 变量的存储类别 136
8.5 小结 139
习题 140
9.1.1 不带参数的宏定义 144
第9章 预处理命令 144
9.1 宏定义 144
9.1.2 带参数的宏定义 146
9.2 文件包含处理 148
9.3 条件编译 150
9.4 小结 152
习题 152
第10章 指针 155
10.1 指针的概念 155
10.1.1 变量的地址与变量的内容 155
10.2.1 指针变量的定义 156
10.2 指针变量的定义与引用 156
10.1.3 指针与指针变量 156
10.1.2 直接访问与间接访问 156
10.2.2 指针变量的引用 157
10.3 指针运算 160
10.3.1 指针的算术运算 160
10.3.2 指针的关系运算 160
10.4 指针和数组 161
10.4.1 指针与一维数组 161
10.4.2 指针与二维数组 163
10.5 指针与字符串 166
10.6.1 指针数组 169
10.6 指针数组和指向指针的指针 169
10.6.2 指向指针的指针 171
10.7 指针与内存的动态分配 173
10.8 指针与数组作为函数的参数 175
10.8.1 指针变量作为函数的参数 175
10.8.2 数组名作为函数的参数 177
10.9 带参数的main函数 180
10.10 返回指针值的函数 182
10.11 函数指针的定义与引用 184
10.11.1 函数指针的定义 184
10.11.2 函数指针变量的赋值 185
10.11.3 函数指针变量的引用 185
10.11.4 函数指针变量作为函数的参数 186
10.12 小结 188
习题 190
第11章 结构体、共用体和枚举型 193
11.1 概述 193
11.2 结构体 193
11.2.1 结构体类型的定义 193
11.2.2 结构体变量的定义和引用 194
11.2.3 简化结构体类型名 197
11.2.4 结构体数组 198
11.3 指向结构体类型数据的指针 201
11.3.1 指向结构体变量的指针 201
11.3.2 指向结构体类型数据的指针 202
11.4 线性链表 204
11.4.1 链表概述 204
11.4.2 建立单链表 205
11.4.3 在单链表中插入节点 206
11.5 共用体 207
11.5.1 共用体类型的定义 207
11.5.2 共用体变量的定义和引用 208
11.6 枚举类型 210
11.7 程序举例 212
11.8 小结 216
习题 216
12.2 文件类型及文件变量的定义 219
第12章 文件 219
12.1 文件概述 219
12.3 文件的打开与关闭 221
12.3.1 文件的打开 221
12.3.2 文件的关闭 222
12.4 文件的读写 223
12.4.1 fprintf函数和fscanf函数 223
12.4.2 fputc函数和fgetc函数 224
12.4.3 fputs函数和fgets函数 225
12.4.4 fread函数和fwrite函数 227
12.5.1 rewind函数 228
12.5 文件的定位 228
12.5.2 fseek函数 229
12.5.3 ftell函数 230
12.6 文件应用举例 230
12.7 小结 232
习题 232
附录 235
附录Ⅰ 常见字符与ASCII对照表 235
附录Ⅱ 由ANSI标准定义的32个关键字 236
附录Ⅲ 运算符的优先级和结合性 237
附录Ⅳ Turbo C 2.0常用库函数 237
参考文献 242