Visual C++与面向对象程序设计教程.pdf

5星(超过95%的资源)
所需积分/C币:49 2012-10-17 10:33:46 45.79MB PDF
88
收藏 收藏
举报

Visual C++与面向对象程序设计教程.pdf
第二版前言 本书自2000年7月面市,转眼已近三年了,在这三年里,仅在本校先后就有十余位教师 近万学生参与了本课程的教学实践。在教学中,授课教师多次开展教学法活动,互相听课 研讨,并以各种形式听取学生的意见和建议。我们建立了一整套教学体系,并不断完善教学 环节,包括多媒体授课、网络视频课堂、电子答疑、电子作业提交与批改以及上机编程的考 核方法,以图贯彻“精讲多练”的教学方针 在教学实践和教学法交流活动中,授课教师和学生对本书提出了大量建议。除了指出原 书中存在的错误外,这些建议集中反映在学习难度上.作为 Visual c++的入门教科书,并且 面向“零起点”的学生,本书的目标在第一版就明确定位为“使学生掌握使用Ⅴ isual c艹设 计应用程序的基本技能”,以及能够编写、调试程序,而不是对 Windows编程的全面介绍 为了能在一本几十个课时的教材中涵益 Visual C++的基本技术,对于C,C++和 Windows编 程技术相关内容的选择一直是我们反复推敲的重点,经过三年的积累,我们深感需要对有关 内容进行修订和调整,以反映这些来自教学一线的需求。 随着微软net的推广,有的教师建议将教学环境过渡到net框架,以适应技术发展的潮流 经过多次讨论,我们认为语言开发环境的变化是快速的,而语言本身在相当时间内会保持相 对稳定。作为入门教材,我们应更注重对学生基本程序设计能力的培养,而不过分依赖于开 发环境。为此,我们在新版中没有引入最新的开发环境,而把重点放在内容的取舍和例题难 度、跨度的调整上 除了修正原书中的错误外,第二版主要进行了以下方面的修改和调整: (1)加大了C++部分内容的份量,由原来的两章改为三章,并增加了相应例题,以期 强化初学者面向对象程序设计的能力。为保持总课时数, Windows编程部分相应地压缩了 (2)降低学习难度,删除了原书中的“win32应用程序”编程模式、使用非模式对话框 编程方法,并改写了相关例题,以单文档(SDI)编程模式为主线介绍 Windows编程,以使 学生更关注于程序设计本身,弱化对开发环境的学习 (3)增加部分贴近实际应用的例题,如应用数值分析及图示编程,为学生在后续课程及 以后工作中应用编程技术打下良好基磁 (4)对例题和概念的讲解进行了全面的润色,并从第十章开始,采用step- by-step的方 法指导学生在向导生成的程序基础上进行编程,更有利于读者自学,原书中编程技巧较高的 例题放在附录中,以满足学习进度较快的学生的要求 第一版的主要作者刘路放教授已经远在加拿大、笫二版的修订工作是冯博琴教授应高等 教育出版社要求,组织西安交通大学计算机教学实验中心多位在课程教学一线的教师共同完 成的,这些教师中有些人还同时承担其他语言的教学工作。参加修订的有杨瑜(第1~7章), 仇国巍(第8、9章),吕军(第10、11.15、16章),朱丹军(第12章),薛涛(第13、 2 第二版前言 14章),崔舒宁(本书的部分例题)本书由罗建军、杨琦统稿,全书由冯博琴教授主审 刘路放教授对本书的修改提出了重要的建议,在此致以诚挚的感谢。其他授课教师在百忙中 也对本书提出许多有益的建议,在此一并致谢。特别的致谢给予那些在调查问卷,课堂调查 以及通过BBS、E-mall向教师提出建议的广大学生 由于作者学识浅陋,编写时间仓促,书中错误在所难免希望读者不吝赐教。 编者于西安交通大学 2003年6月 初版前言 随着 windows操作系统的崛起,由传统的面向控制台的字符软件开发向面向窗口的可视 化编程转化已成为必然趋势。而Ⅴ isual C++正是 windows环境下最强大、最流行的程序设计 语言之一。 Ⅴ isual C++支持面向对象的程序设计方法( Object-Oriented Programming,OoP),支持 MFC( Microsoft Foundation Class)类库编程,有强大的集成开发环境 Developer Studio(其中 包括了程序自动生成向导 App wizard、类向导 Class wizard和各种资源编辑器,以及功能强 大的调试器等可视化和自动编程辅导工具). Visual c++可用来开发各种类型、不同规模和 复杂程度的应用程序,开发效率很高,生成的应用软件代码品质优良。这一切都使得 isual C++成为许多专业程序开发人员的首选 然而,Ⅴ isual c++一向有“难学”的名声,许多初学者视学习 Visual C++为畏途。究其 原因,一方面是 Visual C++(包括MFC类库〕的规模庞大,结构复杂,难于理出一条循序淅 进的学习路线;另一方面是其 App wizard自动生成的程序专业化程度高,代码量大,结构复 杂,以其为基础编写的例题难于为初学者理解和掌握。因此,目前的 Visual c++教科书多是 为已有C语言或C+语言编程基础的人准备的,起点较高 本书是 Visual c++入门教科书,适用于本科类计算机及相关专业学生程序设计能力的培 养。为了克服上述困难,使基础不高的初学者也能很快地掌握程序设计方法,我们在确定教 学目标、设计教学模式、编写教程内容等方面进行了一系列革新探索,以现代教育理论为指 导,多媒体教学手段为基础,提出了“精讲多练”的教学模式。使用“精讲多练”模式进行 Visual C++这类程序设计语言课程的教学,效果很好 本教程的目标是使学生掌握使用Ⅴ Visual c++设计应用程序的基本技能,了解面向对象的 和结构化的程序设计方法,能够编写、调试和运行实用、规范、可读性好的 Visual C++程序 不像其他 Visual c++教材需要学习者具有一定的程序设计基础(如学过C语言或C++语言) 本书“从零开始”,不要求学生有程序设计方面的先修课程。但在学习本课程时,学生最好 对计算机的使用有一定了解(了解 Windows的使用,具有键盘操作和文件处理的基础) 我们在设计本教程内容时,以面向对象的和结构化的程序设计方法思想贯穿全书,并以 大量篇幅介绍了 Visual c++程序的调试技术和一些典型应用程序的设计思路,其中有些是作 者在长期的编程和教学实践中摸索和总结出来的心得, 本教程共分16章,分别对应16个教学重点。这16个教学重点又可分为两组:前8章为 组,处理C+的基本内容,包括控制结构、基本数据类型、表达式、函数,指针和引用, 以及类与对象的基本概念和封装、继承和多态性等面向对象程序设计的基础理论,在学习了 这些内容之后,学生应能编写、调试和运行一般规模和难度的控制台应用程序(如数值计算 类程序),并对面向对象的和结构化的程序设计方法有所了解,为编写较大规模的应用程序 打下基础。后8章处理 Windows编程技术,包括消息传递机制、MFC应用程序框架、设备 2 初版前言 环境、资源、文档/视图结构、对话框和控件等。在这一部分中,强调对基本概念的理解和掌 握,以及在理解和掌握的基础上编写具有较复杂的窗口界面的 windows应用程序的能力 为了便于教学,每章均按以下主题进行组织: 教学目标和学习要求本书的特点是“精讲多练”,因此为教师和学生规定明确的教学 和学习目标是非常重要的。 授课内容是建议教师课堂讲授的内容。一般来说,授课内容是本章所有教学内容的 “纲”,起着联系本章所有项目的作用。授课内容部分的分量按两学时组织。第1章的授课 内容分量略轻,这是因为在第1章的投课时间中还应划分出部分时问用于介绍编辑、调试和 运行应用程序项目的基本步骤 自学内容“自学内容”和“授课内容”部分一起组成了一个章的基本教学内容。这部 分内容通常都是“授课内容”的延伸和继续,由学生在课外时间自学,必须强调的是自学部 分并非不重要,也不能省略。一般来说,教师应在授课时间中抽出5-10分钟对自学内容略 作导引,以便利学生自学 调试技术介绍 Developer Studio集成开发环境的使用方法,以及如何调试、连接和运行 Visual C艹+应用程序项目。强调编程实践是本书的重要特色。第I章的调试技术中的部分内 容可以在授课时问讲授,其他章的调试技术一般由学生自学,同时也可以作为学生上机的实 验指导书。辅导教师在带学生上机时应对这些内容进行现场辅导 程序设计举例为了补充授课内容和自学内容部分的例题,我们设置了程序设计举例栏 日。本栏目所有例题均与本章的投课、自学或调试技术等部分的内容相关,是学生学习复习 本章的重要参考资料 上机练习题每章均配有若干上机练习题目,供学生上机练习。这些练习题目均为程序 设计题目,传统的做法是先编程,再上机。由于C++的特点,也可以在写出较详细的伪代码 程序之后直接上机,“精讲多练”式教学方法的基本特点是上机时数较多,所以这部分的习 题工作量较大,因此在上机时数不足的情况下可以酌情选做若干题目 为了保证教学效果,在条件许可的情况下最好采用直接在计算机房进行的联机电化教 学,在这种情况下,每个教学单元(即每章)可使用连续的4课时,先由教师讲解授课部分 并对自学部分和调试技术等内容进行简短的指导(共2学时),然后学生即可在教师指导下 上机练习(2学时),此外,如果能够提供一定数量的课外机时(如20-30小时)则更好。 近年来,我中心在计算机基础教育的理论和实践等方面进行了一系列探索和革新,其成 果(“精讲多练”的教学模式是其中之一)荣获了1997年度国家级教学成果一等奖。这些成 果都是在冯博琴教授的领导下完成的,本课程的建设也不例外,本教程的构思和编写得到了 冯博琴教授的多方指导,并由他审核了书稿,在此向冯老师表示深深的谢意。在本书编写过 程中,曾与李波、罗建军、卫颜俊,杨琦、吕军和张伟诸同事进行了多次交流,受益匪浅 以上同事还提供了一些有用的材料;杨琦同志为本书绘制了部分插图,在此一并表示感谢。 由于作者学识浅陋,编写时间仓促,书中错误在所难免。希望读者不吝指教。 编者于西安交通大学 2000年4月 目录 第一章C+入门 27 Developer Studio的文本编辑器 上机练习题 1,1软件开发与C++语言… 1.2算法与程序… 2 第三章基本数据类型………………35 1.3输入、编译、调试和运行一个 3.1数据类型………………………35 C+程序 3.11整型数据的表示方法…………36 14C++语言的输入与输出命令 3.1.2实型数据的表示方法 …36 15程序设计语言的发展… 32常量………………36 1.6C++程序的基本要素………17 321整型常量………"37 1.61标识符、关键词和标点符号 322实型常量………37 1.62注释…………17 323字符常量……………37 16.3源程序……8 324字符串常量……38 17编译预处理… 8 3,3变量…38 171宏定义… 平彩, 8 331变量的声明…………38 17.2文件包含… 332变量的初始化……40 1.8 Visual C++的集成开发环境…………10 34数组…………………40 1.81菜单和工具栏… 3.5字符型数组和字符串处理库函数…4 1.82 Developer Studio窗口… 36类型修饰符和常量修饰符 ,,, 1.83用 Developer Studio编写和 37枚举类型"4 调试简单C+程序………ll 3.8 typedef语句 1.84菜单选项、快捷键和工具栏…12 39 Developer Studio的文件处理功能…46 上机练习题……………………15 3.10 Visual C++程序的编译、连接和 第二章控制结构……16 运行………………47 3.1查看和修改编译、连接错误…48 2!程序的基本控制结构…………16 上机练习题…… 51 22C++的控制结构………8 22l顺序结构………………18第四章表达式 ……53 222选择结构……18 4.1算术运算符和算术表达式……3 223循环结构 4.2逻辑运算符和逻辑表达式………54 23结构化程序设计… 43赋值运算符和赋值表达式 24伪代码…… 44自增运算符和自减运算符… 55 25结构化程序设计方法简介…24 4.5表达式中各运算符的运算顺序…56 26c+的其他控制转移语句 24 4.6其他具有副作用的运算符…57 26.1 switch语句………25 47问号表达式和逗号表达式…… ……58 2.6.2goo语句和语句标号………………26 4.8类型不同的数据之间的混合 263 break语句和 continue语句…27 算术运算……………59 264exi0函数和ab0函数…28 49运行错误的判断与调试…… 60 2 目录 410基本调试手段…………………61 73l类的定义…… 102 411注释号在调试中的作用…… 732成员函数的定义………103 42条件编译 652 733内联成员函数………104 上机练习题…… …66 734对象…… 74构造函数与析构函数…………………106 第五章函数………………… 67 75数据成员的初始化…………108 51函数的定义 67 7.6对象与指针……………109 5,2函数的调用………69 7.7 const修饰符………………………110 53函数原型……………………70 78MFC的 CString类……………1 54函数间的参数传递 79MFC的 CTime类和 CTime Span类…113 541值调用 79.1 CTime类……… 114 542引用调用…… 792 TImesPan类…………115 55函数重载……………………72 79.3 CTime类和 Ctime Span 56局部变量和全局变量………………73 类的运算………………115 57内联函数………………74 7.10类的嵌套……………………………115 58带有默认参数的函数………………75 7.11如何在程序中使用MFC类库………16 59C++的库函数………………15 7.12使用 Fileview标签……………116 510函数模板 上机练习题 19 511变量的存储类别… 51L1自动变量(auto)…………………77 第八章继承与派生……………120 5112静态变量( static)…………77 81继承与派生……………… 120 512 Developer Studid的跟踪调试功能……78 81.1为什么使用继承……………120 上机练习题… , 81 812派生类的定义……………121 第六章指针 813派生类中的变化…………122 82派生类的继承方式……………122 61地址与指针…………………13 821公有继承……………………122 611地址……………………83 822私有继承…124 612指针……164 82.3保护继承 26 62指针运算……………………84 83派生类的构造函数和析构函数……127 63指针与数组……… 831构造函数………………128 64动态存储分配……… 832析构函数 65指针和函数……………………………91 84显式访问基类成员…………………129 651指针作为函数的参数 91 85静态成员……………………131 652返回指针的函数…… 92 86类模板……………………132 653指向函数的指针…… 87使用 Class view标签………………134 66指针的数组……14 上机练习题 139 67指针的初始化 68 visual C++的帮助功能……………………96 第九章多态性… 和,+ 140 上机练习题…………………………99 9.1多态性概述 …140 第七章类和对象 92派生类对象替换基类对象…………142 100 93熊函数 ……143 7.1面向对象的思想 93.1虚函数定义………………143 72面向对象程序设计的特点……………101 932虚函数的使用限制…………145 7.3类与对象 102 94抽象类 目录 3 9.5运算符重载xr………148 117文档/视图结构中的应用程序类… 96文件处理 150 11.8文档/枧图结构中的框架窗口类…205 97异常处理机制……………………152 19文档视图结构中各类对象之间的 上机练习题…………………459 协作关系 205 l1.10Ⅴ isual C++的常用调试宏… 205 第十章 Windows编程 160 11101 TRACEO宏…… 205 101 Windows编程的基本思想…160 1.10.2 ASSERTO宏………206 10.2MFC编程…161 1.13 ASSERT VALIDO宏“…206 103单文档界面(SD)应用程序………162 1114 CObject: Dump成员函数206 104在窗口的客户区输出文字和图形…163 上机练习题……212 105编制消息处理函数167 10.51消息映射…… …167 第十二章图形设备接口和资源……213 1052利用 Classwizard编制 12.1设备环境类和图形对象 213 消息处理函数 12.2 Windows应用程序资源………214 106鼠标和键盘消息处理………168 123库存图形对象………215 10.7 Windows的用户界面对象……170 124画笔与画刷……………27 10.71窗口………170 125位图 10.7.2系统菜单…………171 126菜单… 225 107,3标题栏…………71 12.7字体………………227 1074菜单栏…………………171 12.8绘图模式………429 107.5工具条 ……7l 129GDI坐标系………………230 107.6客户区……………………l7 12.10图标、快捷键和字符串表…………23l 107.7垂直滚动条和水平滚动条……172 121向项目中添加资源………………231 107.8状态栏… ……172 12.12资源编辑器………232 1079图标……………………172 12.12.1图标编辑器…………232 10.7.10光标 …172 12.22位图编辑器…………233 10.7.11插入符… 12123菜单编辑器…………233 107.12对话框… ……172 12.124快捷键编辑器………234 107.13控件 12.25字符串表编辑器………234 10.8 Windows数据类型与 上机练习题 ……242 变量的命名规则 173 第十三章对话框……………243 10.9用 Appwizard生成文档/视图 结构的程序框架 175 13.1对话框( Dialog)………243 10.10 Developer Studio B 13.2控件…………246 Class wizard(类向导)……………184 133对话框的初始化……………………246 上机练习题……………19 134对话框的数据交换和数据 检验机制 246 第十一章文档/视图结构 ………192 13.5非模态对话框 ,,,,,,节,,·,听 252 111文档/视图概念……192 13.6公用对话框………252 1.2视图类…………………193 1361颜色选择对话框…………253 113文档类………94 13.62字体选择对话框………23 114文档/视图类之间的协作关系…195 13.7对话框模板资源的编辑… 115使客户区重绘 200 13.8使用 Class wizard建立对话框类……256 116定时器消息… ……203 139为对话框类加入成员变量…25 4 目录 上机练习题… …263 上机练习题…………297 第十四章控件 1264 第十六章多文档界面程序………298 141常用控件……24 161MDI应用程序 ……298 14.2基于对话框的应用程序… 274 16,2滚动视图……… 304 14.3动画控件………… 16.3对话视图…… 44a,.和,,,,,,、v,着 305 144用 App wizard生成基于 164文本编辑视图………………306 对话框的应用程序 279 165使用 App wizard建立MDl 上机练习题…………………28l 程序框架………………307 上机练习题…………309 第十五章文档读写与打印……………282 151序列化( Serialize) …182 附录……………………1310 152打印和打印预览…… 283 附录 1 ASCII吗表… 310 15.3自定义类的序列化…286 附录2常用库函数……… 311 154编写独立的打印处理程序………288 附录3可供两人对奔的中国象棋程序……317 155更新命令用户接口消息……………291 附录4防空战游戏程序……328 156工具条与状态条……………294 附录5七巧板程序 …336 15.7 Developer Studio的输出窗口…………295

...展开详情
试读 127P Visual C++与面向对象程序设计教程.pdf
立即下载 低至0.43元/次 身份认证VIP会员低至7折
一个资源只可评论一次,评论内容不能少于5个字
linda2008x 资源一般,扫描的是被画过的书,有书写的笔迹。不是很清晰。
2015-12-30
回复
u011584892 非常好的书
2014-02-03
回复
您会向同学/朋友/同事推荐我们的CSDN下载吗?
谢谢参与!您的真实评价是我们改进的动力~
  • 分享王者

关注 私信
上传资源赚钱or赚积分
最新推荐
Visual C++与面向对象程序设计教程.pdf 49积分/C币 立即下载
1/127
Visual C++与面向对象程序设计教程.pdf第1页
Visual C++与面向对象程序设计教程.pdf第2页
Visual C++与面向对象程序设计教程.pdf第3页
Visual C++与面向对象程序设计教程.pdf第4页
Visual C++与面向对象程序设计教程.pdf第5页
Visual C++与面向对象程序设计教程.pdf第6页
Visual C++与面向对象程序设计教程.pdf第7页
Visual C++与面向对象程序设计教程.pdf第8页
Visual C++与面向对象程序设计教程.pdf第9页
Visual C++与面向对象程序设计教程.pdf第10页
Visual C++与面向对象程序设计教程.pdf第11页
Visual C++与面向对象程序设计教程.pdf第12页
Visual C++与面向对象程序设计教程.pdf第13页
Visual C++与面向对象程序设计教程.pdf第14页
Visual C++与面向对象程序设计教程.pdf第15页
Visual C++与面向对象程序设计教程.pdf第16页
Visual C++与面向对象程序设计教程.pdf第17页
Visual C++与面向对象程序设计教程.pdf第18页
Visual C++与面向对象程序设计教程.pdf第19页
Visual C++与面向对象程序设计教程.pdf第20页

试读结束, 可继续阅读

49积分/C币 立即下载 >