目录 3
入门篇 3
●第一章 C++与oop 3
1—1 C语言的历史简介 3
1—2 何谓面向对象设计 5
1—3 C++与面向对象设计 7
1—4 C++的设计目标 8
●第二章 基本数据类型 9
2—1 常数 9
2—2 变量 10
2—3 基本数据类型与格式 11
2—3—1 基本数据类型 11
2—3—2 格式 12
2—4—1 变量如何说明 14
2—4 变量的说明 14
2—4—2 变量的使用范围 17
2—4—3 变量的可见性及生存期 18
2—5 #define、#include、typedef 18
2—5—1 #defi 18
2—5—2 #include 18
2—5—3 typedef 19
2—6 小结 20
2—7 习题 20
●第三章 基本输入、输出 23
3—1 字符的输入、输出 23
3—1—1 getch() 23
3—1—2 getche() 24
3—1—3 putch() 25
3—2 字符串的输入、输出 27
3—2—1 字符串的输入 27
3—2—2 字符串的输出 28
3—3—1 基本格式范例 29
3—3 格式化输出——printf()函数 29
3—3—2 格式 30
3—4 格式化输入——scanf()函数 36
3—5 小结 38
3—6 习题 38
●第四章 表达式 41
4—1 算术运算符、指定运算符 41
4—2 类型转换 45
4—2—1 自动转换的类型 46
4—2—2 按自己的方式转换类型 47
4—3 位运算符 48
4—4 关系运算符与逻辑运算符 54
4—5 其它运算符——?:、sizeof(type) 54
4—7 习题 56
4—6 小结 56
●第五章 程序控制语句 59
5—1 程序控制语句 59
5—1—1 if-else语句 59
5—1—2 if语句的嵌套 61
5—1—3 else-if语句 61
5—1—4 switch语句 63
5—1—5 continue与break语句 65
5—2 条件编译 67
5—3 循环语句 68
5—3—1 while语句 68
5—3—2 do-while语句 70
5 3—3 for语句 72
5—4 小结 76
5—5 习题 77
6—1 函数的基本概念 79
●第六章 函数 79
6—2 函数的说明 80
6—3 存储类型 82
6—3—1 外部变量(External Variable)存储类型 83
6—3—2 静态变量(Static Variable)存储类型 85
6—3—3 自动变量(Automatic Variable)存储类型 86
6—3—4 寄存器变量(Register Variable)存储类型 87
6—4 递归函数 89
6—5 ANSI函数说明 91
6—6 小结 93
6—7 习题 94
●第七章 数组 95
7—1 一维数组 95
7—2 一维数组的初始化 100
7—3 多维数组 103
7—4 多维数组的初始化 106
7—5 小结 109
7—6 习题 109
●第八章 指针 111
8—1 指针的基本概念 111
8—2 指针与数组 115
8—3 指针与字符串 118
8—4 指针与函数 119
8—5 指针的指针 122
8—6 范例 123
8—7 小结 125
8—8 习题 125
●第九章 字符串 127
9—1 综合概念 127
9—1—1 字符串在存储器中的排列方式 127
9—1—2 字符串的说明与初始化 127
9—3—1 比较两字符串——strcmp() 130
9—2 字符串函数——取字符串长度strlen() 130
9—3 字符串函数——字符串比较 130
9—3—2 字符串比较——strcmpi()及stricmp() 131
9—4 字符串函数——字符串的合并与复制 132
9—4—1 字符串的合并——strcat() 132
9—4—2 字符串的复制——strdup() 133
9—4—3 字符串拷贝——strcpy() 134
9—5 字符串的搜寻 135
9—5—1 寻找字符串中特定字符的地址——strchr() 135
9—5—2 寻找字符串中特定字符串的地址——strstr() 136
9—5—3 寻找字符串中与任意字符串相等的字符地址——strcspn() 137
9—5—4 寻找字符串中不属于另一字符集的字符地址——strspn() 138
9—5—5 寻找字符串中与其它字符串中任一字符相同的地址——strpbrk() 138
9—6 字符串函数——字符串转换 139
9—6—1 将字符串中大写字母转为小写字母——strlwr() 139
9—6—3 将字符串字符顺序倒置——strrev() 140
9—6—2 将字符串中小写字母转为大写字母——strupr() 140
9—7 字符串函数——设定字符串字符strset() 141
9—8 小结 142
9—9 题 142
●第十章 文件的输入输出 143
10—1 件的基本概念 143
10—2 标准输入输出函数 144
10—2—1 文件存取——fopen(),fclose() 144
10—2—2 文件的I/O——get(),putc() 146
10—2—3 文件的格式化输入输出——fscanf(),fprintf() 151
10—2—4 Record I/O—fread(),fwrite() 152
10—2—5 件的搜寻——fseek() 155
10—2—6 件指针的移动——rewind() 157
10—2—7 删除文件——remove() 158
10—2—8 件的错误处理——ferror(),perror() 159
10—2—9 件的结束——feof() 160
10—2—10 Turbo C++预设的文件名称 161
10—3 系统输入输出函数 162
10—3—1 open() 162
10—3—2 close() 163
10—3—3 creat() 163
10—3—4 lseek() 164
10—3—5 read() 166
10—3—6 write() 167
10—3—7 unlink() 168
10—3—8 Turbo C++预设的文件句柄,配合系统I/O使用 169
10—4 范例 169
10—5 小结 171
10—6 习题 172
11—1 动态数据结构 175
●第十一章 线性数据结构 175
提高篇 175
11—2 链表(Linked List) 176
11—3 链表的连接 180
11—4 链表插入一结点 183
11—5 链表删除一结点 187
11—6 链表的应用 190
11—7 双向链表的建立 196
●第十二章 堆栈与队列 199
12—1 堆栈(Stack) 199
12—2 队列(Queue) 202
●第十三章 二叉树数据结构 209
13—1 树(Tree) 209
13—2 二叉树的定义与性质 209
13—3 二叉树的建立原则 210
13—4 二叉树的遍历 213
13—4—1 二叉树的后序遍历 215
13—4—2 二叉树的中序遍历 217
13—5 复制二叉树 219
13—6 建立一个完全平衡树 222
●第十四章 排序 225
14—1 气泡排序法(Bubble Sort) 225
14—2 线性选择排序法(Linear Selection Sort) 228
14—3 Sell-Metzner Sort 231
●第十五章 时间与声音函数 235
15—1 time() 236
15—2 ctime() 236
15—3 gmtime() 237
15—4 localtime() 237
15—5 asctime() 237
15—6 strftime() 239
15—7 stime() 240
15—8 clock() 242
15—9 difftime() 243
15—10 sound() 245
15—11 nosound () 245
15—12 sleep() 245
15—13 delav() 246
15—14 音调的制作 247
●第十六章 键盘 249
16—1 通用ASCII码 249
16—2 扩充码 252
●第十七章 字符模式函数 259
17—1 clrscr() 260
17—2 gotoxy() 261
17—3 wherex()和wherey() 263
17—4 clreol() 263
17—6 gettext() 265
17—5 puttext () 265
17—7 movetext() 267
17—8 insline() 269
17—9 deline() 270
17—10 gettextinfo() 273
17—11 textmode() 275
17—12 _setcursortype() 276
17—13 window() 276
17—14 textcolor() 279
17—15 textbackground() 280
●第十八章 Turbo C++的图形函数 283
18—1 图形驱动的说明 283
18—2 画线函数line() 285
18—3 线条属性的设定 286
18—4 lineto(),moveto(),lineral() 288
18—6 circle(),arc(),pieslice(),ellipse() 290
18—5 rectangle() 290
18—7 bar(),bar3d() 293
18—8 drawpoly() 294
18—9 fillpoly(),fillellip() 296
18—10 颜色的设定 298
●第十九章 存储器的映射 301
19—1 单色显示卡 301
19—1—1 存储器说明 301
19—1—2 换算坐标地址 302
19—1—3 字符属性 302
19—2 彩色显示卡——字符模式 313
19—2—1 存储器说明 313
19—2—2 字符属性 313
19—3 彩色显示卡——图形模式 318
19—3—1 存储器说明 318
19—3—2 320×200的分辨率说明 319
19—3—3 640×200黑白模式的分辨率说明 325
C++篇 333
●第廿章 安装Turbo C++3.0 333
20—1 磁盘内容 333
20—2 使用Install安装Turbo C++ 349
●第廿一章 C++入门 353
21—1 面向对象的概念 353
21—2 第一个C++程序 354
21—3 格式化输出 356
21—4 cin(标准输入流) 356
21—5 C++的注释 357
21—6 函数原型(prototype) 357
21—7 枚举(Enumerations) 358
21—8 多态性函数(Overloaded function) 359
21—9 const(常数说明) 361
21—10 inline限定符(Qualifier) 362
21—11 函数参数的缺省值 363
21—12 作用域存取操作符(The Scope Resolution Operator) 364
21—13 引用(References) 366
●第廿二章 类(class) 371
22—1 自定义数据类型 371
22—2 建立类(class) 372
22—3 成员函数(Member Function) 376
22—4 构造函数(Constructor) 379
22—5 析构函数(Destructor) 380
22—6 存取类内部数据 382
22—7 new运算符 390
22—8 delete运算符 391
附录A 程序范例 393
附录B 习题解答 463
附录C 保留字 471