第1章 C语言程序设计概述 1
1.1 程序和程序设计的基本概念 1
1.2 C语言简介 1
1.2.1 C语言的发展历史 1
1.2.2 C语言的特点 2
1.2.3 C语言程序的基本结构及书写规则 3
1.2.4 C语言的基本标识符 4
1.3 算法与程序设计 6
1.3.1 算法的基本特征 6
1.3.2 算法的基本要素 7
1.3.3 算法描述的方法 8
1.3.4 程序设计 9
习题 11
第2章 数据类型、运算符与表达式 13
2.1 C语言的数据类型 13
2.2 整型常量与变量 13
2.2.1 常量与变量的概念 13
2.2.2 整型常量 14
2.2.3 整型变量 14
2.3 实型常量与变量 16
2.3.1 实型常量 16
2.3.2 实型变量 16
2.4 字符型常量与变量 18
2.4.1 字符常量 18
2.4.2 字符串常量 19
2.4.3 符号常量 20
2.4.4 字符型变量 20
2.5 赋值运算符与赋值表达式 22
2.5.1 赋值运算符及赋值表达式的概念 22
2.5.2 复合赋值表达式 24
2.6 算术运算符与算术表达式 24
2.6.1 C语言运算符简介 24
2.6.2 算术运算符与算术表达式 25
2.6.3 各类数值型数据之间的混合运算 26
2.6.4 自增与自减运算符 29
2.7 逗号运算符与逗号表达式 30
2.7.1 逗号运算符 30
2.7.2 逗号表达式 30
2.8 位运算符 31
2.8.1 位运算符与位运算 31
2.8.2 位运算赋值运算符 37
2.9 变量的地址与指针型变量 37
2.9.1 变量的地址与指针型变量的概念 37
2.9.2 指针型变量的定义与指针变量的基类型 38
2.9.3 给指针变量赋值 39
2.9.4 对指针变量的操作 40
2.9.5 指针变量的运算 42
习题 43
第3章 顺序结构程序设计 48
3.1 C语句概述 48
3.1.1 C语言的基本语句 48
3.1.2 赋值语句 50
3.2 数据的输入输出 51
3.2.1 字符输入输出函数 52
3.2.2 格式输入输出函数 53
3.3 程序举例 63
习题 65
第4章 分支结构程序设计 69
4.1 关系运算符与关系表达式 69
4.1.1 关系运算符 69
4.1.2 关系表达式 70
4.2 逻辑运算符与逻辑表达式 71
4.2.1 逻辑运算符 71
4.2.2 逻辑表达式 72
4.3 if语句以及用if语句构成的分支结构 73
4.3.1 if语句的3种形式 73
4.3.2 嵌套的if语句 77
4.3.3 条件表达式构成的分支结构 79
4.4 switch语句 81
4.4.1 switch语句及用switch语句构成的分支结构 81
4.4.2 在switch语句体中使用break语句 82
4.5 程序举例 83
习题 86
第5章 循环结构程序设计 90
5.1 while语句以及用while语句构成的循环结构 90
5.1.1 while循环的一般形式 90
5.1.2 while循环的执行过程 90
5.2 do…while语句以及用do…while语句构成的循环结构 93
5.2.1 do…while语句构成的循环结构 93
5.2.2 do…while循环的执行过程 93
5.3 for语句以及用for语句构成的循环结构 96
5.3.1 for语句构成的循环结构 96
5.3.2 for循环的执行过程 97
5.3.3 有关for语句的说明 97
5.4 break语句和continue语句在循环结构中的应用 100
5.4.1 break语句 100
5.4.2 continue语句 100
5.5 循环的嵌套 101
5.6 3种循环的比较 104
5.7 程序举例 104
习题 107
第6章 数组与指针 113
6.1 一维数组 113
6.1.1 一维数组的定义 113
6.1.2 一维数组元素的引用 114
6.1.3 一维数组的初始化 116
6.1.4 一维数组程序举例 117
6.2 二维数组 118
6.2.1 二维数组的定义 118
6.2.2 二维数组元素的引用 119
6.2.3 二维数组的初始化 120
6.2.4 二维数组程序举例 121
6.3 字符数组与字符串 123
6.3.1 字符数组 123
6.3.2 字符串 124
6.3.3 字符串的输入输出 125
6.3.4 字符串处理函数 127
6.3.5 程序举例 130
6.4 数组与指针 132
6.4.1 一维数组与指针 132
6.4.2 二维数组的地址 136
6.4.3 指向二维数组的指针变量 138
6.4.4 指针数组的定义与应用 139
6.5 字符串与指针 142
6.5.1 单个字符串的处理方法 142
6.5.2 多个字符串的处理方法 144
6.6 指向指针的指针 146
6.7 与指针及字符串有关的程序举例 148
第7章 函数与指针 154
7.1 概述 154
7.2 函数的定义 154
7.3 函数的参数与函数的值 156
7.3.1 形式参数与实际参数 156
7.3.2 函数的返回值 158
7.4 函数的调用 159
7.4.1 函数的简单调用 159
7.4.2 函数的嵌套调用 161
7.4.3 函数的递归调用 162
7.5 函数与指针 167
7.5.1 指针变量作为函数参数 167
7.5.2 数组作为函数参数 167
7.5.3 返回指针值的函数 170
7.5.4 指向函数的指针 171
7.6 有关指针的数据类型与指针运算的小结 173
7.6.1 有关指针的数据类型的小结 173
7.6.2 指针运算的小结 173
7.6.3 void指针类型 174
7.7 变量的作用域 174
7.7.1 局部变量 174
7.7.2 全局变量 175
7.8 变量的存储类别 177
7.8.1 动态存储方式与静态存储方式 177
7.8.2 auto变量 178
7.8.3 用static声明局部变量 178
7.8.4 register变量 179
7.8.5 用extern声明外部变量 180
7.9 内部函数与外部函数 180
习题 181
第8章 编译预处理及带参数的main函数 192
8.1 宏定义 192
8.1.1 无参宏定义 192
8.1.2 带参宏定义 194
8.2 文件包含 197
8.3 条件编译 198
8.4 main函数的参数 200
习题 201
第9章 结构体与共用体 204
9.1 结构体类型的定义 204
9.2 结构体类型变量 205
9.2.1 结构体变量的定义 205
9.2.2 结构体变量的引用 207
9.2.3 结构体变量的初始化 209
9.2.4 结构体变量的输入与输出 209
9.3 结构体类型数组 210
9.3.1 结构体数组的定义 210
9.3.2 结构体数组的初始化 211
9.3.3 结构体数组的引用 212
9.4 结构体类型指针 213
9.4.1 指向结构体变量的指针 213
9.4.2 指向结构体数组的指针 215
9.5 结构体与函数 216
9.5.1 结构体变量作为函数参数 216
9.5.2 指向结构体变量的指针作为函数参数 217
9.5.3 函数的返回值为结构体类型 219
9.6 链表 220
9.6.1 链表概述 221
9.6.2 处理动态链表所需的函数 223
9.6.3 链表的基本操作 224
9.7 共用体 232
9.7.1 共用体类型与共用体变量 232
9.7.2 共用体变量的引用 234
9.7.3 共用体变量的应用 235
9.8 枚举类型 237
9.9 用typedef定义类型 239
习题 241
第10章 文件 243
10.1 文件概述 243
10.1.1 数据文件 243
10.1.2 文件的存取方式 244
10.1.3 文件指针类型 244
10.1.4 文件操作的步骤 244
10.2 文件的打开与关闭 245
10.2.1 文件的打开(fopen函数) 245
10.2.2 文件的关闭(fclose函数) 246
10.3 文件的读写 247
10.3.1 字符读写函数fgetc和fputc 247
10.3.2 字符串读写函数fgets和fputs 249
10.3.3 数据块读写函数fread和fwrite 250
10.3.4 格式化读写函数fscanf和fprintf 252
10.4 文件的随机读写 253
10.4.1 文件定位 253
10.4.2 文件的随机读写 254
10.5 文件检测函数 255
习题 255
第11章 C++基础 257
11.1 C++概述 257
11.2 C++对C的扩充 259
11.2.1 C++的输入输出 259
11.2.2 C++的行注释 262
11.2.3 const常量定义与使用 263
11.2.4 局部变量的定义与全局变量作用域运算符 265
11.2.5 变量的引用 266
11.2.6 函数重载 269
11.2.7 带默认参数的函数 270
11.2.8 内联函数 271
11.2.9 new和delete算符 273
11.3 C++面向对象程序设计 274
11.3.1 类与对象 275
11.3.2 构造函数与析构函数 279
11.3.3 静态成员 285
11.3.4 友元 287
11.3.5 运算符重载 289
11.3.6 继承与派生 292
11.3.7 多态性与虚函数 296
11.4 应用举例 302
习题 305
附录A 常用字符与ASCII码对照表 307
附录B Turbo C常用标准库函数 308
参考文献 321