图书介绍

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

零基础学Visual C++
  • 谢贤芳,古万荣等编著 著
  • 出版社: 北京:机械工业出版社
  • ISBN:9787111372875
  • 出版时间:2012
  • 标注页数:536页
  • 文件大小:186MB
  • 文件页数:555页
  • 主题词:C语言-程序设计

PDF下载


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

下载说明

零基础学Visual C++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开发环境5

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

1.2 Visual C++6.0简介7

1.2.1 C/C++编译器7

1.2.2编辑器8

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

1.2.4连接器和调试器9

1.2.5 Visual C++6.0的主要菜单项功能10

1.2.6项目和解决方案15

1.2.7本机帮助和联机帮助15

1.3 Win32基本应用程序的创建15

1.3.1使用AppWizard应用程序向导15

1.3.2 Win32应用程序的生成17

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

1.4 Microsoft应用程序框架22

1.4.1全局对象22

1.4.2 MFC的消息映射和消息分类22

1.5实例:编写第一个C++程序——Hello,C++!23

1.6实例:创建第一个MFC程序——Hello,MFC!25

1.7小结25

1.8上机实践练习26

第2章C++语法基础27

2.1 C++简介27

2.2数据类型定义和使用28

2.2.1简单变量28

2.2.2算术运算符32

2.2.3枚举、指针和数组33

2.2.4 string类和C风格字符串36

2.2.5结构体类型38

2.2.6类类型39

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

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

2.3.1几种常用的运算符46

2.3.2循环语句:for语句、while语句和do…while语句48

2.3.3判断语句:if语句和switch语句50

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

2.4函数定义和调用57

2.4.1定义函数和函数原型57

2.4.2函数通过指针来调用数组58

2.4.3函数指针59

2.4.4具有引用参数的函数59

2.4.5函数重载62

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

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

2.5类的定义和对象构造67

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

2.5.2实现类成员函数69

2.5.3实例化类对象并使用71

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

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

2.5.6友元函数和友元类75

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

2.6类继承82

2.6.1 is-a关系82

2.6.2多态公有继承84

2.6.3 protected访问控制86

2.6.4抽象基类88

2.6.5私有继承和保护继承88

2.6.6多继承89

2.6.7类模板90

2.7 C++异常机制91

2.7.1异常处理类型91

2.7.2 exception类93

2.8标准模板库(STL)93

2.8.1 auto_ptr类的使用93

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

2.8.3通用算法95

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

2.9 I/O流和文件102

2.9.1 C++的输入和输出102

2.9.2文件输入和输出102

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

2.10小结104

2.11上机实践练习105

第3章Windows编程与MFC基础106

3.1 Windows编程基础106

3.1.1 Windows API函数106

3.1.2窗口与句柄106

3.1.3事件与消息107

3.1.4常用的Windows数据类型108

3.2 Windows应用程序分析108

3.2.1 WinMain函数109

3.2.2创建窗口109

3.2.3消息循环110

3.2.4 WinProc窗口函数111

3.2.5 Windows编程实例112

3.3 MFC基础114

3.3.1 MFC概述114

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

3.3.3 MFC中的全局函数116

3.4 MFC应用程序框架分析116

3.4.1入口函数116

3.4.2应用程序对象117

3.4.3 InitInstance函数118

3.4.4 Run函数119

3.4.5 MFC的消息映射121

3.4.6 MFC消息分类121

3.5小结123

3.6上机实践练习123

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

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

4.1键盘消息及其处理125

4.1.1键盘消息125

4.1.2键盘消息处理126

4.1.3按键消息的处理126

4.1.4按键消息处理函数128

4.1.5字符消息的处理131

4.1.6创建键盘插入符134

4.2鼠标消息及其处理137

4.2.1鼠标消息137

4.2.2鼠标消息处理函数137

4.2.3鼠标消息处理实例138

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

4.2.5捕捉鼠标143

4.2.6锁定鼠标的作用区域143

4.3小结144

4.4上机实践练习144

第55章 菜单、工具栏和状态栏编程146

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

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

5.1.2菜单的创建与编辑147

5.1.3菜单消息149

5.1.4菜单命令消息的处理149

5.1.5菜单更新消息的处理151

5.1.6为菜单项设置快捷键154

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

5.2工具栏的使用158

5.2.1工具栏的创建159

5.2.2编辑工具栏161

5.2.3工具栏命令处理162

5.2.4工具栏类CToolBar的简单介绍162

5.3状态栏的使用163

5.3.1状态栏的创建163

5.3.2状态栏编程164

5.3.3状态栏类CStatusBar的简单介绍167

5.4小结168

5.5上机实践练习168

第6章 使用Windows标准控件170

6.1 Windows标准控件170

6.1.1 Windows控件简介171

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

6.1.3控件类的基类CWnd173

6.1.4控件的消息及其处理175

6.2按钮控件175

6.2.1按钮控件简介176

6.2.2按钮控件类CButton176

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

6.2.4按钮状态的确定178

6.2.5按钮控件使用实例179

6.3静态控件与编辑控件184

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

6.3.2静态控件类CStatic185

6.3.3编辑控件的创建185

6.3.4编辑控件类CEdit186

6.3.5编辑控件的消息188

6.3.6编辑控件的应用实例188

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

6.4.1列表框控件的创建190

6.4.2列表框控件类CListBox191

6.4.3列表框控件的消息193

6.4.4列表框控件实例193

6.4.5组合框控件的创建196

6.4.6组合框控件类CComboBox197

6.4.7组合框控件的消息198

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

6.5.1微调控件的创建198

6.5.2微调控件的使用199

6.5.3滑块控件的创建201

6.5.4滑块控件的使用202

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

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

6.6列表视图控件和树形视图控件206

6.6.1列表视图控件的创建206

6.6.2列表视图控件类CListCtrl207

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

6.6.4树形视图控件的创建209

6.6.5树形视图控件类CTrecCtrl210

6.6.6树形视图控件的消息212

6.6.7列表视图和树形视图编程实例213

6.7 ActiveX控件的使用216

6.7.1 ActiveX控件的结构217

6.7.2 Visual C++中的组件和控件库218

6.7.3 MFC程序中ActiveX控件的使用218

6.7.4 ActiveX控件使用实例219

6.8小结224

6.9上机实践练习224

第7章MFC常用的通用类225

7.1字符串类(CString)225

7.1.1 CString对象的创建225

7.1.2 CString类的成员函数226

7.1.3 CString类的常用操作227

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

7.2 MFC的集合类230

7.2.1数组类231

7.2.2数组类的使用实例231

7.2.3链表类233

7.2.4链表类的使用实例235

7.3日期、时间类237

7.3.1 CTime类238

7.3.2 CTime对象的格式化239

7.3.3 CTimeSpan类240

7.3.4计时器的使用241

7.4 MFC文件操作类(CFile)242

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

7.4.2文件的读写操作243

7.4.3文件的定位操作244

7.4.4文件的管理操作245

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

7.5 MFC异常类248

7.5.1 MFC异常类简介248

7.5.2文件异常类CFileException249

7.5.3异常的捕获250

7.6小结251

7.7上机实践练习252

第8章 文本、图形输出253

8.1基础知识253

8.1.1 GDI绘图的实现253

8.1.2 MFC图形对象类254

8.1.3库存GDI对象255

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

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

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

8.2.1 CDC及其派生类258

8.2.2文本输出260

8.2.3 CDC的常用绘图函数262

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

8.3.1画笔对象及其使用265

8.3.2使用画笔绘图实例266

8.3.3画刷对象及其使用267

8.3.4使用画刷绘图实例268

8.4字体对象270

8.4.1字体对象的创建270

8.4.2获取字体信息272

8.4.3字体对象使用实例273

8.5位图和区域对象274

8.5.1设备相关位图(DDB)274

8.5.2 CBitmap应用实例276

8.5.3设备无关位图(DIB)277

8.5.4区域对象(CRgn )278

8.5.5 CRgn应用实例279

8.6坐标系统与映射模式281

8.6.1坐标系统281

8.6.2映射模式281

8.6.3自定义映射模式283

8.6.4坐标映射使用实例283

8.7小结285

8.8上机实践练习285

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

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

9.1文档/视图结构287

9.1.1文档/视图结构概述287

9.1.2文档/视图结构的分类288

9.2文档/视图结构应用程序框架分析289

9.2.1利用AppWizard创建单文档程序框架289

9.2.2程序框架中的主要类及相互关系292

9.2.3文档类、视图类核心函数及作用294

9.2.4新建、保存和打开的实现295

9.2.5多文档应用程序框架296

9.3文档/视图结构应用程序的开发298

9.3.1实现目标298

9.3.2创建基本的程序框架298

9.3.3创建文档数据300

9.3.4在视图类中实现绘图操作300

9.3.5文档的序列化304

9.3.6对例程数据进行序列化308

9.3.7让文档程序支持滚动条311

9.4窗口分割与多视图313

9.4.1窗口分割基础知识313

9.4.2动态分割窗口的实现315

9.4.3静态分割窗口与多视图的实现317

9.5小结321

9.6上机实践练习321

第10章 对话框的应用322

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

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

10.1.2对话框的种类322

10.1.3对话框模板的创建与编辑324

10.2对话框与程序连接326

10.2.1创建对话框类326

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

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

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

10.3对话框的创建与显示332

10.3.1创建模态对话框332

10.3.2创建非模态对话框334

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

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

10.4属性表对话框342

10.4.1属性表对话框的创建342

10.4.2属性表对话框的运行机制345

10.5消息对话框与公用对话框347

10.5.1消息对话框347

10.5.2颜色对话框350

10.5.3文件对话框351

10.5.4字体对话框352

10.5.5查找、替换对话框354

10.5.6打印对话框356

10.5.7公用对话框使用实例358

10.6小结363

10.7上机实践练习363

第11章 动态链接库编程364

11.1基本概念364

11.1.1动态链接库的概念364

11.1.2动态链接库的优点365

11.1.3 Visual C++ 6.0可开发的DLL366

11.1.4 DLL文件的组成366

11.2 DLL的创建与调用367

11.2.1 Win32 DLL的创建367

11.2.2 DLL的导出368

11.2.3应用程序链接DLL369

11.3 MFC常规DLL的创建与使用373

11.3.1基本概念373

11.3.2 MFC常规DLL的创建374

11.3.3 MFC常规DLL创建实例375

11.3.4 MFC常规DLL的调用377

11.4 MFC扩展DLL的创建与使用378

11.4.1 MFC扩展DLL的创建378

11.4.2 MFC扩展DLL的创建实例379

11.4.3 MFC扩展DLL的调用383

11.5 DLL的查看与调试384

11.5.1使用Depends工具查看DLL接口384

11.5.2 DLL的调试384

11.6小结386

11.7上机实践练习386

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

第12章 多线程程序开发389

12.1多线程的引入389

12.1.1单线程程序的不足389

12.1.2问题的解决390

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

12.2.1进程和线程391

12.2.2 Spy++++工具391

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

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

12.3多线程程序开发399

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

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

12.3.3 MFC工作者线程的开发405

12.4线程间的通信406

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

12.4.2使用自定义的消息实现线程间的通信409

12.5线程的同步412

12.5.1等待函数412

12.5.2 CEvent类实现线程同步414

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

12.5.4 CCriticalSection类实现线程同步417

12.5.5 CCriticalSection类实现线程同步实例418

12.5.6 CSemaphore类实现线程同步421

12.5.7 CSemaphore类实现线程同步实例422

12.6小结423

12.7上机实践练习423

第13章Visual C++网络编程425

13.1网络通信及开发基础425

13.1.1 TCP/IP协议425

13.1.2 TCP/IP协议427

13.1.3 Windows Sockets基础427

13.1.4客户端/服务器模式428

13.2基本网络通信开发428

13.2.1 CAsyncSocket类及常用成员函数的使用428

13.2.2使用WinSock进行无连接的通信433

13.2.3无连接通信实例433

13.2.4使用WinSock进行有连接的通信438

13.2.5有连接通信实例438

13.3网络程序设计与开发443

13.3.1网络程序的一些概念443

13.3.2 Socket件443

13.3.3 Socket事件的激发控制444

13.3.4 Socket信息的获取与处理445

13.3.5网络程序开发实例447

13.4 WinInet开发Internet客户端程序455

13.4.1 MFC WinInet开发包455

13.4.2 WinInet开发客户端程序的流程457

13.4.3 WinInet开发HTTP客户端程序实例457

13.5简单的Web浏览器开发459

13.5.1 CHtmlView视图类简介459

13.5.2浏览器开发实例461

13.6小结465

13.7上机实践练习465

第14章Visual C++数据库编程467

14.1数据库基础467

14.1.1数据库的基本概念467

14.1.2数据库管理系统(DBMS)468

14.1.3结构化查询语言(SQL)468

14.2数据库开发技术简介471

14.2.1 ODBC API/MFC ODBC技术471

14.2.2 DAO技术473

14.2.3 ADO技术473

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

14.3.1 Visual C++对ADO的支持475

14.3.2创建数据库与实例工程476

14.3.3引入ADO对象479

14.3.4连接数据源479

14.3.5开发技术——连接对象(Connection)480

14.3.6创建表并添加数据482

14.3.7开发技术——ADO对象命令的执行483

14.3.8开发技术——Recordset对象485

14.3.9遍历、删除、编辑记录的实现491

14.4使用ODBC数据源连接数据库495

14.4.1手动实现设置ODBC数据源495

14.4.2 ADO连接ODBC数据源497

14.4.3 Visual C++程序实现设置ODBC数据源497

14.4.4使用Visual C++程序设置ODBC数据源实例498

14.5小结499

14.6上机实践练习500

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

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

15.1.1功能概述502

15.1.2界面需求503

15.2数据库设计503

15.2.1数据关系分析503

15.2.2 E-R图设计504

15.2.3数据库表的生成505

15.3算法设计506

15.3.1连接数据库506

15.3.2添加数据507

15.3.3修改数据库内容508

15.3.4统计数据库信息508

15.4软件项目开发过程508

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

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

15.4.3功能研发的准备工作510

15.4.4实现算法设计514

15.4.5测试517

15.5小结517

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

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

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

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

面试题3: 4、 4.10和7这4个数只使用一次,运用加、减、乘、除,怎么得出24519

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

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

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

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

16.2程序设计面试题520

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

16.3计算机理论知识题524

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

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

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

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

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

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

面试题32:简述CMM和CMMI526

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

16.4程序设计与算法题529

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

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

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

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

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

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

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

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

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

16.5小结534

热门推荐