第1章 C语言概述 1
1-1 程序语言介绍 2
1-1-1 程序语言的分类 2
1-1-2 编译器的分类 4
1-2 C语言的发展 4
1-3 C语言的特点 5
1-4 程序设计的步骤 6
1-5 流程图 9
1-6 习题 10
第2章 C语言集成开发环境介绍 11
2-1 C语言的程序架构 12
2-1-1 一个简单的C程序 12
2-1-2 预处理命令 13
2-1-3 全局变量与自定义函数原型声明 13
2-1-4 main()主函数 14
2-1-5 定义自定义函数主体区 15
2-2 使用Dev C++5.0 15
2-2-1 添加项目文件 16
2-2-2 程序的编写、保存与运行 17
2-3 使用Visual C++6.0 19
2-3-1 添加项目文件 19
2-2-3 打开与关闭项目文件 19
2-3-2 程序的编写、保存与运行 21
2-3-3 打开与关闭项目文件 22
2-4 使用Borland C++Builder 6.0 23
2-4-1 添加项目文件 23
2-4-2 程序的编写、保存与运行 25
2-4-3 打开与关闭项目文件 26
2-5-1 程序的编写、保存与运行 28
2-5 使用Borland C++5.0 28
2-5-2 打开与关闭C语言程序文件 29
2-6 使用Turbo C 2.01 30
2-6-1 下载安装Turbo C 2.01 30
2-6-2 程序的编写、保存与运行 31
2-6-3 打开与关闭C语言程序文件 33
2-7 习题 33
第3章 变量与基本数据类型 35
3-1-1 标识符 36
3-1-2 保留字 36
3-1 标识符与保留字 36
3-2 数据类型 37
3-2-1 基本数据类型 37
3-2-2 扩展数据类型 38
3-3 常量 39
3-3-1 字符常量 39
3-3-4 浮点型常量 41
3-4 变量 41
3-3-5 符号常量 41
3-3-3 整型常量 41
3-3-2 字符串常量 41
3-5 运算符 42
3-5-1 赋值运算符 43
3-5-2 算术运算符 43
3-5-3 复合赋值运算符 43
3-5-4 递增和递减运算符 44
3-5-5 关系运算符 44
3-5-6 逻辑运算符 45
3-6 数据类型转换 46
3-7 习题 47
第4章 输入/输出介绍 51
4-1 输入/输出函数介绍 52
4-2 printf()输出函数 52
4-2-1 printf()函数 52
4-2-2 转义字符的输出 54
4-2-3 字符变量的输出 55
4-2-4 整型变量的输出 55
4-2-5 浮点型变量的输出 57
4-2-6 字符数组(字符串)的输出 57
4-3-1 scanf()函数 58
4-3 scanf()输入函数 58
4-3-2 字符变量的输入 59
4-3-3 整型变量的输入 59
4-3-4 浮点型变量的输入 60
4-3-5 字符数组(字符串)的输入 61
4-4 字符输入/输出函数 62
4-4-1 getchar()输入字符函数 62
4-4-2 getche()输入字符函数 62
4-4-3 getch()输入字符函数 62
4-4-4 putchar()输出字符函数 62
4-5-1 gets()字符串输入函数 63
4-5-2 puts()字符串输出函数 63
4-5 字符串输入/输出函数 63
4-6 习题 64
第5章 选择结构 67
5-1 概述 68
5-2 关系运算符 68
5-3 逻辑运算符 69
5-4 选择语句 70
5-4-1 if...else语句 70
5-4-2 if...else if语句 76
5-4-3 嵌套选择结构 78
5-4-4 条件运算符 82
5-5 多重条件选择switch语句 83
5-6 实例——综合所得税算法 86
5-7 习题 88
第6章 循环结构 93
6-1 概述 94
6-2 for循环 94
6-2-1 for的循环语句 94
6-2-2 for语句的用法范例 96
6-2-3 嵌套for循环 100
6-3 while语句 103
6-4 do...while语句 105
6-5 使用break与continue语句退出循环 109
6-6 无限循环 111
6-7 实例 113
6-7-1 猜数字游戏 113
6-7-2 统计输入字符种类的个数 116
6-8 习题 118
第7章 数组 121
7-2-1 数组的声明 122
7-1 概述 122
7-2 数组的声明及使用 122
7-2-2 如何初始化数组 123
7-2-3 如何访问数组的数据 123
7-2-4 数组的大小 127
7-3 多维数组 128
7-3-1 二维数组的声明与初始化 128
7-3-2 如何访问二维数组的数据 129
7-4 数组的排序与查找 132
7-4-1 冒泡排序法 132
7-4-2 顺序查找法与二分查找法 134
7-5 实例 139
7-5-1 矩阵相乘 139
7-5-2 大乐透开奖 141
7-5-3 保龄球分数计算 144
7-6 习题 148
第8章 函数 151
8-1 函数概述 152
8-2 内置函数 152
8-3-1 如何声明与定义自定义函数 154
8-3 用户自定义函数的定义和调用 154
8-3-2 如何调用自定义函数 155
8-4 全局变量与局部变量 157
8-5 在函数间传递数组 159
8-6 递归函数 161
8-7 实例 162
8-7-1 数学组合公式求法 162
8-7-2 存款利息算法 164
8-7-3 贷款利息与本金算法 165
8-8 习题 168
第9章 C的预处理器 173
9-1 C语言的编译过程 174
9-2 预处理器 175
9-3 宏替换命令 175
9-3-1 如何定义宏 175
9-3-2 宏定义符号常数 175
9-3-3 宏使用参数 177
9-3-4 宏的副作用 177
9-3-5 宏和函数的差异 178
9-4 自定义头文件 180
9-4-1 包含头文件 180
9-4-2 头文件的建立 181
9-5 条件编译命令 184
9-5-1 如何控制程序的编译流程 184
9-5-2 如何判断宏是否定义 186
9-6 实例——书籍介绍 187
9-7 习题 189
第10章 变量的存储类型 191
10-1 变量存储类型 192
10-2 自动变量 192
10-3 静态变量 192
10-4 外部变量 194
10-6 习题 197
10-5 寄存器变量 197
第11章 指针的活用 201
11-1 什么是指针 202
11-2 指针的声明与使用 202
11-2-1 如何声明指针 202
11-2-2 如何访问指针变量 203
11-2-3 多重指针的使用 205
11-2-4 指针的移动 206
11-2-5 指针类型的转换 207
11-3-1 传值调用 208
11-3 传值调用与传址调用 208
11-3-2 传址调用 209
11-4 指针与数组 211
11-5 动态内存分配 213
11-6 实例——堆栈 216
11-7 习题 221
第12章 字符串处理 223
12-1 字符串 224
12-1-1 什么是字符串 224
12-1-2 字符串的声明与初始化 224
12-1-3 如何输入字符串 225
12-2 如何声明字符串数组 226
12-3 常用字符串函数介绍 230
12-3-1 字符串转换函数 230
12-3-2 字符串处理函数 230
12-4 函数指针 236
12-5 实例 238
12-5-1 扑克牌随机数发牌 238
12-5-2 验证会员证号码 240
12-6 习题 243
第13章 结构自定义数据类型 245
13-1 概述 246
13-2 结构数据类型 246
13-2-1 结构的定义与声明 246
13-2-2 结构字段的初始化 247
13-2-3 结构变量的内存空间大小 250
13-3 嵌套的结构 251
13-4 结构指针 253
13-5 结构数组 255
13-6 结构内字段指针 259
13-7-1 结构变量传值调用 263
13-7 函数间结构的传递 263
13-7-2 结构变量传址调用 265
13-7-3 传递结构数组给函数 267
13-8 实例——多项式相加 271
13-9 习题 277
第14章 派生数据类型 279
14-1 枚举数据类型 280
14-2 联合数据类型 284
14-2-1 union的定义与声明 285
14-2-2 union和struct分配内存比较 286
14-3 typedef类型定义 287
14-4 习题 289
第15章 文件处理 293
15-1 文件函数概述 294
15-2 数据流的概念 294
15-3 顺序文件与随机文件 295
15-4 C语言文件处理函数 295
15-5 标准输入/输出函数 296
15-5-1 标准输入/输出函数简介 296
15-5-2 如何打开文件 298
15-5-3 如何关闭文件 299
15-5-4 如何获取文件大小 300
15-5-5 如何以字符读写文件 301
15-5-6 如何以字符串读写文件 307
15-5-7 如何复制数据文件 309
15-5-8 如何访问格式化文本文件 311
15-6 随机文件 316
15-6-1 随机文件的访问 316
15-6-2 随机文件的修改与删除 319
15-7-1 系统输入/输出函数简介 323
15-7 系统输入/输出函数 323
15-7-2 打开与关闭文件 324
15-7-3 文件的访问 325
15-8 习题 329
第16章 C++集成开发环境介绍 333
16-1 C++的程序架构 334
16-2 使用Dev C++5.0 337
16-2-1 添加项目文件 337
16-2-2 程序的编写、保存与运行 339
16-2-3 打开与关闭项目文件 340
16-3-1 添加项目文件 341
16-3 使用Visual C++6.0 341
16-3-2 程序的编写、保存与运行 343
16-3-3 打开与关闭项目文件 344
16-4 使用Borland C++Builder 6.0 345
16-4-1 添加项目文件 346
16-4-2 程序的编写、保存与运行 347
16-4-3 打开与关闭项目文件 347
16-5 习题 350
第17章 C++格式化输入/输出 353
17-2-1 cout对象的使用 354
17-1 C++输入/输出概述 354
17-2 cout输出对象 354
17-2-2 cout对象的输出方式 355
17-3 cin输入对象 356
17-3-1 cin对象的使用 356
17-3-2 cin.getline()成员函数 357
17-4 格式化输出 359
17-4-1 setf()、unsetf()成员函数及格式化标记的使用 359
17-4-2 width()、precision()、fill()函数的使用 362
17-4-3 I/O控制器的使用 364
17-5 习题 367
第18章 C与C++的区别 371
18-1 C与C++的区别 372
18-2 布尔数据类型 373
18-3 重载函数 373
18-4 inline函数 375
18-5 引用变量 377
18-5-1 引用变量的使用 377
18-5-2 引用调用 378
18-6-1 使用string类建立字符串对象 380
18-6 string类 380
18-6-2 string类的运算符 381
18-6-3 string类常用的成员函数(方法) 382
18-7 习题 385
第19章 对象与类 389
19-1 概述 390
19-2 面向对象程序设计的概述 390
19-2-1 什么是面向对象程序设计 390
19-2-2 什么是对象(Object) 390
19-2-3 什么是类(Class) 391
19-2-4 使用面向对象程序设计的好处 391
19-2-5 抽象化 392
19-3 如何定义类与建立对象实例 393
19-3-1 如何定义类 393
19-3-2 如何产生对象实例 394
19-4 数据封装 395
19-4-1 数据成员和成员函数 395
19-4-2 ∷全局范围解析操作符 400
19-4-3 重载成员函数 402
19-4-4 对象指针 403
19-5 构造函数与析构函数 403
19-6 只读与只写属性 407
19-7 静态成员 408
19-8 使用this指向目前的类成员 410
19-9 对象数组 411
19-10 函数间对象的传递 414
19-11 C++动态分配内存 416
19-12 习题 419
第20章 继承与多态 423
20-1 继承 424
20-1-1 程序设计中的继承 424
20-1-2 继承的实现 425
20-1-3 多重继承 427
20-1-4 覆盖成员函数 431
20-2 虚函数 433
20-3 多态 436
20-4 重载运算符 437
20-5 命名空间 441
20-6 习题 443
第21章 模板 445
21-1 模板概述 446
21-2 模板函数 446
21-3 模板类 450
21-4 习题 453
附录A ASCII表 455
附录B C语言常用函数 457
B-1 转换函数 458
B-2 字符串处理函数 458
B-3 字符判断函数 461
B-4 数学函数 462
B-5 其他常用函数 463
附录C Dev C++下载与安装 465
C-1 下载Dev C++ 466
C-2 安装Dev C++ 468