描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787113256241丛书名: 全国高等院校计算机基础课程“十三五”规划教材
编辑推荐
(1)提供大量的应用实践内容。(2)基于案例驱动的教学内容设计。(3)选择案例时由浅入深。(4)提供大量的源代码和开发案例。
内容简介
本书围绕素质教育和应用型人才培养目标,结合编者多年的教学实践经验,依据学生技能训练的实际情况,精心组织编写。本书共分两部分:第1章至第7章是C++语言基础知识,较为全面地介绍了程序设计语言C++的基本概念、基本语法和程序结构以及过程化程序思想;第8章至第14章是面向对象程序设计,它建立在C++程序设计基础之上,讲述了面向对象程序设计方法。本书主要针对零起点的读者,适合作为高等院校理工科学生学习C++的入门教材,也可以作为全国计算机等级考试(二级C++语言程序设计)的参考书。为方便广大读者学习,编者同时编写了《C++程序设计实践教程》,供读者参考和自行练习。
目 录
第1部分 C++语言基础知识第1章 C++语言概述 21.1 计算机语言简介 21.2 C++语言的发展 41.3 数据信息的表示与存储 51.3.1 数据的存储单位 51.3.2 数值数据的表示 61.3.3 数值数据的编码(原码、反码与补码) 71.3.4 文本数据的表示(ASCII码) 81.4 一个简单的C++程序 91.5 C++程序的构成和书写形式 101.5.1 C++源程序的结构特点 101.5.2 书写程序时应遵循的规则 111.6 C++程序的开发过程 111.6.1 Visual Studio 2010集成开发环境 121.6.2 项目与解决方案 14第2章 C++编程基础 162.1 关键字和标识符 162.2 数据类型 172.3 常量和变量 192.3.1 常量 192.3.2 变量 202.3.3 符号常量 212.4 运算符和表达式 222.4.1 算术运算符和算术表达式 232.4.2 赋值运算符和赋值表达式 252.4.3 关系运算符和关系表达式 262.4.4 逻辑运算符和逻辑表达式 272.4.5 条件运算符和条件表达式 282.4.6 位运算 282.4.7 其他运算符 292.5 数据类型转换 302.5.1 自动类型转换 302.5.2 强制类型转换 302.6 基本输入/输出 312.6.1 标准输入流和标准输出流 312.6.2 I/O流的格式控制 32第3章 C++基本控制结构程序设计 353.1 C++语句 353.2 顺序结构程序设计 373.3 分支结构程序设计 383.3.1 if语句 383.3.2 switch语句 443.3.3 分支结构程序举例 453.4 循环结构程序设计 463.4.1 while语句 473.4.2 do…while语句 483.4.3 for语句 503.4.4 循环嵌套 523.4.5 break和continue语句 543.4.6 循环结构程序举例 55第4章 函数与预处理 584.1 概述 584.1.1 函数的基本概念 584.1.2 C++程序的函数组成 584.1.3 函数的分类 594.2 函数定义及调用 594.2.1 函数的定义 594.2.2 函数的调用 604.2.3 函数原型声明 624.2.4 函数的嵌套调用和递归调用 624.3 C++中的特殊函数 654.3.1 内联函数 654.3.2 重载函数 664.3.3 具有默认参数值的函数 664.4 函数模板 684.5 局部变量和全局变量 694.5.1 局部作用域和局部变量 694.5.2 全局作用域和全局变量 704.6 变量的生存期和存储类别 714.6.1 变量的生存期 714.6.2 变量的存储类别 724.7 内部函数和外部函数 764.7.1 内部函数 764.7.2 外部函数 764.8 编译预处理 774.8.1 宏定义 784.8.2 文件包含 784.8.3 条件编译 79第5章 数组 815.1 概述 815.2 数组简介 815.2.1 数组声明 815.2.2 数组元素的使用 825.2.3 数组的存储 825.2.4 数组的初始化 835.3 数组作为函数参数 865.3.1 数组元素作为函数参数 865.3.2 数组名作为函数参数 875.4 字符数组与字符串 885.4.1 字符数组的定义和引用 895.4.2 字符数组的初始化 895.4.3 字符数组的应用 89第6章 指针和引用 916.1 指针的概念 916.1.1 指针和指针变量 926.1.2 指针变量的声明和赋值 926.1.3 指针的基本运算 936.2 指针与数组 946.2.1 指针与一维数组 946.2.2 指针与二维数组 966.2.3 指向字符串的指针变量 986.2.4 指针数组和多级指针 996.3 指针和函数 996.3.1 指针作为函数参数 996.3.2 返回指针值的函数 1006.3.3 指向函数指针 1016.4 动态存储分配 1026.4.1 概念 1026.4.2 new操作符 1026.4.3 delete操作符 1036.5 引用 1046.5.1 引用的定义 1046.5.2 引用的操作 1046.5.3 用引用作为函数的参数 105第7章 自定义数据类型 1077.1 结构体类型 1077.1.1 结构体类型的定义 1077.1.2 结构体类型变量的定义及其初始化 1097.1.3 结构体类型的使用 1097.2 枚举类型 1117.3 联合体类型 112第2部分 面向对象程序设计第8章 类与对象 1158.1 面向对象程序设计的基本特征 1158.2 类和对象 1178.2.1 类的定义 1188.2.2 类成员的访问控制 1198.2.3 类的成员函数 1208.2.4 对象的创建与使用 1218.2.5 this指针 1258.3 构造函数和析构函数 1268.3.1 构造函数 1278.3.2 析构函数 1308.4 拷贝构造函数 1318.4.1 拷贝构造函数简介 1328.4.2 浅拷贝与深拷贝 1338.5 类的组合 1368.5.1 组合类的定义 1368.5.2 组合类的构造函数 1378.5.3 前向引用声明 1388.6 类的友元 1408.6.1 友元函数 1408.6.2 友元类 1428.7 类的静态成员 1448.7.1 静态数据成员 1448.7.2 静态函数成员 147第9章 继承与派生 1509.1 继承和派生的概念 1519.2 继承的实现 1529.2.1 派生类的定义 1529.2.2 派生类的构成 1549.2.3 继承的访问控制 1559.2.4 类型兼容规则 1609.3 派生类的构造函数与析构函数 1629.3.1 派生类的构造函数 1629.3.2 派生类的拷贝构造函数 1659.3.3 派生类的析构函数 1659.4 多继承 1679.4.1 多继承中的二义性 1679.4.2 虚基类 1689.4.3 虚基类及其派生类构造函数 169第10章 多态性与虚函数 17210.1 多态性 17210.2 虚函数 17210.2.1 一般虚函数成员 17310.2.2 虚析构函数 17410.3 纯虚函数与抽象类 17710.3.1 纯虚函数 17710.3.2 抽象类 177第11章 运算符重载 18011.1 运算符重载的概念 18011.2 运算符重载的规则和语法 18111.2.1 运算符重载的规则 18111.2.2 运算符重载的语法 18111.3 赋值运算符重载 18711.4 输入/输出运算符重载 189第12章 标准模板库 19212.1 STL简介 19212.2 C++基础 19312.2.1 类 19312.2.2 函数对象 19312.2.3 模板 19412.3 容器 19612.3.1 向量 19612.3.2 线性表 19812.3.3 双向队列 19812.3.4 关联容器 19812.4 迭代器 20012.4.1 输入和输出迭代器 20012.4.2 前向迭代器 20012.4.3 双向迭代器 20112.4.4 任意存取迭代器 20212.4.5 迭代标签 20212.5 算法和函数对象 20312.5.1 如何创建泛型算法 20312.5.2 STL算法 20512.6 适配器 20712.6.1 容器适配器 20712.6.2 迭代适配器 20712.6.3 函数适配器 20812.7 其余的STL部件 208第13章 输入/输出流 21013.1 在输入流与输出流中使用控制符 21013.2 C++输入/输出文件流 21213.2.1 打开文件 21213.2.2 关闭文件 21313.2.3 文本文件 21313.2.4 状态标志符的验证 21413.2.5 获得和设置流指针 215第14章 异常处理 21814.1 异常处理简介 21814.2 异常处理方式 21814.2.1 抛出异常 21814.2.2 捕获异常 21914.3 标准异常 22114.4 自定义异常 22214.5 异常规格说明 223附录A C++语言中运算符的优先级和结合性 226附录B ASCII码字符集 228参考文献 230
前 言
C++编程语言是从C语言发展而来的。C++语言既保留了C语言的有效性、灵活性、便于移植等全部精华和特点,又添加了面向对象编程的支持,具有强大的编程功能,可方便地构造出模拟现实问题的实体和操作。C++语言编写的程序具有结构清晰、可读性好、生成的代码质量高、易于扩充等优良特性,国内许多高校开设了C++程序设计课程。但是,C++涉及概念很多,语法比较复杂,内容十分广泛,使不少学生感到学习难度较大,难以入门。本书围绕素质教育和应用型人才培养目标,结合编者在长期的教学、科研实践以及ACM大学生程序设计竞赛培训工作中总结出的许多难能可贵的教学经验,精心组织编写。本书从过程化编程的基本描述,到对象化编程的方法展开,乃至高级编程的实质揭示,形成一条自然流畅的主线,通俗易懂,形象风趣,引导读者以zui自然的方式,将人类习惯的面向对象思维方法运用到程序设计中。第1章至第7章是C++语言基础知识,较为全面地介绍了程序设计语言C++的基本概念、基本语法和程序结构以及过程化程序思想,包含数据类型、语句和表达式、程序流程控制、数组与字符串、指针与引用、函数、宏与预编译等知识。第8章至第14章是面向对象程序设计,它建立在C++程序设计基础之上,讲述了面向对象程序设计方法,主要内容包括类与对象的基本概念、继承与派生、多态、输入/输出流类库、模板、使用标准模板库STL、异常处理等,使得读者学习C++语言后,能够解决一些实际问题。本书遵循了计算机中“自顶向下”的思维方式,在整体上自上而下,由点到面,由一般到具体,由简单到复杂,全部由校内一线教师和企业教师共同编写完成。本书由王樱、李浪任主编,李康满、田小梅、刘新宇、郑光勇、尹友明任副主编。具体编写分工如下:第1~3章由田小梅和尹友明编写,第4~6章由李康满编写,第7章由郑光勇编写,第8~10章由王樱编写,第11章由李浪编写,第12~14章由刘新宇编写。全书由王樱和李浪统稿。在本书的编写过程中,编写成员根据多年教学的积累结果,整理出适合学生学习实际情况的应用实践案例,并提供相应的解决思路和源代码。本书得到湖南省普通高校教学改革研究项目(湘教通[2018]436号No:538),湖南省普通高校实践教学建设项目,衡阳师范学院十三五转型发展、十三五专业综合改革、校校合作等项目的支持,得到了合作企业及合作院校的实训案例支持,使得本书的案例具有很强的实用性和代表性。为方便广大读者学习,作者同时编写了《C++程序设计实践教程》,供读者参考和自行练习。在该实践教材的编写中,一般先针对知识点的理解给出一个基础案例,随后针对该知识点的应用给出若干应用案例,以此帮助学生掌握每个知识点的应用方法,使其学习起来更有兴趣和信心。 本书已整理好书中实例代码并开发好相应的教学课件,有教学需要的老师可以在中国铁道出版社有限公司的网站上下载,也可发邮件向编者索取。编者的联系方式:wmangying@ 163.com,[email protected]。由于编者水平有限,加之时间仓促,书中不妥和疏漏之处在所难免,恳请广大读者批评指正。编 者 2019年2月
评论
还没有评论。