Visual C++实用教程(第5版)(含视频分析提高)
定 价:59 元
丛书名:
- 作者:郑阿奇
- 出版时间:2017/6/1
- ISBN:9787121306341
- 出 版 社:电子工业出版社
- 中图法分类:TP312C++
- 页码:452
- 纸张:胶纸版
- 版次:5
- 开本:16K
- 字数:(单位:千字)
本书仍然采用Visual C++ 6.0(中文版)平台,在第4版的基础上进行增减、修改和完善,同时兼顾C++等级考试的内容,从而进一步方便教和学。主要内容包含实用教程、习题、上机操作指导、综合应用实习、附录等部分。“教程”包括C++和Visual C++,C++部分包括基本C++语言和C++面向对象程序设计,Visual C++包括MFC基本应用程序的建立、窗口和对话框、常用控件、基本界面元素、文档和视图、图形和文本、数据库编程等,一般在讲解内容后紧跟实例。“上机操作指导”与教程配套和同步,通过实例先引导操作和编程,然后提出问题思考或在原有基础上自己进行操作和编程练习。“综合应用实习”分为独立的两个部分,分别对C++和Visual C++进行综合应用训练。本书提供配套的教学课件、教程实例文件、实验文件、综合应用实习源文件等教学资源,同时提供本书二维码扫描配套视频,可从华信教育资源网(www.hxedu.com.cn)免费下载。本书可作为大学本科、高职高专院校相关课程教材,也可供广大Visual C++应用开发人员参考。
VisualC++(简称VC)是Microsoft公司推出的目前使用极为广泛的基于Windows平台的C++可视化开发环境,我国高校的计算机专业和有些非计算机专业已开设C++和VC应用程序设计课程。为了方便教学,2000年,我们编写《VisualC++实用教程》,该书出版后,得到高校教师、学生和读者的广泛认同,先后印刷7次。2003年,我们推出了《VisualC++实用教程(第2版)》,使VisualC++环境下C++及程序设计内容系统化,并且形成了完整体系,先后印刷8次。2007和2012年,我们相继推出了《VisualC++实用教程(第3版)》和《VisualC++实用教程(第4版)》,教程与实验的内容和分工更进一步优化,删除复杂系统生成代码的分析以及不常使用的较高级内容,这两个版本先后印刷10次和9次。
《VisualC++实用教程(第5版)》仍然采用VisualC++6.0(中文版)平台,结合近年来VC教学和应用开发的经验体会,在第4版的基础上进行增减、修改和完善,使说明内容更简洁,知识理解更容易。同时兼顾C++等级考试的内容,从而进一步方便教和学。
本书主要内容包含实用教程、习题、上机操作指导、综合应用实习、附录等部分。“教程”包括C++和VisualC++,C++部分包括基本C++语言和C++面向对象程序设计,VisualC++包括MFC基本应用程序的建立、窗口和对话框、常用控件、基本界面元素、文档和视图、图形和文本、数据库编程等。一般在讲解内容后紧跟实例,大小实例合理搭配,规模较大的实例和步骤较多的实例分阶段调试运行,使读者步步为营。凡标有[例Ex_Xxx]的实例程序一般都比较完整,且一般都上机调试通过。“习题”部分除第2章和第3章突出C++的基础内容外,其余各章的习题主要是弄清一些基本概念。“上机操作指导”与教程同步更新,使其系统主线更加明确,通过实例一步一步引导读者进行操作和编程(先领进门),然后提出问题思考,并在原来的基础上让读者自己进行操作和编程练习。“试一试”、“想一想”等内容,帮助学生更好地利用本教材学到更多的知识。另外,在第一个C++程序上机时就有一个简单错误排查,在第一个VisualC++程序上机时介绍简单调试。“综合应用实习”仍然为C++和MFC两种实现方式。
本教材各部分内容既相互联系又相对独立,并依据教学特点进行精心编排,方便用户根据自己的需要进行选择。
本书包含部分二维码,通过扫描这些二维码可观看相应的微课视频,这些视频对教程实例和部分内容进行讲解,介绍解决问题过程和要点,回答读者关心的问题,在分析的基础上提高,对解决问题和加深对VisualC++的理解大有帮助。
本书提供配套的教学课件、教程实例文件、实验文件、综合应用实习源文件等教学资源,同时提供本书配套视频,可从华信教育资源网(www.hxedu.com.cn)免费下载。
本教材不仅适合于教学,也非常适合于用VisualC++编程和开发应用程序的用户学习和参考。只要阅读本书,结合上机操作指导进行练习,就能在较短的时间内基本掌握VisualC++及其应用技术。
本书由丁有和(南京师范大学)、苏丹、郑进(军事交通学院)、周怡君(东南大学)编写,郑阿奇(南京师范大学)对全书进行统稿。参加本系列书编写的还有徐文胜、殷红先、陈瀚、陈冬霞、邓拼搏、高茜、刘博宇、彭作民、钱晓军、孙德荣、陶卫冬、吴明祥、王志瑞、徐斌、俞琰、严大牛、张为民、周何骏、于金彬、马骏、周怡明、姜乃松、梁敬东等。还有其他同志对本书的编写提供了许多帮助,在此一并表示感谢!
由于作者水平有限,不妥之处在所难免,恳请读者批评指正。
意见建议邮箱:easybooks@163.com
编者
郑阿奇,男,南京师范大学教授,主编多个系列高等院校计算机教材,其中十多种入选普通高等教育“十一五”国家级规划教材。
第1部分 实 用 教 程
第1章 基本C++语言 1
1.1 C++程序结构 1
1.1.1 C++概述 1
1.1.2 C++程序创建 1
1.1.3 C++代码结构 4
1.2 数据类型和基本输入/输出 5
1.2.1 基本数据类型 5
1.2.2 字面常量 7
1.2.3 变量及其命名规则 9
1.2.4 标识符常量和枚举 12
1.2.5 基本输入/输出 13
1.3 运算符和表达式 15
1.3.1 算术运算符 15
1.3.2 赋值运算符 16
1.3.3 数据类型转换 18
1.3.4 关系运算符 19
1.3.5 逻辑运算符 20
1.3.6 位运算符 20
1.3.7 条件运算符 21
1.3.8 sizeof运算符 21
1.3.9 逗号运算符 21
1.3.10 自增和自减 22
1.4 基本语句 23
1.4.1 顺序语句和块 23
1.4.2 选择结构语句 24
1.4.3 循环结构语句 27
1.4.4 break和continue语句 30
1.5 函数和预处理 31
1.5.1 函数的定义和调用 31
1.5.2 函数的参数传递 33
1.5.3 带默认形参值的函数 34
1.5.4 递归函数 35
1.5.5 内联函数 37
1.5.6 函数重载 38
1.5.7 作用域和可见性 39
1.5.8 存储类型 40
1.5.9 编译预处理 42
1.6 数组 46
1.6.1 一维数组 46
1.6.2 二维数组 48
1.6.3 字符数组 50
1.6.4 数组与函数 51
1.7 指针和引用 52
1.7.1 指针和指针变量 52
1.7.2 &和*运算符 53
1.7.3 指针运算 54
1.7.4 指针和数组 55
1.7.5 指针和函数 57
1.7.6 new和delete 61
1.7.7 引用和引用传递 61
1.8 字符指针和字符串处理 63
1.8.1 字符指针 63
1.8.2 带参数的main函数 64
1.8.3 字符串处理函数 64
1.9 结构、共用和自定义 66
1.9.1 结构体 66
1.9.2 结构体数组 69
1.9.3 结构体与函数 70
1.9.4 结构体指针 70
1.9.5 共用体 71
1.9.6 使用typedef 72
第2章 C++面向对象程序设计 74
2.1 类和对象 74
2.1.1 类的定义 74
2.1.2 对象的定义 76
2.1.3 类作用域和成员访问权限 76
2.1.4 构造函数和析构函数 78
2.1.5 对象赋值和复制 80
2.1.6 浅复制和深复制 82
2.1.7 对象成员的初始化 83
2.2 数据共享和成员特性 85
2.2.1 静态成员 85
2.2.2 友元 89
2.2.3 常类型 93
2.2.4 this指针 96
2.3 继承和派生 97
2.3.1 单继承 98
2.3.2 派生类的构造函数和析构函数 100
2.3.3 多继承 101
2.3.4 虚基类 101
2.4 多态和虚函数 104
2.4.1 多态概述 105
2.4.2 虚函数 105
2.4.3 纯虚函数和抽象类 107
2.5 运算符重载 108
2.5.1 运算符重载函数 108
2.5.2 运算符重载限制 109
2.5.3 友元重载 110
2.5.4 转换函数 112
2.5.5 赋值运算符的重载 113
2.5.6 自增自减运算符的重载 114
2.6 输入/输出流 116
2.6.1 流类和流对象 116
2.6.2 流的格式控制和错误处理 117
2.6.3 使用输入/输出成员函数 120
2.6.4 提取和插入运算符重载 122
2.6.5 文件流及其处理 123
第3章 MFC基本应用程序的建立 131
3.1 Windows编程基础 131
3.1.1 C++的Windows编程 131
3.1.2 Windows编程特点 135
3.1.3 Windows基本数据类型 136
3.2 创建MFC应用程序 137
3.2.1 设计一个MFC程序 137
3.2.2 理解程序代码 138
3.2.3 使用MFC AppWizard 139
3.2.4 创建文档应用程序 140
3.3 MFC应用程序框架 143
3.3.1 项目文件和配置 143
3.3.2 项目管理和项目工作区 144
3.3.3 MFC程序类结构 145
3.4 消息和消息映射 146
3.4.1 消息类别 147
3.4.2 消息映射和类向导 147
3.4.3 消息映射代码框架 149
3.4.4 键盘和鼠标消息 150
3.4.5 其他窗口消息 151
3.5 Visual C++常用操作 152
3.5.1 单类的添加和删除 152
3.5.2 成员的添加和删除 153
3.5.3 文件打开和成员定位 154
3.5.4 使用向导工具栏 154
第4章 窗口和对话框 156
4.1 框架窗口 156
4.1.1 主框架窗口和文档窗口 156
4.1.2 窗口样式的设置 157
4.1.3 窗口状态的改变 160
4.2 创建对话框 162
4.2.1 创建对话框应用程序 162
4.2.2 资源和资源标识 163
4.2.3 添加对话框资源 164
4.2.4 设置对话框属性 165
4.2.5 添加和布局控件 166
4.2.6 创建对话框类 169
4.2.7 映射WM_INITDIALOG消息 170
4.3 使用对话框 171
4.3.1 在程序中调用对话框 171
4.3.2 使用无模式对话框 174
4.4 通用对话框和消息对话框 176
4.4.1 通用对话框 176
4.4.2 消息对话框 177
第5章 常用控件 179
5.1 创建和使用控件 179
5.1.1 控件的创建方式 179
5.1.2 控件的消息及消息映射 181
5.1.3 控件类和控件对象 184
5.1.4 DDX和DDV 186
5.2 静态控件和按钮 187
5.2.1 静态控件 187
5.2.2 按钮 188
5.2.3 示例:制作问卷调查 189
5.3 编辑框和旋转按钮控件 192
5.3.1 编辑框的属性和通知消息 192
5.3.2 编辑框的基本操作 193
5.3.3 旋转按钮控件 194
5.3.4 示例:用对话框输入学生成绩 195
5.4 列表框 198
5.4.1 列表框的样式和消息 198
5.4.2 列表框的基本操作 199
5.4.3 示例:基本课程信息 200
5.5 组合框 203
5.5.1 组合框的样式类型和消息 203
5.5.2 组合框常见操作 204
5.5.3 示例:课程号和课程信息 205
5.6 进展条和日历控件 209
5.6.1 进展条 209
5.6.2 DTP控件 210
5.6.3 计时器 210
5.6.4 示例:自动时间显示 211
5.7 滚动条和滑动条 212
5.7.1 滚动条 212
5.7.2 滑动条 213
5.7.3 示例:调整对话框背景颜色 215
第6章 基本界面元素 218
6.1 图标和光标 218
6.1.1 图像编辑器 218
6.1.2 图标 219
6.1.3 光标 222
6.2 菜单 224
6.2.1 菜单一般规则 224
6.2.2 更改应用程序菜单 225
6.2.3 使用键盘快捷键 226
6.2.4 菜单的编程控制 227
6.2.5 使用快捷菜单 230
6.3 工具栏 232
6.3.1 使用工具栏编辑器 232
6.3.2 工具按钮和菜单项相结合 234
6.3.3 多个工具栏的使用 234
6.4 状态栏 237
6.4.1 状态栏的定义 237
6.4.2 状态栏的常用操作 237
6.4.3 改变状态栏的风格 238
6.5 交互对象的动态更新 239
第7章 文档和视图 241
7.1 文档模板 241
7.1.1 文档模板类 241
7.1.2 文档模板字符串资源 242
7.2 文档序列化 243
7.2.1 文档序列化过程 243
7.2.2 CArchive类和序列化操作 245
7.2.3 使用简单数组集合类 247
7.2.4 类对象序列化 250
7.2.5 使用文件对话框和CFile类 254
7.2.6 CFile和CArchive类之间的关联 258
7.3 一般视图框架 258
7.3.1 CEditView和CRichEditView 259
7.3.2 CFormView 259
7.3.3 CHtmlView 263
7.3.4 CScrollView 263
7.4 列表视图框架 263
7.4.1 图像列表 263
7.4.2 列表视图类型和样式 264
7.4.3 列表项的基本操作 265
7.4.4 列表控件的消息 266
7.4.5 示例:列表显示当前的文件 267
7.5 树视图框架 270
7.5.1 树控件及其样式 270
7.5.2 树控件的常用操作 271
7.5.3 树视图控件的消息 272
7.5.4 示例:遍历本地文件夹 273
7.6 文档视图结构 275
7.6.1 文档与视图的相互作用 275
7.6.2 应用程序对象指针的互调 276
7.6.3 切分窗口 278
7.6.4 一档多视 280
第8章 图形和文本 286
8.1 概述 286
8.1.1 设备环境类 286
8.1.2 坐标映射 286
8.1.3 CPoint、CSize和CRect 288
8.1.4 颜色和颜色对话框 290
8.2 图形设备接口 291
8.2.1 使用GDI对象 291
8.2.2 画笔 292
8.2.3 画刷 293
8.2.4 位图 294
8.2.5 图形绘制 296
8.3 字体与文字处理 300
8.3.1 字体和字体对话框 300
8.3.2 常用文本输出函数 302
8.3.3 文本格式化属性 304
8.3.4 计算字符的几何尺寸 304
8.3.5 文档内容显示及其字体改变 305
第9章 数据库编程 308
9.1 数据库和ODBC操作 308
9.1.1 数据库基本概念 308
9.1.2 常用SQL语句 309
9.1.3 Visual C++操作数据库接口 310
9.2 MFC ODBC一般操作 311
9.2.1 MFC ODBC向导过程 311
9.2.2 ODBC数据表绑定更新 316
9.2.3 MFC的ODBC类 317
9.3 MFC ODBC应用编程 319
9.3.1 显示记录总数和当前记录号 319
9.3.2 编辑记录 321
9.3.3 字段操作 323
9.3.4 多表处理 326
9.4 ADO数据库编程 330
9.4.1 ADO编程的一般过程 331
9.4.2 Recordset对象使用 333
9.4.3 Command对象使用 335
第2部分 习 题
第1章 基本C++语言 336
第2章 C++面向对象程序设计 345
第3章 MFC基本应用程序的建立 348
第4章 窗口和对话框 348
第5章 常用控件 349
第6章 基本界面元素 349
第7章 文档和视图 349
第8章 图形和文本 350
第9章 数据库编程 350
第3部分 上机操作指导
实验1 认识Visual C++ 6.0开发环境 351
实验内容 351
实验准备和说明 351
实验步骤 351
思考与练习 359
实验2 基本数据类型、表达式和基本语句 360
实验内容 360
实验准备和说明 360
实验步骤 360
思考与练习 363
实验3 函数和预处理 363
实验内容 363
实验准备和说明 363
实验步骤 364
思考与练习 366
实验4 构造类型、指针和引用 366
实验内容 366
实验准备和说明 366
实验步骤 367
思考与练习 369
实验5 类和对象、继承和派生 369
实验内容 369
实验准备和说明 369
实验步骤 369
思考与练习 372
实验6 多态和虚函数、运算符重载 373
实验内容 373
实验准备和说明 373
实验步骤 373
思考与练习 377
实验7 输入/输出流库 377
实验内容 377
实验准备和说明 377
实验步骤 377
思考与练习 383
实验8 窗口、消息及调试 383
实验内容 383
实验准备和说明 383
实验步骤 383
思考与练习 388
实验9 对话框和按钮控件 389
实验内容 389
实验准备和说明 389
实验步骤 389
思考与练习 391
实验10 编辑框、列表框和组合框 391
实验内容 391
实验准备和说明 391
实验步骤 391
思考与练习 395
实验11 进展条、滚动条和滑动条 395
实验内容 395
实验准备和说明 395
实验步骤 396
思考与练习 400
实验12 基本界面元素 400
实验内容 400
实验准备和说明 400
实验步骤 400
思考与练习 404
实验13 数据、文档和视图 404
实验内容 404
实验准备和说明 404
实验步骤 404
思考与练习 404
实验14 图形和文本 405
实验内容 405
实验准备和说明 405
实验步骤 405
思考与练习 405
实验15 ADO数据库编程 406
实验内容 406
实验准备和说明 406
实验步骤 406
思考与练习 413
实验16 ODBC数据库编程 413
实验内容 413
实验准备和说明 413
实验步骤 414
思考与练习 420
第4部分 综合应用实习
题目1 学生成绩管理程序(C++版) 421
所需知识 421
难度级别 421
目的 421
要求 421
实现方法 421
题目2 学生学习成绩管理程序(MFC版) 427
所需知识 427
难度级别 427
目的 427
建议 427
要求 427
界面设计原则 427
方案 428
实现方法 429
第5部分 附 录
附录A 运算符优先级和结合性 434
附录B 字符串类型和CString类 435
附录C 常用C++库函数及类库 439
附录D 匈牙利的命名规则 440