第1章 概述 1
1.1 C语言概述 1
1.1.1 C语言及其特点 1
1.1.2 C语言程序的结构特点 2
1.2 C语言的基本符号 5
1.2.1基本符号集 5
1.2.2标识符 5
1.3数据的输入和输出 6
1.3.1 putchar()函数和getchar()函数 6
1.3.2 printf()函数和scanf()函数 8
1.4 C语言程序的开发过程 14
1.4.1 C语言调试步骤 14
1.4.2 Visual C++ 6.0环境下调试程序方法 14
本章小结 18
习题 19
第2章 数据类型、运算符和表达式 20
2.1 C语言数据类型简介 20
2.2常量 20
2.2.1数值常量 21
2.2.2字符常量和字符串 22
2.2.3标识符命名的常量 24
2.2.4换码序列常量 25
2.3变量 26
2.3.1变量说明和变量地址 26
2.3.2变量的初始化 27
2.3.3数据类型 28
2.3.4存储类型和变量的作用域 30
2.4运算符和表达式 33
2.4.1运算符和表达式简介 33
2.4.2赋值运算符和赋值表达式 34
2.4.3算术运算符和算术表达式 35
2.4.4逗号运算符和逗号表达式 38
2.4.5关系和逻辑运算表达式 39
2.4.6条件表达式 42
2.4.7位运算表达式 43
2.4.8运算符的结合律和优先级 46
本章小结 47
习题 49
第3章 3种基本结构的程序设计 52
3.1数据的输入和输出 52
3.1.1 putchar()函数和getchar()函数 52
3.1.2 printf()函数和scanf()函数 54
3.2顺序结构 60
3.2.1赋值语句和空语句 60
3.2.2复合语句 61
3.3分支结构 61
3.3.1条件分支结构 62
3.3.2无条件分支结构 64
3.3.3条件分支的嵌套 65
3.3.4开关分支结构 68
3.3.5程序举例 72
3.4循环结构 75
3.4.1用goto语句构成循环 75
3.4.2 while语句 75
3.4.3 do…while语句 78
3.4.4 for语句 80
3.4.5嵌套循环 83
3.4.6 break语句和continue语句的使用 84
3.4.7程序举例 87
3.4.8循环语句小结 88
本章小结 89
习题 91
第4章 数组 98
4.1数组和数组元素 98
4.2一维数组 100
4.2.1一维数组的定义和使用 100
4.2.2一维数组的初始化 101
4.2.3一维数组程序举例 102
4.3多维数组 106
4.3.1二维数组的定义和使用 106
4.3.2二维数组的初始化 109
4.3.3二维数组程序举例 111
4.4字符数组 113
4.4.1字符数组的定义和使用 113
4.4.2字符数组的初始化 113
4.4.3字符串的输入和输出 114
4.4.4用于字符处理的库函数 116
本章小结 117
习题 119
第5章 C语言函数 124
5.1 C语言程序的组成 124
5.1.1 C语言函数的结构 124
5.1.2 C语言程序的组成 125
5.2函数的参数 127
5.2.1带参数函数定义的一般形式 127
5.2.2形式参数和实际参数 127
5.2.3数组作为函数的参数 128
5.3函数的调用 133
5.3.1函数的原型 133
5.3.2函数调用的一般形式 135
5.3.3函数的值 137
5.3.4函数的递归调用 138
5.4程序编译预处理 142
5.4.1宏定义 142
5.4.2文件包含 143
5.4.3条件编译 144
本章小结 146
习题 147
第6章 构造函数类型 152
6.1结构体 152
6.1.1结构体类型定义及结构体类型变量说明 152
6.1.2结构体类型变量的使用 156
6.1.3结构体变量的初始化 158
6.1.4结构体数组 159
6.1.5结构体和函数 161
6.2共用体 162
6.2.1共用体类型的定义和共用体变量的说明 162
6.2.2共用体成员的使用 164
6.3枚举类型 165
6.3.1枚举类型的定义和枚举变量的说明 165
6.3.2枚举类型数据的使用 166
6.4位段 168
6.4.1位段的定义和位段变量的说明 168
6.4.2位段变量使用 170
6.5用typedef定义类型 171
本章小结 173
习题 175
第7章 指针 179
7.1指针变量的概念 179
7.2变量的指针与指针变量 180
7.2.1指针变量的定义及使用 180
7.2.2指针变量的初始化 183
7.2.3指针运算 183
7.3指针与数组 186
7.3.1指向数组的指针 187
7.3.2字符指针与字符数组 190
7.3.3多级指针及指针数组 194
7.3.4指针与多维数组 197
7.4指针与函数 201
7.4.1函数参数为指针 201
7.4.2函数的返回值为指针 204
7.4.3指向函数的指针 205
7.4.4命令行参数 209
7.5指针与结构体 211
7.5.1结构体指针与指向结构体数组的指针 212
7.5.2结构体指针与函数 215
本章小结 217
习题 219
第8章 文件 221
8.1 C语言文件概述 221
8.1.1文件概述 221
8.1.2缓冲文件系统和非缓冲文件系统 222
8.1.3标准输入输出库函数 223
8.1.4标准设备文件及I/O改向 225
8.2缓冲型文件输入输出系统 227
8.2.1文件类型结构及文件指针 227
8.2.2文件的打开与关闭 227
8.2.3文件的读写 229
8.2.4文件的定位 236
8.2.5出错的检测 238
8.3非缓冲型文件输入输出系统 238
本章小结 242
习题 243
第9章 类和对象 244
9.1面向对象程序设计概述 244
9.2从C向C++过渡 245
9.2.1简单C++程序的认识 245
9.2.2格式化输出和标准输入流 246
9.2.3函数的说明与参数 248
9.2.4枚举名与结构体名 251
9.2.5自由存储操作符new和delete 251
9.3类和对象 254
9.3.1类的定义 254
9.3.2类的对象 255
9.3.3类的成员 255
9.4类的成员函数与友元函数 258
9.4.1成员函数 258
9.4.2友元函数 261
9.5构造函数与析构函数 264
9.5.1构造函数 264
9.5.2析构函数 266
9.6静态成员 267
习题 268
第10章 继承 272
10.1单一继承 272
10.1.1派生类 273
10.1.2继承时的访问控制 274
10.2多重继承 277
10.3构造函数、析构函数与继承 278
10.4虚基类 280
习题 281
第11章 多态性 282
11.1重载 283
11.1.1函数原型 283
11.1.2函数重载 284
11.1.3运算符重载 285
11.2虚函数 288
11.2.1派生类指针 288
11.2.2虚函数简介 289
11.2.3纯虚数与抽象类 290
11.3 I/O系统 291
11.3.1 I/O流 292
11.3.2文件流 293
习题 296
附录A C语言常用标准库函数 297
附录B ASCII码表 301
附录C 运算符和结合性 302