![]()
内容推荐 本书是在《C++语言程序设计(MOOC版)》的基础上进一步总结爱课程网“中国大学MOOC”(http://www.icourse163.org/)的网络教学实践修订而成。本书按照实际编程应用来梳理和组织C++语言的知识点,按章节顺序可分为程序设计基础、结构化程序设计方法和面向对象程序设计方法三大部分。内容编排由易到难,循序渐进。每个小节都设计了适合在线评判的单选练习题,每章则设计了适合课堂讨论的程序阅读题、改错题和编程题。 凡开设“C++语言程序设计”课程的教师可将本书作为授课教材使用,联系作者可免费获得配套教学课件和视频。参加慕课(MOOC)或其他网络课程学习的学生可将本书作为线下阅读教材使用。 作者简介 阚道宏,1986年毕业于清华大学计算机系软件专业,1992年获中国空间技术研究院自动控制理论专业博士学位。历任紫光集团扫描仪事业部总工程师、紫光股份有限公司技术部部长等职,曾获北京市科技进步二等奖、北京市突出贡献专家称号。主持ITBase图文数据库系统、紫光扫描仪国产化等项目的开发,有多年软件开发的经验,通晓C、C++、Java、C#、Pvthon等多种计算机语言。 目录 第1章程序设计导论1 1.1计算机硬件结构1 本节习题4 1.2计算机程序4 本节习题8 1.3计算机程序开发8 1.3.1程序设计8 1.3.2程序实现10 1.3.3程序测试12 1.3.4程序发布12 本节习题13 1.4信息分类与数据类型13 1.4.1二进制数制13 1.4.2数据类型16 1.4.3信息分类及数字化18 本节习题21 1.5C++语言简介21 1.6本章习题22 第2章数值计算23 2.1程序中的变量23 2.1.1变量的定义24 2.1.2变量的访问26 本节习题27 2.2程序中的常量28 本节习题31 2.3算术运算31 2.3.1C++语言中的加减乘除31 2.3.2其他算术运算符34 本节习题35 2.4位运算35 本节习题39 2.5赋值运算40 本节习题42 2.6数据的输入与输出42 本节习题45 2.7引用与指针45 2.7.1引用45 2.7.2指针47 本节习题53 2.8本章习题54 第3章算法与控制结构55 3.1算法56 本节习题57 3.2布尔类型57 3.2.1关系运算符58 3.2.2逻辑运算符59 本节习题59 3.3选择语句60 3.3.1if-else语句61 3.3.2switch-case语句65 本节习题68 3.4循环语句69 3.4.1while语句70 3.4.2do-while语句71 3.4.3for语句72 3.4.4break语句和continue语句74 本节习题77 3.5算法设计与评价78 3.5.1计算复杂度79 3.5.2内存占用量80 3.5.3算法设计举例81 3.6本章习题84 第4章数组与文字处理86 4.1数组87 4.1.1数组变量的定义与访问87 4.1.2常用的数组处理算法91 本节习题94 4.2指针与数组95 4.2.1指针运算95 4.2.2动态内存分配99 4.2.3指针数组102 本节习题103 4.3字符类型103 4.3.1字符型常量104 4.3.2字符型运算105 本节习题106 4.4字符数组与文字处理106 4.4.1字符串常量107 4.4.2字符数组107 4.4.3常用文字处理算法109 本节习题111 4.5中文处理112 4.5.1字符编码标准112 4.5.2基于ANSI编码的中文处理程序113 4.5.3基于Unicode编码的中文处理程序115 本节习题118 4.6程序设计方法简介118 4.7本章习题119 第5章结构化程序设计之一121 5.1结构化程序设计方法121 5.1.1设计举例121 5.1.2于模块的团队分工协作开发123 5.1.3模块的4大要素125 本节习题126 5.2函数的定义和调用127 5.2.1函数的定义127 5.2.2函数的调用128 5.2.3函数应用举例130 5.2.4函数的执行132 5.2.5函数的声明135 5.2.6程序员与函数136 本节习题138 5.3数据的管理策略139 5.3.1数据分散管理,按需传递139 5.3.2数据集中管理,全局共享140 5.3.3变量的作用域142 本节习题148 5.4程序代码和变量的存储原理148 5.4.1程序副本与变量149 5.4.2动态分配的内存153 5.4.3函数指针154 本节习题156 5.5函数间参数传递的三种方式157 5.5.1值传递157 5.5.2引用传递158 5.5.3指针传递160 5.5.4函数参数的设计161 本节习题165 5.6在函数间传递数组165 5.6.1在函数间传递一维数组166 5.6.2在函数间传递一维数组的首地址166 5.6.3在函数间传递二维数组168 5.7本章习题169 第6章结构化程序设计之二171 6.1C++源程序的多文件结构171 6.1.1多文件结构的源代码组织171 6.1.2静态函数与静态变量174 6.1.3头文件177 本节习题179 6.2编译预处理指令180 6.2.1文件包含指令180 6.2.2宏定义指令181 6.2.3条件编译指令183 本节习题186 6.3几种特殊形式的函数187 6.3.1带默认形参值的函数187 6.3.2重载函数189 6.3.3内联函数189 6.3.4主函数main的形参和返回值191 6.3.5递归函数193 本节习题198 6.4系统函数199 6.4.1C语言的系统函数199 6.4.2命名空间204 6.4.3C++语言的系统函数206 本节习题208 6.5自定义数据类型208 6.5.1类型定义typedef209 6.5.2枚举类型210 6.5.3联合体类型211 6.5.4结构体类型213 本节习题218 6.6结构化程序设计的应用与回顾219 6.6.1开发Windows图形用户界面程序220 6.6.2结构化程序设计回顾224 6.7本章习题226 第7章面向对象程序设计之一229 7.1面向对象程序设计方法229 7.1.1结构化程序设计中的函数229 7.1.2结构化程序设计中的结构体类型231 7.1.3面向对象程序设计中的分类233 7.1.4面向对象程序设计中的封装236 本节习题240 7.2面向对象程序的设计过程241 7.2.1分析241 7.2.2抽象243 7.3.3组装245 本节习题247 7.3类与对象的语法细则247 7.3.1类的定义247 7.3.2对象的定义与访问250 7.3.3对象指针252 7.3.4类与对象的编译原理253 本节习题256 7.4对象的构造与析构258 7.4.1构造函数258 7.4.2析构函数262 7.4.3拷贝构造函数中的深拷贝与浅拷贝263 7.4.4类与对象编程举例265 本节习题269 7.5对象的应用271 7.5.1对象数组272 7.5.2对象的动态分配273 7.5.3对象作为函数的形参274 本节习题277 7.6类中的常成员与静态成员278 7.6.1常成员281 7.6.2静态成员283 本节习题288 7.7类的友元289 7.7.1友元函数290 7.7.2友元类291 本节习题291 7.8本章习题293 第8章面向对象程序设计之二296 8.1重用类代码296 8.1.1用类定义对象296 8.1.2用类继续定义新类298 本节习题300 8.2类的组合300 8.2.1组合类的定义301 8.2.2组合类对象的定义与访问302 8.2.3组合类对象的构造与析构304 8.2.4类的聚合306 8.2.5前向引用声明308 本节习题309 8.3类的继承与派生310 8.3.1派生类的定义311 8.3.2派生类对象的定义与访问314 8.3.3保护权限与保护继承316 8.3.4派生类对象的构造与析构319 8.3.5继承与组合的应用322 本节习题325 8.4多态性327 8.4.1面向对象程序中的多态328 8.4.2运算符的多态与重载328 本节习题334 8.5对象的替换与多态334 8.5.1算法代码的可重用性334 8.5.2钟表类及其处理算法337 8.5.3类型兼容语法规则341 8.5.4对象的多态性343 8.5.5虚函数345 8.5.6抽象类349 本节习题351 8.6关于多继承的讨论353 8.6.1多个基类之间的成员重名353 8.6.2重复继承354 8.6.3虚基类356 本节习题357 8.7本章习题357 第9章流类库与文件I/O360 9.1流类库360 本节习题363 9.2标准I/O364 9.2.1通用输入流类istream及其对象cin364 9.2.2通用输出流类ostream及其对象cout369 本节习题375 9.3文件I/O376 9.3.1文件及其操作376 9.3.2文件输出流类ofstream及文件输出379 9.3.3文件输入流类ifstream及文件输入382 9.3.4文件输入/输出流类fstream385 本节习题389 9.4string类及字符串I/O389 9.4.1字符串类string389 9.4.2字符串I/O391 本节习题392 9.5基于Unicode编码的流类库392 本节习题394 9.6本章习题394 第10章C++标准库395 10.1函数模板395 10.1.1函数模板的定义与使用396 10.1.2函数模板的编译原理397 10.1.3函数模板的声明399 本节习题400 10.2类模板400 10.2.1类模板的定义与使用400 10.2.2类模板的编译原理402 10.2.3类模板的继承与派生403 本节习题405 10.3C++标准库406 本节习题407 10.4C++语言的异常处理机制408 10.4.1程序中的三类错误408 10.4.2程序异常处理机制410 10.4.3try-catch异常处理机制412 10.4.4C++标准库中的异常类exception418 本节习题420 10.5数据集合及其处理算法421 10.5.1数据集合的存储和处理421 10.5.2C++标准库中数据集合的存储和处理424 10.5.3向量类vector427 10.5.4列表类list431 10.5.5集合类set432 10.5.6映射类map433 本节习题434 10.6面对象程序设计总结435 10.6.1使用MFC类库开发图形用户界面程序435 10.6.2结语440 10.7本章习题441 附录AVisualC++6.0集成开发环境442 附录B各章“本节习题”参考答案449 参考文献452 |