目录 1
第1章 程序设计基础知识 1
1.1 程序设计的概念 1
1.2 程序设计语言 4
1.2.1 程序设计语言的种类 4
1.2.2 高级语言 6
1.2.3 C++语言的背景和特点 8
1.3 C++程序的基本结构 9
1.3.1 C++程序实例 9
1.3.2 注释 10
1.3.3 编译预处理 10
1.3.4 函数 11
1.4 Visual C++.NET开发环境及应用程序 12
1.3.5 数据的输入输出 12
1.5 C++程序设计实例 17
1.5.1 控制台应用程序实例 18
1.5.2 图形用户界面应用程序实例 21
1.6 程序设计的一般步骤 25
习题1 29
第2章 算法与程序设计 31
2.1 算法的概念 31
2.2 算法的特性 34
2.3 算法的流程图表示 35
2.4 算法的结构 38
2.4.1 算法的三种基本结构 38
2.4.2 基本结构的本质属性 41
2.4.3 N-S结构化流程图 42
2.5.1 顺序结构的C++程序 44
2.5 算法的C++程序实现 44
2.5.2 选择结构的C++程序 45
2.5.3 循环结构的C++程序 47
2.5.4 循环结构和选择结构的嵌套 49
2.6 算法与数据结构 51
2.6.1 数据类型的意义 51
2.6.2 数据结构的概念 52
2.6.3 数据结构与算法 54
2.7 结构化程序设计 56
2.7.1 结构化程序 56
2.7.2 结构化程序设计方法 57
习题2 61
3.1.1 C++字符集 63
3.1 标识符和名字 63
第3章 基本数据类型与表达式 63
3.1.2 标识符 64
3.1.3 名字 64
3.2 数据类型的概念 65
3.2.1 C++中的数据类型 65
3.2.2 基本类型的计算机表示 66
3.3 基本数据类型 68
3.3.1 数字、字符及字符串 68
3.3.2 基本类型变量的声明和引用 70
3.3.3 无符号数和const常量 72
3.3.4 用typedef定义类型 73
3.4 算术表达式 74
3.4.1 基本算术表达式 74
3.4.2 数据类型转换 75
3.4.3 自增和自减运算符 77
3.5 逻辑表达式 78
3.5.1 关系表达式 78
3.5.2 逻辑表达式 79
3.6 C++中的特殊表达式 80
3.6.1 赋值表达式 81
3.6.2 条件表达式 82
3.6.3 逗号表达式 83
3.6.4 位运算表达式 83
3.7 运算符的优先顺序 86
3.8 C++中的数据输入输出 87
3.8.1 输入流cin 87
3.8.2 输出流cout 90
3.8.3 输入输出函数printf()和scanf() 95
习题3 96
第4章 C++程序结构 99
4.1 C++语言中的语句 99
4.2 选择结构 101
4.2.1 if语句的使用 101
4.2.2 if语句的嵌套 103
4.2.3 switch语句的使用 105
4.3 循环结构 107
4.3.1 while语句 107
4.3.2 do…while语句 108
4.3.3 for语句 109
4.3.4 循环结构的嵌套 112
4.4.1 goto语句和语句标号 114
4.4 非正常流程控制 114
4.4.2 break语句和continue语句 115
4.4.3 exit函数和abort函数 117
4.5 函数的定义和调用 118
4.5.1 函数的定义 118
4.5.2 函数的调用 120
4.5.3 函数的声明 122
4.5.4 内联函数 123
4.6 函数的参数 124
4.6.1 参数的值传递方式 124
4.6.2 变量的引 用类型与函数参数 126
4.6.3 带有默认参数的函数 127
4.7.1 函数的嵌套调用 128
4.7 函数的嵌套调用和递归 128
4.7.2 函数的递归 130
4.8 变量的作用域和生存期 135
4.8.1 局部变量和全局变量 135
4.8.2 变量的存储类别 137
4.9 程序的多文件组织 141
4.10 编译预处理 143
4.10.1 #define宏定义指令 143
4.10.2 #include文件包含命令 146
4.10.3 条件编译 149
习题4 151
第5章 用户自定义数据类型 154
5.1 数组 154
5.1.1 一维数组 154
5.1.2 二维数组 158
5.1.3 数组作为函数参数 162
5.2 结构体 164
5.3 枚举型变量 168
5.4 指针 173
5.4.1 地址与指针的概念 173
5.4.2 指针的定义和使用 175
5.4.3 动态存储分配 178
5.5 指针与数组 180
5.5.1 一维数组和指针 180
5.5.2 二维数组和指针 184
5.5.3 指针的数组 186
5.5.4 指向数组的指针 188
5.6 字符串处理 189
5.6.1 字符数组 189
5.6.2 字符指针 192
5.6.3 字符串类型 194
5.7 指针与函数 197
5.7.1 返回指针的函数 197
5.7.2 指向函数的指针 198
习题5 200
第6章 面向对象程序设计 203
6.1 面向对象程序设计的概念 203
6.2 类和对象 206
6.2.1 类的定义 206
6.2.2 类中成员函数的定义 208
6.2.3 对象 210
6.2.4 构造函数与析构函数 212
6.2.5 const对象与const成员函数 215
6.2.6 对象与指针 217
6.2.7 类的静态成员 218
6.2.8 友元 219
6.3 方法重载 222
6.3.1 函数重载 222
6.3.2 运算符重载 224
6.4 继承 227
6.4.1 基类和派生类 227
6.4.2 多重继承 229
6.4.3 派生类的构造函数 230
6.4.4 派生类的三种继承方式 232
6.4.5 继承与组合 237
6.5 多态性及虚函数 239
6.5.1 派生类对象替换基类对象 240
6.5.2 虚函数 241
6.5.3 纯虚函数和抽象类 244
6.6 模板 246
6.6.1 函数模板 246
6.6.2 类模板 248
6.7 C++的I/O流类和对象 251
6.7.1 C++流类 251
6.7.2 插入和提取运算符 254
6.8 异常处理 256
6.9 命名空间 259
6.9.1 命名空间的使用 260
6.9.2 标准命名空间std 261
习题6 262
7.1.1 Visual C++.NET工程种类 264
7.1 建立Visuaal C++.NET工程 264
第7章 用户界面设计 264
7.1.2 基于MFC的应用程序类型 265
7.2 基于MFC的应用程序概述 267
7.2.1 文档/视图结构 267
7.2.2 客户区重绘 270
7.2.3 资源的管理 272
7.3 各类消息处理方法 275
7.3.1 菜单及工具栏命令 276
7.3.2 鼠标消息处理 279
7.3.3 键盘消息处理 282
7.3.4 定时器消息处理 283
7.4 对话框 286
7.4.1 对话框的创建 286
7.4.2 对话框的调用 288
7.4.3 对话框中的控件 294
7.4.4 通用对话框 298
7.4.5 基于对话框的应用 300
习题7 302
第8章 图形图像与多媒体应用程序 303
8.1 设备环境类 303
8.1.1 CPaintDC类 304
8.1.2 CClientDC类 305
8.2 绘图工具类 306
8.2.1 画笔的使用 307
8.2.2 画刷的使用 308
8.2.3 库存绘图对象 311
8.2.4 字体的使用 311
8.3 坐标映射方式 315
8.4 常用绘画模式 316
8.5 数据显示与字符串 319
8.6 几何图形绘制 321
8.7 位图显示及图片框 325
8.7.1 客户区位图显示 325
8.7.2 图片框控件 329
8.8 多媒体应用 331
8.8.1 声音文件播放 331
8.8.2 网页浏览 332
8.8.3 媒体播放 335
习题8 338
第9章 数据文件与数据库应用程序 340
9.1 数据管理方式的变迁 340
9.2 数据文件的读写 341
9.2.1 标准C++中的文件流类 342
9.2.2 用MFC文件类读写文件 346
9.2.3 序列化方式读写文件 351
9.3 数据库系统概念 356
9.3.1 数据库系统构成 356
9.3.2 关系型数据库 358
9.4 数据库操作语言——SQL 360
9.5 数据库应用程序开发 362
9.5.1 ODBC数据源 363
9.5.2 通过向导建立应用程序 364
9.5.3 利用MFC ODBC类编程 370
9.5.4 利用列表控件显示记录 377
习题9 382
参考文献 384