VisualC++2008程序设计完全自学教程

VisualC++2008程序设计完全自学教程"

作者:李淑馨、陈伟
ISBN:9787302199465
定价:¥59
字数:千字
页数:
出版时间:2009.06.01
开本:
版次:1-2
装帧:
出版社:清华大学出版社
简介

本书由Visual C++ 2008 Express 汇聚而成,在传统C/ C++与新式语法C++/CLI之间展开程序语言的魔幻旅程。

全书共20章,分为3篇:第一部分1~3章,为控制台基础篇,讲述Visual C++环境及C++语言基础;第二部分4~8章,为控制台应用篇,进一步讲述C++程序语言,包括数组和字符串、指针、函数、预处理器和宏,以及自定义数据类型(结构、枚举、联合)等程序语言中的经典内容;第三部分9~20章,为面向对象篇,从面向对象理念讲开去,让读者能用面向对象观点来理解Visual C++中的程序设计思想(对象与类、构造函数、类成员、继承、多态和虚拟函数),进而介绍如何通过Visual C++来创建Windows窗体程序,内容包括控件、菜单与对话框、事件与面板布局、多文档界面、设备上下文与基本绘图功能。

本书面向的是VC++初学者,但不仅仅是专门介绍VC的入门书籍。即便读者没有C++或是其他程序语言基础,通过本书也可窥到程序语言的运作及面向对象设计理念。

前言

前    言

C++作为一种普遍的技术,影响力不言而喻。Visual C++ 正是一种协助用户使用C++语言设计软件的很好工具。而本书即由Visual C++ 2008 Express 汇聚而成,在传统C/ C++与新式语法C++/CLI之间展开程序语言的魔幻旅程。

本书内容

全书共20章,分为3篇,主要内容如下:

第一部分1~3章,为控制台基础篇。讲述Visual C++环境及C++语言基础。

第二部分4~8章,为控制台应用篇。进一步讲述C++程序语言,包括数组和字符串、指针、函数、预处理器和宏,以及自定义数据类型(结构、枚举、联合)等程序语言中经典内容。

第三部分为全书重点,为面向对象篇,从第9章起至全书末。从面向对象理念讲开去,让读者能用面向对象观点来理解Visual C++中的程序设计思想(对象与类、构造函数、类成员、继承、多态和虚拟函数),进而介绍如何通过Visual C++来创建Windows窗体程序,内容包括控件、菜单与对话框、事件与面板布局、多文档界面、设备上下文与基本绘图功能。

www.booksaga.com网站提供所有范例的完整源代码,方便读者学习使用。

本书特点

● 难易适中:以简单易懂和循序渐进的方式来阐述基本概念及其应用。

● 内容丰富:基础语法、面向对象、窗体应用程序、文件操作、屏幕绘图等内容均有涉及。

● 范例注释详尽:对书中所有范例均附有详尽的注释说明,提高了程序代码的可读性,能有效降低学习障碍。

● 习题精选:章末均安排了大量的习题与编程实践题,方便检验学习效果。

目标读者

本书面向的是VC++初学者,但不仅仅是专门介绍VC的入门书籍。即便读者没有C++或是其他程序语言基础,透过本书也可窥到程序语言的运作及面向对象设计理念。全书避免了枯燥而乏味的理论知识,通过由浅入深的结构编排、大量范例的运用、说明及程序执行结果,让读者在每一章都学有所就。此外,本书还可作为一本Visual C++工具的有益参考书。

读者若需要提高的话,可以去看一些关于数据结构与算法设计、讲解MFC或是SDK及深入讲解C++语言以及隐藏在背后的思想的书籍。

本书由荣钦科技编著,由于时间仓促和作者水平有限,书中的错误和不妥之处在所难免,敬请读者批评指正。可以通过以下方式联系我们:booksaga@126.com。

编者

2009.3

目录

目    录

第1章  Visual C++ 2008环境架构 1

1.1  Visual Studio 2008概述 1

1.1.1  Visual Studio 2008有什么 1

1.1.2  Visual Studio 2008相关包 1

1.2  认识.NET Framework 3.5 2

1.2.1  何谓“公共语言运行库” 2

1.2.2  了解.Net Framework的类库 3

1.3  开发工具Visual C++ 2008 3

1.3.1  软件安装 3

1.3.2  启动Visual C++ 2008 7

1.3.3  Visual C++ 2008操作界面 8

1.3.4  项目和方案 10

1.3.5  操作环境相关设置 17

本章小结 23

本章习题 23

第2章  基本的C++结构 25

2.1  简单的C++程序 25

2.1.1  程序注释 26

2.1.2  预处理指令 27

2.1.3  命名空间避免冲突 27

2.1.4  主程序 28

2.1.5  数据的输入和输出 28

2.2  创建Visual C++项目 30

2.2.1  生成、执行项目 32

2.2.2  利用“命令提示”窗口执行程序 34

2.2.3  创建CLR控制台项目 36

2.2.4  以CLR编译程序 38

2.3  数据处理 40

2.3.1  标识符和保留字 40

2.3.2  基本数据类型 41

2.3.3  变量和常量 43

2.3.4  变量的生命周期 47

2.4  运算符 47

2.4.1  算术运算符 47

2.4.2  赋值运算符 48

2.4.3  关系运算符 48

2.4.4  逻辑运算符 50

2.4.5  自增和自减运算符 50

2.4.6  运算符的优先级 52

2.5  类型转换 52

2.5.1  类型自动转换 53

2.5.2  强制类型转换 53

本章小结 54

本章习题 55

第3章  流程控制 58

3.1  UML和结构化程序 58

3.1.1  UML组成要素 58

3.1.2  使用UML活动图 59

3.1.3  结构化程序 59

3.2  选择判断语句 60

3.2.1  单一选择 60

3.2.2  双重选择 62

3.2.3  多重选择判断 66

3.2.4  嵌套语句 69

3.2.5  适时过滤条件 72

3.3  循环语句 74

3.3.1  for循环 74

3.3.2  嵌套for循 78

3.3.3  while循环 79

3.3.4  后置处理的do…while循环 82

3.3.5  使用break和continue语句 83

本章小结 85

本章习题 86

第4章  数组和字符串 88

4.1  数组 88

4.1.1  数组声明 88

4.1.2  设定数组初始值 89

4.1.3  访问数组元素 90

4.1.4  取得空间大小 91

4.1.5  数组的应用 92

4.2  使用多维数组 96

4.2.1  二维数组初始化 96

4.2.2  二维数组的访问 96

4.3  字符串 98

4.3.1  字符串概述 98

4.3.2  字符串类型的转换 100

4.4  认识String类 102

4.4.1  创建字符串对象 102

4.4.2  String类使用的运算符 103

本章小结 105

本章习题 105

第5章  特殊类型变量——指针 108

5.1  创建指针 108

5.1.1  认识内存地址 108

5.1.2  声明指针变量 109

5.1.3  指针初始化 110

5.1.4  new运算符 112

5.1.5  指针的移动 114

5.1.6  托管指针和未托管指针 116

5.2  指针和数组 116

5.2.1  一维数组指针 117

5.2.2  二维数组指针 118

5.3  字符串与指针 120

5.3.1  使用字符串指针 120

5.3.2  字符串指针数组 122

5.4  指针的应用 124

5.4.1  创建动态指针 124

5.4.2  CLR与动态数组 126

5.4.3  指针的指针 128

本章小结 130

本章习题 131

第6章  函数提高程序模块化 134

6.1  函数的基本概念 134

6.1.1  定义函数 134

6.1.2  函数原型 137

6.1.3  传递参数 139

6.2  程序模块化 143

6.2.1  重载函数 143

6.2.2  函数指针 145

6.3  变量的等级 148

6.3.1  局部变量 148

6.3.2  全局变量 150

6.3.3  作用域解析运算符 151

6.3.4  静态变量 153

6.4  内联函数 154

6.4.1  处理数值的函数 154

6.4.2  数学运算函数 156

6.4.3  与字符串有关的函数 157

本章小结 158

本章习题 158

第7章  预处理器和宏 161

7.1  认识预处理器 161

7.2  宏指令 162

7.2.1  定义宏 162

7.2.2  函数宏 163

7.2.3  预处理运算符 164

7.3  条件宏 165

7.3.1  控制编译流程 165

7.3.2  判断宏是否定义 167

7.3.3  取消宏的定义 168

7.3.4  调试指令——#error 170

7.4  头文件的使用 170

7.4.1  引入头文件 170

7.4.2  自定义头文件 171

本章小结 174

本章习题 175

第8章  自定义数据类型 177

8.1  结构数据类型 177

8.1.1  定义结构 178

8.1.2  结构的使用 178

8.1.3  嵌套结构 182

8.1.4  结构数组 184

8.2  将结构自变量传递给函数 186

8.2.1  传递结构的整个字段 186

8.2.2  传递结构的地址 188

8.3  枚举数据类型 191

8.3.1  定义枚举 191

8.3.2  声明枚举变量 191

8.4  联合 193

8.4.1  联合定义 193

8.4.2  定义联合类型变量 193

本章小结 195

本章习题 195

第9章  对象和类 197

9.1  面向对象的世界 197

9.1.1  认识对象 197

9.1.2  认识类 198

9.2  面向对象的组成 199

9.2.1  数据抽象 199

9.2.2  抽象数据类型 200

9.2.3  方法 200

9.3  创建类和对象 200

9.3.1  创建类 200

9.3.2  声明数据成员 201

9.3.3  声明成员函数 201

9.3.4  使用作用域解析运算符 202

9.3.5  实例化对象 202

9.4  数据封装 205

9.4.1  访问权限 205

9.4.2  数据保护 208

9.5  认识inline函数 212

本章小结 214

本章习题 214

第10章  构造函数和类成员 217

10.1  对象的旅程 217

10.1.1  使用构造函数 217

10.1.2  析构函数清除对象 220

10.1.3  了解对象的生命周期 221

10.2  构造函数的种类 227

10.2.1  默认构造函数 227

10.2.2  拷贝构造函数 229

10.2.3  其他构造函数 233

10.3  类成员 233

10.3.1  认识类成员 233

10.3.2  静态属性 233

10.3.3  静态成员函数 234

10.4  对象和指针 237

10.4.1  访问对象指针 237

10.4.2  动态分配对象 238

10.4.3  指向对象的this指针 240

本章小结 241

本章习题 242

第11章   类继承和友元关系 244

11.1  了解继承 244

11.1.1  泛化和特化 245

11.1.2  为什么要有继承机制 245

11.2  类的继承 245

11.2.1  继承的访问 246

11.2.2  Private访问范围 246

11.2.3  Protected访问范围 248

11.2.4  Publice访问范围 250

11.3  继承与成员之间的互动 251

11.3.1  继承与数据成员 251

11.3.2  继承与成员函数 254

11.3.3  构造函数的调用 256

11.4  友元关系 261

11.4.1  友元类 261

11.4.2  友元函数 263

11.4.3  友元的继承 266

11.5  多重继承机制 267

11.5.1  认识类的多重继承 267

11.5.2  虚拟继承机制 270

11.6  组合模式 272

本章小结 274

本章习题 275

第12章  多态与虚拟函数 278

12.1  多态操作 278

12.1.1  认识消息 278

12.1.2  动态绑定 279

12.2  运算的多态性 279

12.2.1  +运算符 279

12.2.2  [ ]运算符 282

12.3  以动态机制创建虚函数 285

12.3.1  派生类调用虚函数 285

12.3.2  纯虚函数 291

12.3.3  抽象类 292

12.3.4  虚拟析构函数 293

本章小结 295

本章习题 295

第13章  I/O与数据流处理 297

13.1  认识数据流 297

13.2  文件管理 297

13.2.1  打开文件 298

13.2.2  附加数据至文件尾端 300

13.2.3  读取文件 302

13.2.4  二进制文件 304

13.3  CLR的I/O处理 308

13.3.1  System命名空间 308

13.3.2  使用标准数据流 309

13.3.3  文件的输入/输出 311

本章小结 314

本章习题 315

第14章  程序的调试 317

14.1  Visual C++ 2008调试环境 317

14.1.1  以项目设定调试环境 317

14.1.2  认识调试环境 322

14.1.3  启动调试程序 324

14.1.4  断点的使用 327

14.2  预防指针的错误 330

14.2.1  预处理指令 _DEBUG 331

14.2.2  判断提示assert 333

14.3  其他常见错误 333

14.3.1  语法错误 333

14.3.2  对象初始化的错误 334

14.3.3  动态存储器的错误 335

14.4  异常状况的处理 335

14.4.1  简单的异常处理 335

14.4.2  处理函数中的错误 337

14.4.3  类的异常处理 338

本章小结 341

本章习题 341

第15章  了解Windows Form的运作 343

15.1  C++/CLI语言结构 343

15.1.1  认识CTS的数据类型 343

15.1.2  应用程序的开发 346

15.2  Windows Form基本操作 347

15.2.1  创建Windows应用程序 347

15.2.2  创建用户界面 349

15.2.3  编写程序代码 355

15.2.4  事件处理的概念 358

15.2.5  消息循环 358

15.3  图形用户界面 360

15.3.1  窗体的运行 360

15.3.2  窗体对象 361

本章重点 365

本章习题 366

第16章  公共控件 368

16.1  显示信息 368

16.1.1  标签控件 368

16.1.2  超链接标签 371

16.1.3  进度条控件 377

16.1.4  状态栏和面板 377

16.1.5  计时的Timer控件 378

16.2  文字编辑 383

16.2.1  TextBox控件 383

16.2.2  RichTextBox 390

16.2.3  MaskedTextBox控件 393

16.3  与日期有关的控件 394

16.3.1  MonthCalendar控件 395

16.3.2  DateTimePicker控件 398

16.4  具有选择功能的控件 400

16.4.1  单选按钮 400

16.4.2  复选框 405

16.4.3  下拉列表框 406

16.4.4  列表框 412

16.4.5  CheckListBox 413

本章小结 416

本章习题 418

第17章  菜单与对话框 421

17.1  对话框 421

17.1.1  消息对话框 421

17.1.2  Show()函数的参数 422

17.2  文件对话框 427

17.2.1  OpenFileDialog 427

17.2.2  SaveFileDialog 428

17.3  设置字体与颜色 432

17.3.1  FontDialog组件 432

17.3.2  ColorDailog组件 432

17.4  支持打印的组件 435

17.4.1  PrintDocument控件 435

17.4.2  PrintDialog 435

17.4.3  PrintPreviewDialog 437

17.4.4  PageSetupDialog 439

17.5  与日期有关的控件 440

17.5.1  MenuStrip控件 441

17.5.2  ContextMenu控件 453

本章小结 455

本章习题 456

第18章  事件和面板布局 459

18.1  鼠标事件 459

18.1.1  取得鼠标信息 461

18.1.2  鼠标的拖曳功能 463

18.2  键盘事件 466

18.2.1  KeyDown和KeyUp事件 467

18.2.2  KeyPress事件 470

18.3  面板布局 470

18.3.1  FlowLayoutPanel控件 471

18.3.2  TableLayoutPanel控件 473

18.3.3  SplitContainer控件 475

本章小结 475

本章习题 476

第19章  多文档界面 478

19.1  多文档界面 478

19.1.1  认识多重文件 478

19.1.2  MDI窗体的成员 481

19.1.3  窗体的排列 482

19.2  具有视图功能的控件 483

19.2.1  列表视图 483

19.2.2  TreeView 492

19.3  多线程 494

19.3.1  认识Thread类 494

19.3.2  了解线程的状态 497

19.3.3  线程的优先级 500

本章小结 500

本章习题 501

第20章  屏幕基本绘图 503

20.1  图形设备接口简介 503

20.1.1  窗体应用程序的图形 503

20.1.2  认识设备上下文 505

20.1.3  绘图类Graphics 505

20.1.4  了解坐标系统 506

20.2  绘制线条和几何图形 506

20.2.1  创建图形对象 507

20.2.2  以画笔绘制线条 507

20.2.3  绘制基本曲线 508

20.2.4  绘制几何图案 510

20.3  填充颜色 513

20.3.1  填充单一颜色 513

20.3.2  加入规划图样 515

20.3.3  产生渐变 517

20.4  字体和颜色控制 520

本章小结 521

本章习题 522

习题答案 524

作者简介

编辑推荐

作者寄语

电子资料

www.luweidong.cn

下一个