第1章 Visual C++集成开发环境 1
1.1 Windows基础知识 1
1.1.1 鼠标器(Mouse) 1
1.1.2 窗口(Window) 2
1.1.3 菜单(Menu) 2
1.1.4 对话框(Dialog box) 2
1.2 Visual C++语言特色 3
1.3 Visual C++的安装与运行 4
1.3.1 Visual C++的支撑环境 4
1.3.2 初次安装 4
1.3.3 添加安装 5
1.3.4 运行Visual C++ 5
1.3.5 退出Visual C++环境 5
1.4 Visual C++工作平台(Workbench) 5
1.4.1 Visual C++工作平台的组成 5
1.4.2.1 File菜单 9
1.4.2 Workbench上的命令菜单 9
1.4.2.2 Edit菜单 12
1.4.2.3 View菜单 15
1.4.2.4 Project菜单 16
1.4.2.5 Browse菜单 18
1.4.2.6 Debug菜单 19
1.4.2.7 Tools菜单 20
1.4.2.8 Options菜单 21
1.4.2.9 Window菜单 23
1.4.2.10 Help菜单 25
1.5 一个简单VC++程序的设计过程 25
1.6 Visual C++程序的组成 29
第2章 Visual C++语言基础 31
2.1 Visual C++语言概述 31
2.2 标识符 32
2.3 数据类型分类 33
2.4.2 浮点类型(float、double) 34
2.4 基本数据类型 34
2.4.1 整型(int) 34
2.4.3 字符类型(char) 35
2.4.4 枚举类型(enum) 36
2.4.5 无值类型(void) 38
2.5 常量与变量 38
2.5.1 常量(constant) 38
2.5.2 变量(Variable) 43
2.5.3 变量类型(Variable Type) 44
2.5.4 变量的作用域 44
2.6 运算符与表达式 51
2.6.1 算术运算符和算术表达式 52
2.6.2 赋值运算符和赋值表达式 54
2.6.3 关系运算符和关系表达式 55
2.6.4 逻辑运算符和逻辑表达式 57
2.6.5 位运算符 59
2.6.6 其它运算符 61
2.7 运算符的优先级和结合方向 62
2.8 数据类型转换 64
2.8.1 自动类型转换 64
2.8.2 强制类型转换 65
第3章 VC++程序的流程控制结构 67
3.1 VC++语句 67
3.1.1 表达式语句 67
3.1.2 复合语句 68
3.1.3 流程控制结构语句 68
3.1.4 限定转向语句 70
3.1.5 非限定转向语句(goto) 70
3.1.6 VC++的基本语句一览 71
3.2 程序的三种控制结构 72
3.3 选择结构 74
3.3.1 if语句 74
3.3.2 if-else语句 76
3.3.3 if-else if语句 78
3.3.4 条件运算符 82
3.3.5 switch语句 83
3.4 循环结构 86
3.4.1 for循环语句 86
3.4.2 while循环语句 92
3.4.3 do-while循环语句 93
3.4.4 循环的嵌套 96
3.5 Break语句和Continue语句 97
3.5.1 Break语句 97
3.5.2 Continue语句 98
3.6 Goto语句 99
3.7 Exit语句和Return语句 100
3.7.1 Exit语句 100
3.7.2 Return语句 100
4.1 输入输出流库的结构 101
第4章 输入输出 101
4.2 基本输出方式 103
4.2.1 用插入操作符《输出 103
4.2.2 调用成员函数输出 103
4.3 基本输入方式 104
4.3.1 用析取操作符》输入 104
4.3.2 调用成员函数输入 105
4.4 格式化输出 106
4.4.1 用成员函数设置标志 107
4.4.2 使用操作函数 108
4.4.3 使用格式化成员函数 109
4.5 格式化字符串流 110
4.6 重载操作符《和》 113
第5章 函数 116
5.1 概述 116
5.2.1 通过VC++ Workbench的Help查阅库函数 117
5.2 库函数 117
5.2.2 简单数学函数的使用 120
5.2.3 字符串函数的使用 121
5.2.4 随机函数的使用 123
5.2.5 时间函数的使用 124
5.3 用户自定义函数 125
5.3.1 函数的定义 125
5.3.2 形式参数与实际参数 127
5.3.3 函数的返回值 128
5.3.4 函数的调用 128
5.3.5 函数的原型设计 130
5.4 函数的参数 135
5.4.1 用void类型定义参数 135
5.4.2 定义参数的缺省值 135
5.4.3 用省略号(…)说明不定参数 137
5.5 参数的传递方式 137
5.5.1 值参的传递方式 138
5.5.2 引用参数的传递方式 139
5.5.3 指针变量作为函数参数 140
5.5.4 数组作为函数参数 142
5.6 内联函数 148
5.7 重载函数 149
5.8 函数模板 151
5.9 编译预处理 152
5.9.1 宏定义命令(#define) 152
5.9.3 条件编译 157
5.9.2 文件包含命令(#include) 157
第6章 构造数据类型 160
6.1 结构体 160
6.1.1 结构体类型的定义 160
6.1.2 结构体类型变量的定义 161
6.1.3 结构体类型变量的初始化 163
6.1.4 结构体类型变量的引用 163
6.1.5 结构体在程序设计中的应用 165
6.2.1 共用体及其类型变量的定义 171
6.2 共用体 171
6.2.2 共用体变量的引用方式 173
6.2.3 共用体应用举例 174
6.3 数组 176
6.3.1 一维数组 177
6.3.2 多维数组 179
6.3.3 字符数组 179
6.3.4 数组的应用举例 181
6.4 用户自定义类型 187
6.5 字符串 188
6.5.1 String.h库 188
6.5.2 字符串的概念 189
6.5.3 常用的字符串操作 190
第7章 指针 199
7.1 指针的概念 199
7.2.2 与指针变量有关的运算 200
7.2 指针变量的定义及其运算 200
7.2.1 指针变量的定义 200
7.3 指针的应用 202
7.3.1 指针变量作为函数的参数 202
7.3.2 指针变量在数组中的应用 203
7.3.3 指向函数的指针 206
7.3.4 内存的动态管理 208
7.3.5 指针数组 213
7.3.6 指针和结构体 215
7.3.7 用指针处理链表 217
7.4 在Visual C++中指针类型 231
7.4.1 8088微处理器结构 232
7.4.2 地址计算 233
7.4.3 指针类型 233
第8章 文件 235
8.1 文件输入/输出流类 235
8.1.1 fstream、ifstream和ofstream类的构造函数 236
8.1.2 fstream、ifstream和ofstream类的常用公有成员函数 237
8.2 顺序文件I/O流 238
8.3 顺序二进制文件I/O流 241
8.4 随机文件I/O流 243
8.5 处理流错误 245
8.6 打印 247
第9章 工程(project) 249
9.1 把一个应用问题划分成多个独立模块 249
9.1.1 模块化程序设计的特点 249
9.1.2 模块化程序设计准则 250
9.1.3 把一个大问题划分成多个小模块 251
9.2 建立工程文件 259
9.2.1 建立工程文件 259
9.2.2 编辑工程文件 261
9.2.3 编辑正在建立的工程文件 262
9.3 为工程文件设置任选项 262
9.3.1 Compiler选项设置 263
9.3.2 Linker选项设置 274
9.3.3 Resource选项设置 276
9.4 编译工程文件 277
9.4.1 利用DOS命令行命令编译工程文件 277
9.4.2 用Visual C++中project菜单编译工程文件 278
9.4.3 使用工具栏按钮编译工程文件 278
9.5 内存模式 279
9.5.1 80x86处理器 279
9.5.2 内存模式 280
9.6 再论变量的定义域 281
9.6.1 函数定义域 281
9.6.2 块定义域 282
9.6.3 模块域 282
9.6.4 函数原型域 283
9.6.5 工程域 283
10.1 面向对象的基本概念与特征 285
10.1.1 对象 285
第10章 面向对象的程序设计 285
10.1.2 消息和方法 286
10.1.3 类和类层次 287
10.1.4 继承性 287
10.1.5 封装性 288
10.1.6 多态性 288
10.1.7 动态聚束 289
10.1.8 小结 289
10.2 类与对象 289
10.2.1 类 290
10.2.2 对象 293
10.2.3 构造函数和析构函数 299
10.2.4 指针 305
10.2.5 友元(friend function) 311
10.2.6 类与对象的应用 313
10.3.1 继承性 314
10.3 继承性与派生类 314
10.3.2 虚基类 327
10.3.3 有关派生类的几个问题 332
10.4 虚拟函数与多态性 334
10.4.1 虚拟函数 334
10.4.2 多态性 349
10.5 运算符重载函数 351
10.5.1 运算符重载函数的一般概念 352
10.5.2 可重载的运算符 353
10.5.3 类运算符和友元运算符 354
10.6 类库 358
第11章 程序调试与排错 359
11.1 错误类型 359
11.1.1 语法错误 359
11.1.2 运行错误 359
11.1.3 逻辑错误 360
11.2 程序调试的一般过程 360
11.3.2 debug的使用 361
11.3 使用debug进行调试 361
11.3.1 调试前的准备 361
11.3.3 使用调试窗口 365
第12章 图形设计 368
12.1 文本函数 368
12.1.1 设置及移动光标 368
12.1.2 视区应用及屏幕清除 369
12.1.3 文本的字型设置、颜色处理及输出 370
12.2 绘图函数 372
12.2.1 图形坐标系统及屏幕模式 372
12.2.2 几个常用绘图命令 374
12.2.3 视区的设定 379
12.2.4 颜色的设置 380
12.2.5 设计填充图样 381
12.2.6 画面的动态设计 387
13.1 App Studio 390
13.1.1 概述 390
第13章 Visual C++实用工具 390
13.1.2 对话框编辑器 396
13.1.3 菜单编辑器 399
13.1.4 简化键表编辑器 401
13.1.5 字符串编辑器 402
13.1.6 图形编辑器 403
13.2.1 打开和关闭App Wizard 406
13.2.2 设置选项 406
13.2 App Wizard工具 406
13.2.3 App Wizard产生的共同文件 408
13.3 Class Wizard工具 409
13.3.1 Class Wizard的进入及窗口上选项介绍 410
13.3.2 添加一个新类 411
13.3.3 从另一个工程文件中拷贝一个类 411
13.3.4 用Class Wizard增加一消息映射 412
13.3.5 消息映射函数的编辑 412
13.4 三个工具间的关系 412