Visual C++入门很简单

出版社:侯晓琴 清华大学出版社 (2013-01出版)  

前言

Visual C++是Microsoft公司开发的基于C/C++的可视化的集成开发工具。因其开发的应用程序执行效率高而深受开发人员的喜爱,尤其是用Visual C++开发Windows应用程序更是程序员的首选。Microsoft公司提供了Microsoft基本类库(Microsoft Foundation Class Library,MFC),为用户提供了大量的标准类,可以缩短软件的开发周期。这也是Visual C++流行多年的一个重要原因。当前,Visual C++仍然焕发着迷人的光彩。很多大中专院校要开设相关课程,很多想从事开发的人员要学习它的使用,很多软件企业还在利用它开发各种各样的软件系统……使得这个老牌开发工具在20年后依然有很强的生命力。相应地,市场上也出版了不少相关图书。但翻遍这些图书,要想找一本易学易用、适合没有任何基础的新手阅读的书并不容易。基于这个原因,笔者根据自己多年使用Visual C++的经验和心得体会写了这本书,希望能够引领读者更简捷、更有效地进入Visual C++的殿堂。本书以通俗易懂、生活化的例子介绍解释每个知识点的用法,书中的每个例子能起到抛砖引玉的功效,语言尽可能轻松活泼,多用类比、对比、比喻等写作手法,配合大量图解教学,并对难点给出了必要提示。另外,本书还录制了配套的多媒体教学视频,以辅助读者学习。相信这样的一本书可以扫清读者学习过程中的障碍,让读者少走弯路,并激发学习Visual C++的兴趣,从而较快地掌握Visual C++编程。本书特色1.提供配套的多媒体教学视频本书专门录制了配套的多媒体教学视频,以帮助读者更直观、高效地学习,达到事半功倍的效果。2.讲解通俗易懂,诙谐幽默,并给出了大量生活化的例子本书避免用艰涩难懂、枯燥乏味的术语云山雾罩地分析问题,代之以轻松活泼、幽默直白的讲解。书中的知识点尽量先给出现实生活中的例子,然后与之对比或者类比,让读者理解。相信这种讲解方式可以取得意想不到的效果。3.图解教学,简单直观本书中的每个知识点几乎都给出了相关的图示或者图解,非常直观,一目了然。无论对知识点的介绍还是学习技术原理,相信“一图胜千言”。4.代码精讲,注释丰富本书中的每段代码都给出了详细的解释,进行了丰富的代码注释,便于读者理解。而且大段代码还给出了流程图帮助读者理解复杂的程序,如第15章的电子书管理系统。5.提供练习题,巩固提高本书提供了必要的练习题目,以帮助读者巩固和提高所学的知识。6.提供教学PPT,辅助教学作者专门制作了教学PPT,以便老师的教学和学生的学习。教学PPT的下载方式参见本书封底的提示。本书内容安排第1篇  Visual C++开发环境及语言基础(第1~4章)第1章介绍Visual Studio开发环境及常用应用程序框架;第2章回顾C++的入门知识;第3章针对C++面向对象的编程基础展开讨论;第4章介绍MFC的运行机制。第2篇  Visual Studio图形编程(第5~8章)第5章结合实例详细讲解Windows标准控件的使用方法;第6章和第7章介绍在MFC应用程序中如何进行菜单、工具栏和状态栏的编程;第8章描述有关图形图像编程的实例。第3篇  Visual C++程序开发基础(第9章和第10章)第9章给出3种进行数据文件读写方式;第10章讨论如何创建和调用动态链接库。第4篇  Visual C++程序开发进阶(第11~15章)第11章介绍多线程的开发应用;第12章给出网络编程的基础知识;第13章介绍Visual C++的数据库编程技术;第14章以模板为引子,讨论了标准模板库的概念及其3个主要成分;第15章详细介绍一个小型的项目开发案例,带领读者感受实际的项目开发过程。配书光盘内容本书配套多媒体教学视频;本书涉及的源代码;附赠的Visual C++模块与项目开发源代码及教学视频。适合阅读本书的读者C++语言入门人员;没有任何基础的Visual C++初学者;用MFC开发界面的技术人员;网络及数据库编程入门人员;Visual C++编程爱好者;大中专院校的学生和老师;培训班的学员。笔者的经历和学习感悟笔者不是计算机科班出身的开发人员,大二时开始接触Visual C++,当时只能进行简单的输入输出。但幸运的是,在全国大学生数学建模竞赛上,有幸结识了数位优秀的计算机专业编程能手,从此与Visual C++结下了不解之缘。但是在学习过程中,因为非专业出身,还是历尽艰辛,经常调试到半夜,或因为一个输出结果不对而茶饭不思。翻遍了市场上和图书馆的所有Visual C++书,感觉都不太适合我入门,经常碰到深入但不浅出的技术,我还要去论坛多问几遍。在这个过程中,我做了大量的笔记,用自己对现实生活的理解,去消化这些技术,才发现,原来技术也可以来源于生活。当进入硕士研究生阶段后,我开始使用MFC,并以MFC为项目开发平台,又熟悉了OpenGL、OpenCV、OSG等多种第三方库,在导师的带领下,随着项目的增多,又熟悉了多线程、网络、数据库编程的知识。在几年的亲身实践中,笔者的Visual C++开发技术突飞猛进。这让我终于明白,Visual C++并非传言的那么难懂与高深。当然,笔者也有以下学习的感悟和读者分享。(1)建立自信心。无论是C++还是Visual C++实际上都不是传言的那么高深莫测,只要你努力,多花时间研究、实践,一定会掌握它们。(2)学习Visual C++之前一定要先掌握C++语言基础。不要急于开发Windows界面之类的东西,最好先用C++开发一些字符界面,熟悉C++的基本用法。好的C++基础能使你更好地迈入Visual C++开发的第一步。(3)一定要理解Windows的消息和MFC的运行机制,这是Visual C++开发的思想灵魂。本书第4章就通过一些示意图和生活实例带你了解Visual C++中的相关知识。(4)常用的消息名称、参数最好能自己动手写出来,而不是用时才查MSDN,这样会加深理解,并提高你的编程效率。(5)多实践,多动手练习。只有在大量的编程实践和练习中,你才能更深入地理解C++语言和Visual C++的本质。本书提供了大量实例供读者演练,建议先动手编写这些程序,而不要直接去从配书光盘中复制这些实例的源代码。如果动手写完后调试不出来,再与光盘上的源代码进行对比,这样学习效果更好。(6)学习一门技术,一定要学会刨根问底,知其然还要知其所以然。如果不求甚解,可能到头来会被越来越多的新知识点把自己搞晕。(7)初学者千万不要心浮气躁,一定要循序渐进。所谓“千里之行,始于足下”,打好基础,才能厚积薄发,所以开始不妨慢一些,等彻底理解了再进行下一步的学习,等积累到一定的时间后,会发现你已经具备了快速前进的资本了。致谢从2012年9月开始到现在,有太多的人给予了我莫大的支持与帮助。在此我都要衷心地感谢他们。在此,首先要感谢攻读硕士期间的导师齐敏!是她给了大量练习Visual C++的机会,并指导我参与多个项目的开发。这使我这个非计算机科班出身的Visual C++爱好者有了锻炼的平台,没有齐敏导师的栽培,我不会这么快脱离一无所知的境地。此外,还要感谢我的家人!虽然有疾病困扰着我尊敬的父亲,但他还是希望我能坚持写下去,并理解我不能陪在身边照顾他。还要感谢陈冠军,当她知道我打算用这份稿费支付出国留学的机票费时,积极协助,以便帮助我早日圆了梦想。最后要感谢我的两位好朋友王喻和刘海琛,每次在我面临自己人生道路的十字路口时,他们给予了我心贴心的支持与安慰,让我有了战胜困难的决心和勇气。最后感谢各位读者阅读本书!没有你们的支持,我就缺少了写作完本书的动力。作者

作者简介

侯晓琴,毕业于西北工业大学,获信号与信息处理硕士学位。研究方向为虚拟现实的三维建模。硕士研究生期间一直致力于三维虚拟场景的编码工作。毕业后加入对口公司进行三维虚拟系统的开发。热衷于三维虚拟系统的开发与研究,对Visual C++有透彻和深入的理解。

书籍目录

第1篇  Visual C++开发环境及语言基础第1章  开发环境及常用应用程序框架(教学视频:21分钟) 21.1  安装并测试开发环境 21.1.1  安装开发环境 21.1.2  安装开发环境的帮助文件(MSDN) 61.1.3  测试开发环境实例:新建一个“HelloWorld”控制台程序 71.2  Visual C++的发展史 91.2.1  C发展为C++ 91.2.2  Visual C++ 6.0的发展 101.2.3  了解Visual C++新版本的特点 101.2.4  MFC类库(Microsoft Foundation Classes)简述 101.3  开发环境介绍 131.3.1  C/C++编译器简述 131.3.2  了解Visual C++界面、菜单、工具栏 131.3.3  了解项目和项目工作区 141.4  调试程序 151.4.1  查找源程序中的语法错误 161.4.2  运用调试器 171.4.3  跟踪调试程序 181.5  Visual C++常用应用程序框架 191.5.1  简述Win32应用程序(Win32 Application) 191.5.2  简述Win32控制台程序(Win32 Console Application) 201.5.3  简述MFC应用程序(MFC Application) 201.5.4  创建MFC动态链接库(MFC DLL) 231.6  开发环境的快捷方式简介 241.7  本章总结 251.8  课后练习 25第2章  C++入门基础(教学视频:62分钟) 262.1  C++基础知识 262.1.1  学习C++的必要性 262.1.2  学习C++有何优势 262.1.3  学习C++应具备什么素质 272.1.4  C++会带给我们什么 272.2  数据类型 272.2.1  基础数据类型——常量和变量 282.2.2  小议简单类型 302.2.3  对比分析共用体(union)和结构体(struct) 352.2.4  在实例中简单应用指针类型 372.2.5  实现面向对象编程的必要条件——类 392.2.6  简单应用string类 402.3  能减少代码行数的数据类型——数组 412.3.1  应用读写数据——一维数组 422.3.2  应用图像处理——二维数组 442.3.3  应用处理字符串——字符型数组 442.4  运算符应用 462.4.1  各种运算符优先级 462.4.2  应用“=”——赋值运算符 472.4.3  应用“+、-、*、/、%、++、--”——算术运算符 482.4.4  应用“&&、||、!”——逻辑运算符 482.4.5  应用“=、==、!=”——关系运算符 492.5  C++的流程控制语句 502.5.1  实现程序的选择结构——if语句和switch语句 512.5.2  实现程序的循环结构——for语句、while语句和do…while语句 542.5.3  实例:一个工科生的每星期中选穿T恤颜色 562.6  函数 582.6.1  什么是函数 582.6.2  创建一个函数 582.6.3  函数的参数和返回值 592.7  实例详解函数的调用 592.7.1  函数的嵌套调用 592.7.2  函数的递归调用 602.8  本章总结 612.9  课后练习 62第3章  C++面向对象编程基础(教学视频:34分钟) 633.1  什么是面向对象编程 633.2  面向对象编程的基本内容 643.2.1  程序运行期的基本实体——对象 643.2.2  实现面向对象编程的必要条件——类 653.2.3  实现程序的模块化——封装 663.2.4  实现系统的可重用及可扩充性——继承 673.2.5  同一消息为不同对象接受时产生完全不同的行为——多态 683.2.6  对象之间沟通的途径——消息传递 683.3  讨论类的结构及编写规则 693.3.1  构造函数 693.3.2  默认参数的构造函数 713.3.3  析构函数 733.3.4  实例:介绍重载构造函数和复制构造函数 763.3.5  虚函数 793.3.6  虚基类 823.4  详解派生类 833.4.1  派生类从何而来 833.4.2  派生类如何访问基类成员 843.4.3  实例:如何写一个派生类 843.4.4  派生类的构造和析构函数的执行顺序 853.5  友元 863.5.1  应用友元函数 863.5.2  应用友元类 873.6  重载 883.6.1  什么是重载 883.6.2  分析重载与重写的不同 893.6.3  实例:函数的重载 893.6.4  实例:运算符的重载 903.7  实例:具体实现封装、继承 913.7.1  创建一个父类 913.7.2  编写父类内函数 923.7.3  创建一个子类——实现继承功能 943.7.4  封装类和函数 953.8  本章总结 983.9  课后练习 98第4章  MFC运行机制(教学视频:19分钟) 1004.1  什么是MFC 1004.1.1  MFC基础知识 1004.1.2  新建单文档MFC应用程序的4个类 1024.2  MFC程序运行顺序 1064.3  消息 1074.3.1  消息的定义 1084.3.2  消息中有什么 1084.3.3  消息的分类 1094.4  消息队列及消息处理 1134.4.1  对比介绍队列消息和非队列消息 1144.4.2  消息的发送方式——发送、寄送和广播 1144.4.3  描述接收消息的函数 1164.4.4  详解具体实例——消息的处理 1174.5  实现窗口实时更新的必要条件——消息循环 1194.5.1  非对话框程序的消息循环机制 1194.5.2  对话框程序的消息循环机制 1214.6  本章总结 1224.7  课后练习 123第2篇  Visual Studio图形编程第5章  结合实例详解Windows标准控件(教学视频:37分钟) 1265.1  简单介绍Windows标准控件 1265.2  学习按钮控件 1285.2.1  创建一个按钮 1285.2.2  编辑按钮的属性与消息类型 1305.2.3  响应按钮的消息 1355.2.4  调试及效果图 1375.3  学习静态控件 1375.3.1  创建一个静态文本框 1375.3.2  编辑静态框的属性与消息类型 1385.3.3  响应控件的消息 1395.3.4  调试并展示效果图 1425.4  学习编辑框控件 1435.4.1  创建一个编辑框 1435.4.2  编辑控件的属性与消息类型 1445.4.3  响应控件的消息 1455.4.4  调试并展示效果图 1475.5  学习组合框控件 1475.5.1  创建一个组合框 1485.5.2  编辑控件的属性与消息类型 1495.5.3  响应控件的消息 1505.5.4  调试并展示效果图 1505.6  学习进度条、滑块控件 1515.6.1  创建进度条 1515.6.2  使用进度条 1515.6.3  创建滑块控件 1535.6.4  使用滑块控件 1545.6.5  进度条、滑块控件编程实例 1545.7  简单应用ActiveX控件 1555.7.1  应用注册表中已有的ActiveX控件 1555.7.2  应用新下载的ActiveX控件 1605.8  本章总结 1605.9  课后练习 161第6章  菜单(教学视频:17分钟) 1626.1  建立菜单 1626.1.1  认识菜单的响应顺序 1626.1.2  新建菜单 1636.1.3  添加菜单项 1646.1.4  加入菜单项的消息响应 1656.2  关联菜单项的各种动作 1666.2.1  标记菜单项 1666.2.2  设置默认菜单项 1686.2.3  创建图形标记菜单 1686.2.4  屏蔽子菜单的菜单选项 1706.2.5  取消整个菜单 1706.3  给菜单项设置快捷键 1716.4  调用对话框 1726.4.1  调用系统对话框 1726.4.2  调用自建对话框 1776.5  实例——动态创建菜单 1786.6  本章总结 1806.7  课后练习 181第7章  编辑工具栏和状态栏(教学视频:26分钟) 1827.1  编辑工具栏 1827.1.1  认识工具栏 1827.1.2  增加和删除工具栏按钮 1837.1.3  编辑工具栏按钮图标 1847.1.4  响应工具栏按钮 1877.2  设置工具栏的其他功能案例 1887.2.1  给工具栏设标题 1887.2.2  为工具栏按钮添加下拉箭头 1887.2.3  为工具栏添加背景图片 1907.2.4  为工具栏按钮设置热点图像 1917.2.5  添加按钮提示信息 1927.2.6  为工具栏关联控件 1937.3  编辑状态栏 1957.3.1  创建状态栏 1957.3.2  在状态栏中添加进度条 1977.3.3  在状态栏中添加时间 1987.4  本章总结 1997.5  课后练习 200第8章  图形图像(教学视频:31分钟) 2018.1  图形设备接口和设备环境 2018.1.1  图形设备接口 2018.1.2  设备环境 2028.1.3  MFC设备环境类对比分析 2038.1.4  GDI坐标系的映射模式 2088.2  绘图工具——画笔和画刷 2128.2.1  画笔及应用 2128.2.2  详解运用画笔实例 2128.2.3  画刷及其应用 2138.2.4  详解运用画刷实例 2138.3  文本与字体 2148.3.1  绘制文本 2148.3.2  文本字符属性信息的TEXTMETRIC结构 2158.3.3  字体的属性 2178.3.4  运用字体实例 2188.4  位图、图标和光标 2188.4.1  MFC处理位图实例 2198.4.2  MFC处理图标实例 2218.4.3  MFC处理光标实例 2238.5  本章总结 2298.6  课后练习 230第3篇  Visual C++程序开发基础篇第9章  数据文件读写(教学视频:53分钟) 2329.1  运用CFile类实现数据文件读写 2329.1.1  认识CFile类 2329.1.2  读写文件 2349.1.3  文件的打开/保存对话框 2359.1.4  复制、删除和重命名文件 2379.1.5  移动文件指针 2399.1.6  查找文件内容 2419.2  运用CArchive类实现数据文件读写 2429.2.1  认识CArchive类 2429.2.2  缓冲区数据 2439.2.3  基本数据读写 2449.3  运用流对象实现数据文件读写 2469.3.1  文件输入/出流 2479.3.2  打开/关闭文件 2479.3.3  打开文件模式 2489.3.4  读写文本文件 2499.3.5  读写二进制文件 2539.3.6  设置输出数据的格式和结束标志量 2559.3.7  移动读写文件指针 2579.4  本章总结 2599.5  课后练习 259第10章  动态链接库(教学视频:25分钟) 26010.1  概论 26010.2  静态链接库 26210.3  非MFC DLL 26510.3.1  声明导出函数 26610.3.2  声明导出类 26910.3.3  DLL的调用方式 27010.3.4  _stdcall约定 27410.4  MFC规则DLL 27610.4.1  对比介绍MFC规则DLL的两种类型 27610.4.2  创建并调用MFC规则DLL 27710.5  MFC扩展DLL 28010.6  本章总结 28110.7  课后练习 281第4篇  Visual C++程序开发提高篇第11章  多线程(教学视频:29分钟) 28411.1  认识多线程 28411.1.1  什么是进程 28411.1.2  什么是线程 28511.1.3  应用多线程的好处 28611.1.4  应用多线程的一些缺点 28711.1.5  MFC对多线程编程的支持 28811.2  线程的管理和操作 28911.2.1  创建多线程 29011.2.2  线程的优先级 29211.2.3  线程的悬挂和恢复 29511.2.4  结束线程 29711.3  线程的同步 29811.3.1  提出问题——线程不同步怎么办 29811.3.2  实现线程同步对象一:临界区(CCriticalSection) 29911.3.3  实现线程同步对象二:事件(CEvent) 30111.3.4  实现线程同步对象三:互斥量(CMutex) 30411.3.5  实现线程同步对象四:信号量(CSemaphone) 30611.4  线程间通信 31111.4.1  线程间通信的目的 31111.4.2  利用用户定义的消息通信 31111.4.3  利用事件对象实现通信 31411.5  分析简单的多线程程序 31511.5.1  一个简单多线程应用程序——卖票 31511.5.2  MFC多线程编程实例 31811.6  本章总结 32011.7  课后练习 321第12章  网络编程(教学视频:20分钟) 32212.1  介绍基础知识 32212.1.1  什么是网络编程 32212.1.2  网络编程涉及的知识点 32312.2  网络协议 32412.2.1  什么是网络协议 32412.2.2  介绍网络分层模型——ISO/OSI 32512.2.3  最流行的网络协议——TCP/IP 32512.3  套接字 32612.3.1  什么是套接字 32612.3.2  套接字进行数据处理的两种模式:同步和异步 32712.4  套接字的编程 32812.4.1  两个服务器/客户端模型 32812.4.2  套接字编程要用的函数 32912.4.3  套接字编程实例 33212.5  进程间通信 33512.5.1  使用Windows剪贴板通信 33512.5.2  使用匿名管道通信 33812.5.3  使用命名管道通信 34312.5.4  使用邮件槽通信 34912.6  本章总结 35112.7  课后练习 351第13章  数据库编程(教学视频:32分钟) 35313.1  数据库的基础知识 35313.1.1  数据库的定义 35313.1.2  数据库的发展简史 35413.1.3  介绍常用数据库 35413.2  常用的数据库编程技术 35413.2.1  MFC ODBC数据库开发技术 35513.2.2  ADO数据库开发技术 36013.3  新建数据库 36313.4  数据库访问控件 36713.4.1  添加ADO数据控件 36713.4.2  添加DataGrid控件 36913.4.3  添加DataCombo和DataList控件 36913.5  本章总结 37013.6  课后练习 371第14章  标准模板库(STL)(教学视频:14分钟) 37214.1  概述STL 37214.1.1  什么是标准模板库STL 37214.1.2  STL和C++标准库的关系 37414.1.3  STL的不同实现版本 37514.2  容器 37514.2.1  容器的概念 37514.2.2  容器的分类 37614.2.3  顺序式容器 37714.2.4  关联式容器 38114.3  迭代器 38314.3.1  迭代器的概念 38314.3.2  迭代器的基本操作 38514.3.3  编程实例 38514.4  算法 38614.4.1  copy算法 38614.4.2  sort算法 38714.4.3  应用示例 38714.5  本章总结 38814.6  课后练习 389第15章  电子书管理系统(教学视频:25分钟) 39015.1  系统设计 39015.1.1  系统设计思想 39015.1.2  系统功能模块划分 39015.2  项目开发初期规划阶段 39115.3  分析系统登录模块 39215.3.1  添加并编辑各个控件的属性 39315.3.2  实现绘制文本功能 39315.3.3  响应“退出”按钮功能 39415.3.4  响应“修改登录信息”按钮功能 39515.3.5  响应“登录”按钮功能 39715.4  分析用户资料管理模块 39915.5  分析电子书管理模块 40115.5.1  实现文本绘制及对话框的初始化 40115.5.2  实现连接数据库的功能 40515.5.3  实现查询功能 40615.5.4  实现添加功能 40915.5.5  实现删除功能 41315.5.6  实现修改功能 41415.5.7  实现确定和取消功能 41615.6  常见问题 42015.6.1  E_bookDlg类 42015.6.2  Book_material类 420

编辑推荐

《Visual C++入门很简单》编辑推荐:18小时高清多媒体教学视频浅显易懂,零门槛学习Visual C++开发,真的很简单娓娓道来,亲切自然,老鸟带领菜鸟,快速跨入Visual C++的大门以学懂、学透、学会用为目标,带你快速步入Visual C++开发的大门!以通俗的言语从基础讲解,彻底解决学习过程中将会遇到的各种疑难问题!以实践性教学为导向,讲解了62个典型实例和1个综合项目案例开发!以贴近生活、幽默风趣为宗旨,讲解时多用生活中的好玩事例加以类比!提供教学PPT 超值大容量DVD光盘,你值得拥有!7.4小时《Visual C++入门很简单》配套教学视频及源代码13个Visual C++开发模块源代码及7.6小时教学视频3个Visual C++项目案例源代码及3小时教学视频

图书封面

评论、评分、阅读与下载



用户评论 (总计1条)

 
 

  •   内容讲解不详细,写得很粗糙,而且附带的视频完全没用!
 

250万本中文图书简介、评论、评分,PDF格式免费下载。 第一图书网 手机版

京ICP备13047387号-7