《Visual C++轻松入门》PDF下载

  • 购买积分:11 如何计算积分?
  • 作  者:古万荣编著
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2009
  • ISBN:9787115194725
  • 页数:298 页
图书介绍:本书分为4篇,入门篇、MFC篇、数据库和网络编程篇、实例篇、入门篇主要讲解Visual C++学习方法指导、开发环境、数据类型、基本语法、函数、类、类继承、标准模板库、I/O流和文件;MFC篇间要讲解MFC 程序设计的基础知识,并辅以简单的示例,使读者迅速了解;数据库和网络编程篇主要讲解VC中使用ODBC、ADO和OLE DB进行数据库联接的方法;后本书通过两个综合实例(五子棋游戏、备忘录系统) 使读者对前面讲解的内容融汇贯通。

第1篇 玄奘取真经 必先收顽徒 2

第1章 明确学习目的是Visual C++入门的前提 2

1.1 明确学习目的和学习内容 2

1.1.1 收有用之徒:学好C++ 2

1.1.2 掌握MFC就等于驯服了一匹千里马 3

1.1.3 熟练掌握数据库理论、DLL和网络编程将会更进一步 3

1.2 Visual C+++6.0集成开发环境是必备工具 4

1.2.1 Visual C++6.0的安装 4

1.2.2 Visual C+++6.0操作界面 7

1.2.3 Visual C++6.0的主要菜单项功能 9

1.3 打印“Hello,Visual C++”迈出编程第一步 10

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

1.3.2 分析第一个程序的源代码 12

1.3.3 分析第一个程序都包含哪些必要文件 13

1.3.4 实例—创建第一个MFC程序:Hello,MFC! 13

1.4 小结 16

本章习题 16

第2章 C++++语法之数据类型 17

2.1 C++++发展历史和相关背景 17

2.2 常量和变量 18

2.2.1 常量的意义和使用 18

2.2.2 变量的意义和使用 18

2.3 简单变量的定义和使用 19

2.3.1 整型的定义和字长 20

2.3.2 浮点型的定义和字长 21

2.3.3 布尔类型的定义和运算 21

2.4 算术运算符的基本操作 22

2.5 枚举、指针和数组 23

2.5.1 用枚举来设定变量的取值 23

2.5.2 用指针表示变量的住址 24

2.5.3 数组:多车厢的火车 25

2.6 string类和C风格字符串 26

2.6.1 不好好学C++只能选择:C风格字符串 26

2.6.2 string如何解放C程序员的繁重劳动 27

2.7 数据类型是应用软件的细胞 28

2.8 结构体类型 29

2.9 “类”类型 31

2.9.1 “类”类型定义的语法形式 31

2.9.2 “类”类型的函数实现 32

2.10 小结 34

本章习题 35

第3章 随我心意选择性—条件语句 36

3.1 逻辑运算的种类 36

3.1.1 否定和否定联结词的含义 36

3.1.2 合取和合取联结词的含义 37

3.1.3 析取和析取联结词的含义 37

3.2 使用if语句分支处理 38

3.2.1 基本if语句的结构 39

3.2.2 if语句嵌套的配套规则 39

3.3 多分支语句:switch语句 40

3.4 实例—开关语句的使用 42

3.5 小结 43

本章习题 43

第4章 发挥计算机优势—循环语句 45

4.1 小学奥数题目难倒三藏师徒 45

4.1.1 “++”和“--”运算符 45

4.1.2 小学奥数题目:累加和累乘运算 46

4.1.3 使用for语句为小学生减负 46

4.1.4 用for语句搞定非连续的累加算法 47

4.2 另一道小学奥数题目分析 48

4.2.1 另一道小学奥数题目:累加次数计算 48

4.2.2 使用while语句再次解决小学生的苦恼 48

4.3 while的兄弟.do...while语句 49

4.4 中断循环语句的两件法宝..、 50

4.4.1 彻底出逃循环用break 50

4.4.2 跳入下一圈循环用continue 51

4.5 小结 52

本章习题 52

第5章 软件项目的功能模块—函数 53

5.1 定义函数和函数原型 53

5.1.1 想将功能集成怎么办:定义函数 53

5.1.2 告诉朋友我长什么样:函数原型 55

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

5.3 指向函数的指针 58

5.3.1 函数指针的由来 59

5.3.2 函数指针在项目中的应用 59

5.4 具有引用参数的函数 60

5.4.1 变量的引用 60

5.4.2 最经典的变量引用案例—两个数交换 61

5.4.3 指针也是别名 62

5.5 函数重载的使用 63

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

5.7 实例—定义和调用函数 65

5.8 小结 67

本章习题 67

第6章 给世界具体事物概括一个概念—类 69

6.1 自然界中的生物的概念概括:类 69

6.1.1 自然界中的生物的概念有生命吗?没有! 69

6.1.2 应用程序中的类有内存分配吗?没有! 70

6.2 概念中每个具体存在的对象:类的对象 72

6.2.1 自然界中的某个生物有生命吗?有! 72

6.2.2 应用程序中的类的对象有内存分配吗?有! 73

6.3 实例化类对象并使用 74

6.4 类的构造函数和析构函数 76

6.4.1 为什么需要构造函数? 76

6.4.2 类的私有成员的赋值方式 76

6.4.3 通过构造函数来初始化私有数据成员 77

6.4.4 类的析构函数 78

6.5 运算符重载与this指针的使用 79

6.5.1 为什么要定义重载的运算符 79

6.5.2 this指针在我肚子里指向我自己 79

6.6 友元函数和友元类 81

6.7 实例—定义类和使用类对象 82

6.8 小结 84

本章习题 84

第7章 代码重用的机制—类继承 86

7.1 自然界中的生物分类 86

7.2 多态公有继承 87

7.2.1 is.a关系:A是B的一种 88

7.2.2 不同类型的元素组成的数组 89

7.2.3 虚函数与动态联编 90

7.3 protected用在何处 91

7.4 抽象基类 92

7.4.1 纯虚函数的语法形式 92

7.4.2 抽象基类的派生类怎么改变抽象性质 93

7.5 私有继承和保护继承 95

7.6 多继承及其规则 96

7.7 类模板的定义和使用 97

7.8 小结 98

本章习题 98

第8章 标准模板库(STL) 99

8.1 vector模板类的定义和使用 99

8.1.1 vector模板类的定义和初始化 100

8.1.2 vector模板类常用的方法详解 101

8.1.3 迭代器的定义和使用 101

8.2 通用算法简介 103

8.2.1 序列的种类 103

8.2.2 拷贝函数的使用 104

8.2.3 排序函数的使用 105

8.3 auto_ptr类的使用 106

8.4 小结 107

本章习题 107

第9章 进出之道I/O流和文件 108

9.1 C++++的输入和输出 108

9.1.1 输出流对象cout 108

9.1.2 使用输出流对象的格式化功能 110

9.1.3 使用cin进行输入 111

9.2 文件输入和输出 112

9.3 小结 113

本章习题 113

第2篇 快马加鞭的良驹MFC 116

第10章 Windows应用程序介绍 116

10.1 Windows应用程序和MS.DOS风格应用程序 116

10.2 应用程序的类型 117

10.2.1 应用程序的类型简介 118

10.2.2 什么样的程序Win32应用程序 118

10.3 认识打印“Hello,World!”字符串的Win32应用程序 119

10.3.1 创建打印“Hello,World!.字符串的程序 119

10.3.2 分析Win32应用程序的必要结构 120

10.3.3 分析Win32应用程序中函数的关系和互动 120

10.3.4 更改Win32程序的默认代码实现自己的功能 121

10.3.5 创建空项目和简单的Win32应用程序 123

10.4 创建Win32Console应用程序 124

10.4.1 创建Win32控制台应用程序 124

10.4.2 分析Win32控制台应用程序的代码和必要组成 126

10.5 对话框应用程序 127

10.5.1 创建对话框MFC应用程序 127

10.5.2 分析对话框MFC应用程序的代码 128

10.6 动态链接库 129

10.6.1 动态链接库的优点和缺点 129

10.6.2 创建具有两个数相乘的函数动态链接库 129

10.7 单文档应用程序(SDI) 132

10.8 多文档应用程序(MDI) 133

10.9 MFC应用程序向导的功能 134

10.10 小结 137

本章习题 137

第11章 MFC对话框 138

11.1 两种不同类型的对话框 138

11.2 实例—计算器软件的开发 138

11.2.1 计算器界面设计 139

11.2.2 编辑控件和变量绑定 141

11.2.3 按钮控件与消息处理函数绑定 143

11.2.4 测试计算器程序 145

11.3 实例—模式对话框的创建和使用 146

11.3.1 创建单文档应用程序 146

11.3.2 创建对话框并在单文档应用程序中调用 147

11.3.3 将对话框中的数据传入单文档应用程序 150

11.4 Windows通用对话框 151

11.4.1 CFileDialog类—文件打开对话框的使用 152

11.4.2 CColorDialog类—调色板对话框的使用 153

11.4.3 CFindReplaceDialog类—字词查找和替换对话框的使用 154

11.4.4 CPageSetupDialog类—页面设置对话框的使用 154

11.4.5 CFontDialog类—字体设置对话框的使用 155

11.5 无模式对话框 156

11.6 小结 157

本章习题 157

第12章 Visual C++6.0控件是软件界面的积木 158

12.1 Visual C++6.0资源和通用控件 158

12.2 Visual C++6.0的控件工具箱详解 158

12.3 实例—简单控件的使用 160

12.4 标准通用控件的使用 163

12.4.1 进度指示器控件的使用 163

12.4.2 滑块控件的使用 165

12.4.3 列表控件的使用 166

12.4.4 树状控件 167

12.5 小结 168

本章习题 168

第13章 Windows的基本输入 169

13.1 键盘消息及其处理 169

13.1.1 巧妇难为无米之炊:没有键盘怎么行? 169

13.1.2 键盘消息处理函数 170

13.1.3 实例—键盘消息处理 171

13.2 鼠标消息及其处理 173

13.2.1 没有鼠标将永远DOS 173

13.2.2 鼠标消息处理函数的种类 174

13.2.3 实例—鼠标消息处理 174

13.3 小结 176

本章习题 176

第14章 工具栏和状态栏是直观的操作面板 178

14.1 Windows应用程序的工具栏和状态栏 178

14.2 工具栏按钮及其处理函数 179

14.2.1 工具栏位图和按钮的状态 179

14.2.2 工具栏的命令消息和更新命令消息 179

14.3 工具栏按钮中的提示信息 180

14.4 实例—使用工具栏的应用程序 180

14.5 状态栏的使用 183

14.5.1 状态栏的定义 183

14.5.2 信息行的显示 184

14.5.3 状态指示器的使用 184

14.6 实例—使用状态栏的程序设计 185

14.7 小结 187

本章习题 187

第15章 真正的Window一切分窗口和多视图 189

15.1 动态切分窗口和静态切分窗口 189

15.2 基于视图的应用程序分类 189

15.3 实例—简单动态切分窗口应用程序 190

15.4 实例—多视图静态切分窗口的开发 192

15.5 实例—多视图切换的开发 194

15.6 小结 197

本章习题 197

第16章 文档和视图的分离 198

16.1 什么是文档和视图 198

16.2 文档和视图的相互作用 199

16.2.1 获取当前文档:CView::GetDocument()函数 199

16.2.2 更新所有视图:CDocument::UpdateAliViews()函数 200

16.2.3 视图自我更新:CViews::OnUpdate()函数 200

16.2.4 初始化更新界面:CView::OnlnitialUpdate()函数 200

16.2.5 创建新文档:CDocument::OnNewDocument()函数 201

16.3 CView类常用的派生类 201

16.4 实例—一个多视图的SDI应用程序 202

16.4.1 项目创建和界面设计 202

16.4.2 编写学生信息源代码 202

16.4.3 编写文档源代码 204

16.4.4 编写视图源代码 204

16.5 小结 206

本章习题 207

第17章 文档的读和写 208

17.1 序列化理论 208

17.1.1 外存文件和内存文件 208

17.1.2 编写Serialize()函数 209

17.2 实例—支持序列化的应用程序 210

17.2.1 使用应用程序向导创建支持序列化的程序 210

17.2.2 重写CObject基类的序列化函数 211

17.2.3 界面设计 211

17.2.4 开发序列化功能 212

17.2.5 开发反序列化功能 214

17.3 小结 214

本章习题 214

第18章 二进制码功能模块一一动态链接库(DLL) 215

18.1 DLL理论基础 215

18.1.1 DLL导入和导出的原理 216

18.1.2 隐式和显式连接 216

18.1.3 符号和序号连接 217

18.1.4 DIIMain()函数 217

18.2 DLL使用实例—定义DLL函数并使用 217

18.2.1 创建MFCDLL自动化项目 218

18.2.2 添加自动化类和成员函数 218

18.2.3 在Windows中注册自定义的DLL动态链接库 220

18.2.4 使用非Visual C++应用程序调用自定义DLL 221

18.2.5 开发小结 222

18.3 小结 222

本章习题 223

第3篇 数据库和网络编程 226

第19章 通向数据库的桥梁—ODBC、ADO和OLEDB 226

19.1 数据库开发技术简介 226

19.1.1 当今常用的几种数据库管理系统DBMS 226

19.1.2 关系代数与数据库SQL语言简介 227

19.1.3 数据库SQL语言分类 227

19.1.4 使用SQL查询语言运行器 228

19.1.5 使用SQL查询技巧:投影和选择 230

19.2 在Visual C++6.0中使用ODBC进行数据库链接 231

19.2.1 ODBC概述 231

19.2.2 实现ODBC数据库操作的案例 231

19.3 在Visual C++6.0中使用ADO进行数据库链接 234

19.3.1 ADO的优越性 234

19.3.2 ADO对象模型 235

19.4 ADO数据库操作 235

19.4.1 利用Connection对象的Execute()方法执行SQL命令 236

19.4.2 利用Command对象来执行SQL命令 236

19.4.3 直接用Recordset对象进行查询取得记录集 236

19.4.4 使用ADO进行数据库连接的案例 237

19.5 OLEDB数据库操作模型 239

19.5.1 什么是OLEDB 239

19.5.2 OLEDB的组件构成 239

19.5.3 OLEDB在Visual C++中的使用案例 239

19.6 小结 241

本章习题 242

第20章 通向世界的桥梁—网络编程 243

20.1 网络模型和通信简介 243

20.1.1 TCP/IP模型和OSI七层参考模型 243

20.1.2 网络数据的传输和封装过程 244

20.2 WindowsSockets基础 245

20.2.1 套接字概述 246

20.2.2 WinSockAPI常用函数详解 246

20.2.3 MFC对WinSockAPI的封装 247

20.3 B/S模式和C/S模式 247

20.3.1 B/S与C/S模式详解 248

20.3.2 C/S与B/S的区别 248

20.4 局域网编程技术 249

20.4.1 网卡地址 249

20.4.2 获取计算机名称和IP 250

20.5 实例—开发简单的文本通信系统 250

20.5.1 服务器程序的开发 251

20.5.2 客户端程序开发 254

20.5.3 测试文本信息通信系统 257

20.6 小结 258

本章习题 259

第4篇 体验修炼成果 262

第21章 五子棋游戏 262

21.1 棋牌游戏种类及简介 262

21.2 五子棋游戏开发的基础和概要设计 263

21.2.1 游戏规则和效果 263

21.2.2 技术难点的解决方案 264

21.3 游戏项目的开发过程 264

21.3.1 创建程序和棋盘设计 265

21.3.2 放置棋子的功能开发 266

21.3.3 下棋约束功能 268

21.3.4 游戏获胜决断的开发 271

21.4 小结 274

第22章 工作备忘录管理系统 275

22.1 提出问题:设计一个备忘录 275

22.1.1 实例—尝试连接一个数据库 275

22.1.2 概要功能简介 279

22.1.3 界面需求 279

22.2 数据库设计 280

22.3 信息系统开发前的知识准备 281

22.4 软件项目开发过程 282

22.4.1 备忘录管理系统项目的流程 282

22.4.2 根据E.R图创建数据库表 283

22.4.3 插入备忘事项 284

22.4.4 备忘数据的显示 285

22.4.5 备忘数据的删除 288

22.4.6 备忘数据的修改 290

22.5 小结 293

附录 295