第1章 C语言概述 1
1.1 C语言概况 1
1.1.1 C语言的发展历史 1
1.1.2 C语言的特点 1
1.2简单的C语言程序 3
1.3算法 5
1.3.1算法概述 5
1.3.2算法的表示 5
本章小结 7
习题1 7
第2章 C语言基础 8
2.1数据类型 8
2.1.1数据类型概述 8
2.1.2整型 8
2.1.3实型 9
2.1.4字符类型 10
2.2标识符、常量与变量 10
2.2.1标识符 10
2.2.2常量 11
2.2.3变量 13
2.3基本运算 14
2.3.1算术运算 15
2.3.2赋值运算 16
2.3.3位运算 18
2.3.4逗号运算 20
2.4数据类型转换 22
2.4.1类型自动转换 22
2.4.2赋值类型转换 23
2.4.3强制类型转换 24
2.5程序举例 25
本章小结 26
习题2 28
第3章 顺序结构程序设计 31
3.1 C语言的基本语句 31
3.2顺序结构 32
3.3数据输入与输出 34
3.3.1格式化输出函数printf 34
3.3.2格式化输入函数scanf 38
3.3.3字符数据的输入与输出 43
3.4程序举例 44
本章小结 47
习题3 49
第4章 选择结构程序设计 52
4.1关系运算符与关系表达式 52
4.1.1关系运算符 52
4.1.2关系表达式 53
4.2逻辑运算符与逻辑表达式 53
4.2.1逻辑运算符 53
4.2.2逻辑表达式 54
4.3 if语句 55
4.3.1单分支if语句 55
4.3.2双分支if语句 56
4.3.3多分支选择结构 57
4.3.4 if语句的嵌套 59
4.3.5条件运算符和条件表达式 61
4.4 switch语句 62
4.5程序举例 64
本章小结 69
习题4 69
第5章 循环结构程序设计 75
5.1循环程序结构特点与组成 75
5.1.1循环程序结构的特点 75
5.1.2循环程序结构的组成 75
5.2循环结构控制语句 76
5.2.1 while循环语句 76
5.2.2 do-while循环语句 79
5.2.3 for循环语句 81
5.2.4其他控制语句 84
5.3单重循环程序设计 86
5.4多重循环程序设计 89
5.5程序举例 92
本章小结 95
习题5 95
第6章 数组 102
6.1一维数组 102
6.1.1一维数组的定义 102
6.1.2一维数组元素的引用 103
6.1.3一维数组的存储和初始化 104
6.1.4一维数组的应用 105
6.2二维数组 108
6.2.1二维数组的定义 108
6.2.2二维数组元素的引用 109
6.2.3二维数组的存储和初始化 110
6.2.4二维数组的应用 111
6.3字符数组与字符串 114
6.3.1字符数组的定义与初始化 114
6.3.2字符串 115
6.3.3字符串的应用 121
6.3.4二维字符数组应用 122
6.4程序举例 124
本章小结 128
习题6 129
第7章 指针 136
7.1指针的基本概念 136
7.1.1指针的概念 136
7.1.2指针变量的定义与初始化 137
7.1.3指针的运算及引用 138
7.1.4多级指针的概念 141
7.2指针与数组 142
7.2.1指针与一维数组 142
7.2.2指针与二维数组 145
7.2.3指针与字符串 148
7.2.4指针数组 150
7.3程序举例 153
本章小结 155
习题7 157
第8章 函数 163
8.1概述 163
8.1.1 C语言程序的结构 163
8.1.2 C语言函数的分类 165
8.1.3函数的定义 165
8.2函数调用和返回值 170
8.2.1函数调用 170
8.2.2函数值的返回 171
8.2.3对被调函数的声明 172
8.3函数调用时的参数传递 174
8.3.1函数的传值调用 174
8.3.2函数的传地址调用 176
8.4函数的嵌套与递归调用 183
8.4.1函数的嵌套调用 183
8.4.2函数的递归调用 184
8.5函数与指针 186
8.5.1指向函数的指针 187
8.5.2返回指针的函数 189
8.5.3带参数的主函数 190
8.6变量的作用域和存储属性 191
8.6.1变量的作用域 191
8.6.2变量的存储属性 194
8.6.3内部函数和外部函数 200
8.7编译预处理 200
8.7.1宏定义命令 201
8.7.2文件包含命令 204
8.7.3条件编译命令 205
8.8程序举例 207
本章小结 211
习题8 213
第9章 结构体、共用体与枚举 223
9.1结构体 223
9.1.1结构体类型的定义 223
9.1.2结构体变量的说明 224
9.1.3结构体变量的引用 226
9.1.4结构体变量的初始化 227
9.1.5结构体数组 228
9.1.6结构体指针 230
9.1.7结构体与函数 233
9.1.8动态内存分配与链表 236
9.2共用体 243
9.2.1共用体类型的定义 244
9.2.2共用体变量的说明 244
9.2.3共用体变量的引用 245
9.3枚举类型 248
9.3.1枚举类型的定义 248
9.3.2枚举变量的说明及引用 248
9.3.3枚举类型的应用 250
9.4用户定义类型 251
9.5程序举例 253
本章小结 256
习题9 256
第10章 文件 265
10.1文件概述 265
10.1.1文件的概念 265
10.1.2文件的分类 265
10.2文件指针 266
10.3文件的打开与关闭 267
10.3.1文件的打开操作 267
10.3.2文件的关闭操作 268
10.4文件读写操作 269
10.4.1字符读/写函数 270
10.4.2字符串读/写函数 272
10.4.3格式化读/写函数 273
10.4.4数据块读/写函数 275
10.5文件的随机读写 277
10.5.1文件的定位 277
10.5.2文件的检测函数 278
10.6程序举例 279
本章小结 281
习题10 281
第11章 C++程序设计基础 285
11.1 C++简介 285
11.1.1面向对象的程序设计 285
11.1.2 C++语言的发展及特点 290
11.2 C++程序的基本结构 290
11.3 C++对C基本功能的扩充 291
11.3.1 C++中的关键字 291
11.3.2函数声明 292
11.3.3函数名重载 292
11.3.4灵活的变量说明 293
11.3.5作用域标识符∷ 293
11.3.6 C++中扩充的基本功能 293
11.4 C++的类和对象 294
11.4.1类 294
11.4.2对象 299
11.5构造函数与析构函数 301
11.5.1构造函数 301
11.5.2成员初始化表 302
11.5.3析构函数 303
11.5.4自引用指针this 306
11.5.5重载函数 307
11.5.6友元函数 308
11.6继承与派生类 309
11.6.1派生类声明 310
11.6.2派生类的构造函数 311
11.7多态性与虚函数 313
11.7.1静态联编与动态联编 313
11.7.2虚函数 314
11.7.3纯虚函数与抽象类 317
习题11 319
附录A C语言运算符表 322
附录B 常用字符与ASCII码对照表 323
附录C C语言常用库函数表 324
参考文献 330