图书介绍

零基础学Visual C++ 第4版PDF|Epub|txt|kindle电子书版本网盘下载

零基础学Visual C++ 第4版
  • 申远,古万荣等编著 著
  • 出版社: 北京:机械工业出版社
  • ISBN:9787111468608
  • 出版时间:2014
  • 标注页数:500页
  • 文件大小:89MB
  • 文件页数:522页
  • 主题词:C语言-程序设计

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

零基础学Visual C++ 第4版PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第一篇Visual C+和C+基础篇1

第1章 Visual C++6.0开发环境和应用程序框架1

1.1 安装并测试Visual C++ 6.01

1.1.1 Visual C++ 6.0的安装1

1.1.2 Visual C++ 6.0开发环境4

1.1.3 Visual C++ 6.0应用程序向导和项目创建5

1.2 Visual C++ 6.0简介7

1.2.1 C/C++编译器7

1.2.2 代码编辑器7

1.2.3 资源编辑器和资源符号8

1.2.4 连接器和调试器9

1.2.5 Visual C++ 6.0的主要菜单项9

1.2.6 项目和解决方案15

1.2.7 本机帮助和联机帮助15

1.3 Visual C++ 6.0中的编程库16

1.3.1 C++标准库16

1.3.2 C运行时库18

1.3.3 活动模板库18

1.3.4 微软基础类库19

1.4 Win32基本应用程序的创建19

1.4.1 AppWizard应用程序向导19

1.4.2 生成Win32应用程序20

1.4.3 Visual C++ 6.0的调试:变量跟踪和函数调用栈24

1.5 Microsoft应用程序框架25

1.5.1 全局对象25

1.5.2 MFC的消息映射和消息分类26

1.6 实例:编写第一个C++程序:Hello, C++!26

1.7 实例:创建第一个MFC程序:Hello, MFC!28

1.8 小结29

1.9 习题29

第2章 C++语法基础30

2.1 C++简介30

2.2 数据类型定义和使用31

2.2.1 简单变量31

2.2.2 算术运算符35

2.2.3 枚举、指针和数组36

2.2.4 string类和C风格字符串39

2.2.5 结构体类型41

2.2.6 类类型42

2.2.7 实例:成绩管理系统(1.0版)46

2.3 运算符、表达式和语句49

2.3.1 几种常用的运算符49

2.3.2 循环语句51

2.3.3 判断语句53

2.3.4 实例:成绩管理系统(2.0版)56

2.4 函数定义和调用59

2.4.1 定义函数和函数原型59

2.4.2 函数通过指针调用数组60

2.4.3 函数指针61

2.4.4 具有引用参数的函数62

2.4.5 函数重载64

2.4.6 函数模板的定义和使用66

2.4.7 实例:成绩管理系统(3.0版)67

2.5 类的定义和对象构造69

2.5.1 自然界中的类型和C++的类定义69

2.5.2 实现类成员函数71

2.5.3 实例化类对象并使用72

2.5.4 类的构造函数和析构函数73

2.5.5 运算符重载与this指针的使用75

2.5.6 友元函数和友元类77

2.5.7 实例:成绩管理系统(4.0版)79

2.6 类继承83

2.6.1 is-a关系83

2.6.2 多态公有继承85

2.6.3 protected访问控制87

2.6.4 抽象基类89

2.6.5 私有继承和保护继承89

2.6.6 多继承90

2.6.7 类模板91

2.7 C++异常机制91

2.7.1 异常处理类型92

2.7.2 exception类93

2.8 标准模板库94

2.8.1 auto_ptr类的使用94

2.8.2 vector模板类的定义和使用94

2.8.3 通用算法96

2.8.4 实例:使用STL和通用算法开发成绩管理系统(5.0版)97

2.9 I/O流和文件102

2.9.1 C++的输入和输出102

2.9.2 文件输入和输出103

2.9.3 实例:在Visual C++ 6.0环境下创建C++源文件,使用磁盘文件读写103

2.10 小结104

2.11 习题105

第3章 Windows编程与MFC基础107

3.1 Windows编程基础107

3.1.1 Windows API函数107

3.1.2 窗口与句柄107

3.1.3 事件与消息108

3.1.4 常用的Windows数据类型109

3.2 Windows应用程序分析109

3.2.1 WinMain()函数110

3.2.2 创建窗口110

3.2.3 消息循环111

3.2.4 WinProc窗口函数112

3.2.5 Windows编程实例113

3.3 MFC基础115

3.3.1 MFC概述115

3.3.2 MFC基础类及其层次结构115

3.3.3 MFC中的全局函数116

3.4 MFC应用程序框架分析117

3.4.1 入口函数117

3.4.2 应用程序对象119

3.4.3 InitInstance()函数119

3.4.4 Run()函数120

3.4.5 MFC的消息映射121

3.4.6 MFC消息分类122

3.4.7 在Visual C++ 6.0中添加消息映射123

3.5 小结125

3.6 习题125

第二篇Visual C+常用类、控件、资源篇127

第4章 基本输入——键盘和鼠标消息127

4.1 键盘消息及其处理127

4.1.1 键盘消息127

4.1.2 键盘消息处理128

4.1.3 按键消息处理129

4.1.4 按键消息处理函数131

4.1.5 字符消息处理133

4.1.6 创建键盘插入符136

4.2 鼠标消息及其处理138

4.2.1 鼠标消息138

4.2.2 鼠标消息处理函数138

4.2.3 鼠标消息处理实例139

4.2.4 鼠标光标的创建与使用142

4.2.5 捕捉鼠标143

4.2.6 锁定鼠标的作用区域144

4.3 自定义发送窗口消息145

4.4 小结147

4.5 习题148

第5章 菜单、工具栏和状态栏编程149

5.1 菜单及其相关资源的使用149

5.1.1 菜单的种类及开发步骤149

5.1.2 菜单的创建与编辑150

5.1.3 菜单消息151

5.1.4 菜单命令消息的处理152

5.1.5 菜单更新消息的处理154

5.1.6 为菜单项设置快捷键156

5.1.7 弹出菜单的创建与使用157

5.2 工具栏的使用160

5.2.1 工具栏的功能160

5.2.2 工具栏的创建160

5.2.3 编辑工具栏162

5.2.4 工具栏命令处理163

5.2.5 工具栏类CToolBar的简单介绍163

5.3 状态栏的使用164

5.3.1 状态栏的功能164

5.3.2 状态栏的创建164

5.3.3 状态栏编程166

5.3.4 状态栏类CStatusBar的简单介绍168

5.4 小结169

5.5 习题169

第6章 使用Windows标准控件171

6.1 Windows标准控件171

6.1.1 Windows控件简介172

6.1.2 使用对话框编辑器创建控件172

6.1.3 控件类的基类CWnd174

6.1.4 控件的消息及其处理175

6.1.5 Visual C++ 6.0的控件工具箱175

6.2 按钮控件177

6.2.1 按钮控件简介177

6.2.2 按钮控件类CButton178

6.2.3 按钮控件的属性与消息178

6.2.4 按钮状态的确定180

6.2.5 按钮控件使用实例182

6.3 静态控件与编辑控件186

6.3.1 静态控件的创建与使用186

6.3.2 静态控件类CStatic187

6.3.3 编辑控件的创建187

6.3.4 编辑控件类CEdit188

6.3.5 编辑控件的消息190

6.3.6 编辑控件的应用实例190

6.4 列表框控件和组合框控件192

6.4.1 列表框控件的创建192

6.4.2 列表框控件类CListBox193

6.4.3 列表框控件的消息195

6.4.4 列表框控件实例195

6.4.5 组合框控件的创建197

6.4.6 组合框控件类CComboBox198

6.4.7 组合框控件的消息199

6.5 微调控件、滑块控件和进度条200

6.5.1 微调控件的创建200

6.5.2 微调控件的使用201

6.5.3 滑块控件的创建203

6.5.4 滑块控件的使用203

6.5.5 进度条控件的创建及使用205

6.5.6 微调控件、滑块控件和进度条编程实例206

6.6 列表视图控件207

6.6.1 列表视图控件的创建207

6.6.2 列表视图控件类CListCtrl208

6.6.3 列表视图控件的通知消息210

6.7 树形视图控件211

6.7.1 树形视图控件的创建211

6.7.2 树形视图控件类CTreeCtrl212

6.7.3 树形视图控件的消息214

6.8 列表视图和树形视图编程实例214

6.9 动态创建Windows控件218

6.10 ActiveX控件的使用219

6.10.1 ActiveX控件的结构219

6.10.2 Visual C++中的组件和控件库220

6.10.3 MFC程序中ActiveX控件的使用221

6.10.4 ActiveX控件使用实例222

6.11 小结226

6.12 习题226

第7章 MFC常用的通用类228

7.1 字符串类228

7.1.1 CString对象的创建228

7.1.2 CString类的成员函数229

7.1.3 CString类的常用操作230

7.1.4 CString的格式化与类型转换232

7.2 集合类234

7.2.1 数组类234

7.2.2 数组类的使用实例235

7.2.3 链表类237

7.2.4 链表类使用实例239

7.3 日期、时间类241

7.3.1 CTime类241

7.3.2 CTime对象的格式化242

7.3.3 CTimeSpan类243

7.3.4 计时器的使用245

7.4 MFC文件操作类(CFile)246

7.4.1 构造文件对象并打开文件246

7.4.2 文件的读写操作247

7.4.3 文件的定位操作248

7.4.4 文件的管理操作249

7.4.5 使用CFile类进行文件操作实例250

7.4.6 使用CStdioFile类操作文件252

7.5 异常类253

7.5.1 异常类简介253

7.5.2 文件异常类CFileException254

7.5.3 异常的捕获255

7.6 小结256

7.7 习题257

第8章 文本、图形输出258

8.1 基础知识258

8.1.1 GDI绘图的实现258

8.1.2 MFC图形对象类259

8.1.3 库存GDI对象260

8.1.4 与图形绘制有关的简单数据类型260

8.1.5 MFC应用程序框架中的图形绘制与刷新262

8.2 MFC设备描述表(CDC类)263

8.2.1 CDC及其派生类263

8.2.2 输出文本265

8.2.3 CDC的常用绘图函数267

8.3 使用画笔和画刷进行绘图269

8.3.1 画笔对象及其使用269

8.3.2 使用画笔绘图实例270

8.3.3 画刷对象及其使用271

8.3.4 使用画刷绘图实例272

8.4 小结274

8.5 习题274

第三篇Visual C+基本应用程序开发篇275

第9章 文档/视图结构的应用程序开发275

9.1 文档/视图结构概述275

9.2 单文档界面应用程序276

9.2.1 单文档界面简介276

9.2.2 创建单文档程序框架276

9.2.3 程序框架中的主要类及其相互关系280

9.2.4 文档类、视图类核心函数及作用281

9.2.5 新建、保存和打开的实现282

9.3 多文档界面应用程序284

9.3.1 多文档界面简介284

9.3.2 多文档应用程序的框架284

9.4 文档/视图结构应用程序的开发285

9.4.1 实现目标285

9.4.2 创建基本的程序框架286

9.4.3 创建文档数据287

9.4.4 在视图类中实现绘图操作288

9.4.5 文档的序列化290

9.4.6 对例程数据进行序列化294

9.4.7 让文档程序支持滚动条297

9.5 小结299

9.6 习题299

第10章 对话框的应用301

10.1 对话框的工作方式、种类和创建方法301

10.1.1 对话框在应用程序中的工作方式301

10.1.2 模态对话框301

10.1.3 非模态对话框302

10.1.4 对话框模板的创建与编辑302

10.2 对话框与程序连接304

10.2.1 创建对话框类305

10.2.2 为对话框类添加成员变量305

10.2.3 对话框数据交换与验证306

10.2.4 对话框控件通知消息的处理308

10.3 对话框的创建与显示310

10.3.1 创建模态对话框310

10.3.2 创建非模态对话框312

10.3.3 非模态对话框创建实例313

10.3.4 基于对话框的应用程序317

10.4 消息对话框与公用对话框319

10.4.1 消息对话框320

10.4.2 颜色对话框322

10.4.3 文件对话框323

10.4.4 字体对话框324

10.4.5 查找、替换对话框326

10.4.6 打印对话框329

10.4.7 公用对话框使用实例330

10.5 小结335

10.6 习题335

第11章 动态链接库编程336

11.1 认识动态链接库336

11.1.1 动态链接库的概念336

11.1.2 动态链接库的优点337

11.1.3 Visual C++ 6.0可开发的DLL类型338

11.1.4 DLL文件的组成338

11.2 DLL的创建与调用339

11.2.1 Win32 DLL的创建340

11.2.2 DLL的导出341

11.2.3 应用程序链接DLL342

11.2.4 隐式链接342

11.2.5 显式链接344

11.3 MFC常规DLL345

11.3.1 MFC常规DLL的概念346

11.3.2 MFC常规DLL的创建346

11.3.3 MFC常规DLL创建实例347

11.3.4 MFC常规DLL的调用349

11.4 MFC扩展DLL350

11.4.1 MFC扩展DLL的创建350

11.4.2 MFC扩展DLL的创建实例351

11.4.3 MFC扩展DLL的调用354

11.5 DLL的查看与调试355

11.5.1 查看DLL355

11.5.2 调试DLL355

11.6 小结356

11.7 习题356

第四篇Visual C+程序开发提高篇358

第12章 多线程程序开发358

12.1 多线程的引入358

12.1.1 单线程程序的不足358

12.1.2 问题的解决359

12.2 多线程编程的基础知识360

12.2.1 进程和线程360

12.2.2 SPy++++工具360

12.2.3 Win32 API对多线程编程的支持361

12.2.4 MFC对多线程编程的支持364

12.3 多线程程序开发367

12.3.1 使用Win32 API函数开多线程程序368

12.3.2 MFC用户界面线程的开发370

12.3.3 MFC工作者线程的开发374

12.4 线程间的通信374

12.4.1 使用全局变量实现线程间的通信374

12.4.2 使用事件对象实现线程间的通信377

12.4.3 使用自定义的消息实现线程间的通信378

12.5 线程的同步381

12.5.1 等待函数381

12.5.2 使用CEvent类实现线程同步的方法382

12.5.3 使用CEvent类实现线程同步的实例383

12.5.4 使用CCriticalSection类实现线程同步385

12.5.5 使用CCriticalSection类实现线程同步的实例387

12.6 线程和进程的优先级390

12.6.1 优先级的意义390

12.6.2 进程的优先级390

12.6.3 线程的优先级391

12.6 小结392

12.7 习题392

第13章 Visual C++数据库编程394

13.1 数据库基础394

13.1.1 数据库的基本概念394

13.1.2 数据库管理系统395

13.1.3 几种流行的数据库395

13.1.4 结构化查询语言(SQL)397

13.2 数据库开发技术简介400

13.2.1 ODBC技术400

13.2.2 DAO技术402

13.2.3 ADO技术402

13.3 在Visual C++中使用ADO开发数据库应用程序404

13.3.1 Visual C++对ADO的支持404

13.3.2 创建数据库与实例工程405

13.3.3 引入ADO对象408

13.3.4 连接数据源408

13.3.5 开发技术——连接对象409

13.3.6 创建表并添加数据411

13.3.7 开发技术——ADO对象命令的执行412

13.3.8 开发技术——Recordset对象413

13.3.9 遍历、删除、编辑记录的实现419

13.4 使用ODBC数据源连接数据库423

13.4.1 手动实现设置ODBC数据源423

13.4.2 ADO连接ODBC数据源425

13.4.3 Visual C++程序实现设置ODBC数据源425

13.4.4 使用Visual C++程序设置ODBC数据源实例426

13.5 小结427

13.6 习题427

第14章 Visual C++网络编程430

14.1 网络通信及开发基础430

14.1.1 网络传输协议430

14.1.2 TCP/IP协议432

14.1.3 Windows Sockets基础432

14.1.4 客户端/服务器模式433

14.2 基本网络通信开发433

14.2.1 CAsyncSocket类及常用成员函数的使用433

14.2.2 使用W inSock进行无连接的通信437

14.2.3 无连接通信实例438

14.2.4 使用WinSock进行有连接的通信442

14.2.5 有连接通信实例443

14.3 网络程序设计与开发447

14.3.1 网络程序的一些概念447

14.3.2 Socket事件447

14.3.3 Socket事件的激发控制448

14.3.4 Socket信息的获取与处理449

14.3.5 网络程序开发实例451

14.4 WinInet开发Internet客户端程序458

14.4.1 MFC WinInet开发包458

14.4.2 WinInet开发客户端程序的流程460

14.4.3 WinInet开发HTTP客户端程序实例461

14.6 实现点对点通信463

14.6.1 什么是点对点通信463

14.6.2 什么是UDP协议464

14.6.3 UDP点对点实例465

14.7 小结468

14.8 练习468

第15章 使用Visual C++ 6.0开发家庭财务管理系统470

15.1 提出问题:设计一个家庭财务管理系统470

15.1.1 功能概述470

15.1.2 界面需求471

15.2 数据库设计471

15.2.1 数据关系分析471

15.2.2 E-R图设计472

15.2.3 数据库表的生成473

15.3 算法设计474

15.3.1 连接数据库474

15.3.2 添加数据475

15.3.3 修改数据库内容475

15.3.4 统计数据库信息476

15.4 软件项目开发过程476

15.4.1 开发家庭财务管理系统项目的流程476

15.4.2 根据E-R图创建数据库表476

15.4.3 功能研发的准备工作478

15.4.4 实现算法设计481

15.4.5 测试484

15.5 小结485

第16章 常见的面试题及解答技巧486

16.1 理论基础知识:数学、智力题486

面试题1:请把一盒蛋糕切成8份,分给8个人,但蛋糕盒里还必须留有一份486

面试题2:小猫奔跑问题486

面试题3: 4、 4、 10和7,各出现一次,运用加、减、乘、除,怎么得出24486

面试题4:为什么下水道的盖子是圆的486

面试题5:美国有多少辆私家车487

面试题6:为什么镜子中的影像可以颠倒左右,却不能颠倒上下487

面试题7:请估算一下密西西比河的水的总质量487

16.2 程序设计问答题487

面试题8:如何理解面向对象和面向过程?用C++编写的程序就是面向对象程序吗487

面试题9:在C/C++程序设计中,局部变量能否和全局变量重名488

面试题10:如何引用一个已经定义过的全局变量488

面试题11:全局变量可不可以定义在可被多个.C文件包含的头文件中488

面试题12: static全局变量与普通的全局变量有什么区别488

面试题13:对于一个频繁使用的短小函数,在C和C++语言中分别用什么488

面试题14:关键字const有什么含义488

面试题15:虚函数和普通函数有什么不同488

面试题16:抽象基类不能实例化,为什么还有抽象基类这个语法特性489

面试题17:在C++程序设计语言中,vector和数组有何不同489

面试题18: C++编译器自动完成和调用了哪些函数489

面试题19:为什么要定义拷贝构造函数489

面试题20:名称空间有何作用489

面试题21:在构造函数中初始化和使用初始化列表有什么不同490

面试题22:为什么要避免数据成员放在公共域中490

面试题23:为什么要尽量定义const490

面试题24: C和C++的注释风格有何不同,为什么尽量选择C++风格的注释490

面试题25:程序编译时编译器会有一些警告信息,你如何看待这些警告信息491

16.3 计算机理论知识题491

面试题26:基本的数据结构有哪些类型491

面试题27:什么是平衡二叉树(AVL树)491

面试题28:给出一系列的二进制码,如何判断这些编码是前缀码492

面试题29:什么是左式堆492

面试题30:请简单阐述3NF(第三范式)和BCNF(巴克斯范式)的基本概念492

面试题31:数据库并发操作可能会带来什么问题?如何防止这些问题492

面试题32:简述CMM和CMMI492

面试题33:在一个查询中,使用哪一个关键字能够除去重复列值493

面试题34:什么是快照?它的作用是什么493

面试题35:简述存储过程和触发器的相关概念493

面试题36: SQL Server 2000是否支持行级锁定,有什么好处493

面试题37:事务是什么?事务具备哪些特性493

面试题38:事前触发和事后触发有何区别?语句级触发和行级触发有何区别494

面试题39:解决死锁的方法有哪些494

面试题40:提高数据库运行效率的办法有哪些494

面试题41:根据你的工作经验,简述数据库的设计过程495

面试题42:在为视图创建索引前,视图本身必须满足哪些条件495

面试题43:什么是SQL Server的确定性函数和不确定性函数495

面试题44:哪类视图是可以更新的?哪类视图是不可更新的?各举一例说明495

面试题45:是否所有视图都可以更新?为什么495

面试题46:什么是基本表?什么是视图496

面试题47:数据库中为什么要有视图,试述视图的优点496

16.4 程序设计与算法题496

面试题48:使用C++,输入一个字符串,将其逆序后输出496

面试题49:判断给定代码是否有问题496

面试题50:用C++编写判断操作系统是16位还是32位的程序,不能用sizeof()497

面试题51:在不用第三方参数的情况下交换两个参数的值497

面试题52:程序解读,判断问题497

面试题53:使用SQL语句进行数据库建表与查询498

面试题54:编写一个算法,利用栈的基本运算返回指定栈的栈底元素498

面试题55:请写出两种中序遍历二叉树的方法499

面试题56:请简述哈夫曼树的意义及其创建过程499

16.5 小结500

热门推荐