计算机基础教育 > 算法与程序设计类
C++程序设计教程
书号:9787113232474 套系名称:高等院校计算机基础教育规划教材·精品系列
作者:史巧硕 朱怀忠 出版日期:2017-08-01
定价:48.00 页码 / 开本:324 /16
策划编辑:魏娜 周海燕 责任编辑:周海燕 李学敏
适用专业:计算机基础教育 适用层次:高等教育
最新印刷时间:2024-12-01
资源下载
教学课件
教学素材(暂无)
习题答案(暂无)
教学案例(暂无)
教学设计(暂无)
教学视频(暂无)
内容简介
前言
目录
作者介绍
图书特色
本书是学习 C++ 语言程序设计的基础教程,较为系统地讲述了 C++ 语言的基础知识、基本规则及 编程方法。在此基础上,对 C++ 面向对象的基本思想及面向对象的设计方法进行了讲解,对 C++ 的可 视化编程的基本方法进行了介绍。 本书加强基础、注重实践,在内容讲解上采用循序渐进、逐步深入的方法,突出重点,注意将难 点分开,使读者易学易懂。 本书适合作为高等院校各专业程序设计的教材,也可作为计算机培训班的培训教材,以及广大软 件开发人员和自学者的参考用书。
"前言 计算机技术和网络技术的飞速发展,已经深刻地改变了人们工作、学习和生活的方式,在当今高度信息化的社会背景下,需要我们了解计算机处理问题的基本思想和方法。计算机程序设计课程作为大学非计算机专业学生的公共必修课程,有着非常重要的地位。通过该课程的学习,可以使学生了解计算机编程的思想和方法,培养学生的计算思维。同时,该课程对于激发学生的创新意识、培养自学能力、锻炼编程能力也起着极为重要的作用。 C++是目前使用最广泛的面向对象的程序设计语言之一,由此C++程序设计课程也成为各高等院校,尤其是理工科专业的主流程序设计课程。本书的作者长期从事C++语言程序设计课程的教学工作,并利用C++语言开发了多个软件项目,有着丰富的教学经验、较强的科研能力和开发软件项目的实际经验,对C++语言有着深入的理解。为了使初学程序设计的读者能够掌握C++程序设计语言的使用方法并初步具备使用C++程序设计语言开发应用程序和解决实际问题的能力,作者精选了C++的内容,本着加强基础、注重实践、勇于创新、突出应用的原则,力求使本教材达到可读性、适用性与先进性的统一。为了便于读者学习,在全书的体系结构和内容的编排上由浅入深、深入浅出、循序渐进。为了提高读者编程技巧,在大部分章节中都提供了典型例题。 全书共分为9章,第1~6章较为系统地讲述了C++语言的基础知识、基本规则及编程方法。其中第1章介绍了程序设计的基础知识,并通过一个简单实例,对Visual C++ 6.0集成开发环境进行了介绍;第2~6章讲述了C++语言的基本内容,包括程序语言的基础知识、结构化程序设计、数组与指针、函数与预处理、构造数据类型等,这些内容也是构成C++程序的基础。第7章重点介绍C++的面向对象的基本思想及面向对象的设计方法,如封装、继承、多态等,这些都是C++的核心内容,体现了C++语言面向对象的特点。第8、9章重点介绍了可视化编程的基本方法,这部分主要介绍Windows编程基础知识、使用MFC进行可视化编程的基本方法。 为了更好地理论联系实际,达到良好的教学效果,配合本教程我们还编写了配套C++程序设计实验教程,实验教程与本教材相呼应,在各章均相应地安排了若干上机实验及练习题目,这样可以方便师生有计划、有目的地进行上机操作及课后练习,从而达到事半功倍的效果。另外,在教材和实验中,还有针对性地提供了一些接近实际要求的较为完整的程序示例,教师可以以这些程序为范本,进行综合性练习或组织课程设计的题目。 本书由史巧硕、朱怀忠任主编,并负责全书的总体策划与统稿、定稿工作,刘洪普、赵锦东、付树才任副主编。各章编写分工如下:第1章由李建晶编写,第2章由赵秀平编写,第3章由史巧硕编写,第4章由朱怀忠编写,第5章由刘洪普编写,第6章由毕晓博编写,第7章由刘靖宇编写,第8章由赵锦东编写,第9章由付树才编写。在本书编写过程中,参考了大量文献资料,在此向这些文献资料的作者深表感谢。 由于时间仓促,编者水平有限,书中不当和欠妥之处,敬请各位专家、读者不吝批评指正。 编.者 2017年5月"
"第1章 概述 ..............................................................................................................................................................1 1.1.计算机中的数制与编码....................................................................................................................................1 1.1.1.数制与数制转换........................................................................................................................................1 1.1.2.计算机中的数值数据.................................................................................................................................2 1.2.程序设计方法...................................................................................................................................................4 1.2.1 传统的结构化程序设计.............................................................................................................................4 1.2.2.面向对象的程序设计.................................................................................................................................5 1.3.算法的概念及表示方法....................................................................................................................................5 1.3.1.算法的概念................................................................................................................................................5 1.3.2.算法的表示方法........................................................................................................................................6 1.4.程序设计语言的发展........................................................................................................................................6 1.4.1.程序设计语言的演变.................................................................................................................................6 1.4.2.程序设计语言处理系统.............................................................................................................................7 1.4.3.C语言和面向对象的C++语言....................................................................................................................8 1.5.一个简单的C++程序.........................................................................................................................................9 1.6.C++程序的编写与实现 ...................................................................................................................................10 1.7.使用Visual C++开发C++程序 .........................................................................................................................11 习题 ........................................................................................................................................................................14 第2章 基本数据类型及表达式 ...............................................................................................................................15 2.1 词法符号 ........................................................................................................................................................15 2.1.1 字符集.....................................................................................................................................................15 2.1.2 标识符.....................................................................................................................................................15 2.1.3 关键字.....................................................................................................................................................16 2.2.基本数据类型 .................................................................................................................................................16 2.3 常量与变量 .....................................................................................................................................................17 2.3.1 常量.........................................................................................................................................................17 2.3.2 变量.........................................................................................................................................................21 2.3.3 变量的赋值与初始化...............................................................................................................................22 2.4 运算符与表达式 .............................................................................................................................................23 2.4.1 表达式.....................................................................................................................................................25 2.4.2 算术运算符..............................................................................................................................................25 2.4.3 复合的赋值运算符...................................................................................................................................26 2.4.4 自增、自减运算符...................................................................................................................................27 2.4.5 逗号运算符..............................................................................................................................................28 2.4.6 常用数学函数..........................................................................................................................................28 2.4.7 类型转换..................................................................................................................................................28 习题 ........................................................................................................................................................................30 第3章 结构化程序设计 ..........................................................................................................................................33 3.1.C++基本语句 ..................................................................................................................................................33 3.2 输入与输出 .....................................................................................................................................................34 3.2.1 数据的输出..............................................................................................................................................34 3.2.2.数据的输入..............................................................................................................................................35 3.3 顺序结构程序设计 .........................................................................................................................................37 3.3.1 简单程序的基本结构...............................................................................................................................37 3.3.2 顺序结构程序举例...................................................................................................................................37 3.4 选择结构程序设计 .........................................................................................................................................41 3.4.1 关系运算符与关系表达式.......................................................................................................................41 3.4.2.逻辑运算符与逻辑表达式.......................................................................................................................42 3.4.3 用if语句实现选择结构.............................................................................................................................44 3.4.4.if语句的嵌套形式....................................................................................................................................50 3.4.5 switch语句...............................................................................................................................................52 3.4.6 条件运算符与条件表达式.......................................................................................................................58 3.5 循环结构程序设计 .........................................................................................................................................59 3.5.1 while语句.................................................................................................................................................60 3.5.2 do-while语句...........................................................................................................................................64 3.5.3 for语句.....................................................................................................................................................67 3.5.4 break语句................................................................................................................................................70 3.5.5 continue语句............................................................................................................................................74 3.5.6 循环的嵌套..............................................................................................................................................75 3.5.7 三种循环语句的比较...............................................................................................................................80 3.6 循环结构程序举例 .........................................................................................................................................80 习题 ........................................................................................................................................................................86 第4章 数组与指针 .................................................................................................................................................88 4.1 数组 ................................................................................................................................................................88 4.1.1 数组概念的引入......................................................................................................................................88 4.1.2 一维数组..................................................................................................................................................89 4.1.3 二维数组..................................................................................................................................................98 4.1.4 字符数组与字符串.................................................................................................................................106 4.2 指针 ..............................................................................................................................................................118 4.2.1 地址和指针的概念.................................................................................................................................118 4.2.2 指针变量的定义....................................................................................................................................118 4.2.3 取地址运算符与指针运算符..................................................................................................................119 4.2.4 指针变量的赋值....................................................................................................................................121 4.2.5 指针变量的运算....................................................................................................................................124 4.3 指针与数组 ...................................................................................................................................................126 4.3.1 指针变量与一维数组.............................................................................................................................127 4.3.2 指针变量与二维数组.............................................................................................................................129 4.3.3 指针变量与字符串.................................................................................................................................131 4.3.4 指针数组................................................................................................................................................134 4.3.5 多级指针变量........................................................................................................................................138 4.4.引用 ..............................................................................................................................................................140 4.4.1 引用及其声明........................................................................................................................................140 4.4.2 引用的使用............................................................................................................................................140 4.5.动态内存分配 ...............................................................................................................................................141 4.5.1 单个数据内存空间的分配与释放..........................................................................................................141 4.5.2 数组空间的分配与释放.........................................................................................................................143 习题 ......................................................................................................................................................................145 第5章 函数与预处理 ............................................................................................................................................147 5.1 函数的定义 ...................................................................................................................................................147 5.1.1 函数概念的引入....................................................................................................................................147 5.1.2 函数的定义............................................................................................................................................148 5.1.3 return语句..............................................................................................................................................150 5.1.4 函数声明................................................................................................................................................152 5.2.函数的调用 ...................................................................................................................................................154 5.2.1 函数的调用形式....................................................................................................................................154 5.2.2 函数调用的过程....................................................................................................................................155 5.2.3 参数传递机制........................................................................................................................................156 5.3.指针与函数 ...................................................................................................................................................162 5.3.1 指针变量作为函数参数.........................................................................................................................163 5.3.2 函数调用中数组的传递.........................................................................................................................163 5.3.3 函数指针................................................................................................................................................167 5.3.4 指针函数................................................................................................................................................170 5.4.函数的嵌套调用 ...........................................................................................................................................171 5.5 函数的递归调用 ...........................................................................................................................................172 5.6.内联函数和重载函数 ....................................................................................................................................175 5.6.1 内联函数................................................................................................................................................175 5.6.2 重载函数................................................................................................................................................177 5.7.默认参数的函数 ...........................................................................................................................................179 5.7.1 默认参数的函数....................................................................................................................................179 5.7.2 使用默认参数的函数时需注意的问题...................................................................................................179 5.8.作用域与生命期 ...........................................................................................................................................180 5.8.1 作用域...................................................................................................................................................180 5.8.2 全局变量和局部变量.............................................................................................................................182 5.8.3 生命期...................................................................................................................................................186 5.9.编译预处理 ...................................................................................................................................................190 5.9.1 宏定义(Macro)..................................................................................................................................190 5.9.2 文件包含(#include)...........................................................................................................................194 5.9.3 条件编译................................................................................................................................................195 习题 ......................................................................................................................................................................202 第6章 构造数据类型 ............................................................................................................................................203 6.1 结构体类型 ...................................................................................................................................................203 6.1.1 引言.......................................................................................................................................................203 6.1.2 结构体类型的定义.................................................................................................................................204 6.1.3 结构体变量的定义.................................................................................................................................205 6.1.4 结构体变量的初始化.............................................................................................................................206 6.1.5 结构体变量成员的访问.........................................................................................................................206 6.1.6 结构体数组............................................................................................................................................208 6.1.7 结构体指针变量....................................................................................................................................211 6.1.8 结构体指针变量的应用.........................................................................................................................213 6.2 共用体 .........................................................................................................................................................219 6.2.1 共用体类型的定义.................................................................................................................................219 6.2.2 访问共用体的成员.................................................................................................................................220 6.2.3 共用体类型的特点.................................................................................................................................220 6.3 枚举类型 .....................................................................................................................................................221 6.3.1 枚举类型及枚举变量的定义..................................................................................................................222 6.3.2 枚举元素的访问....................................................................................................................................222 6.4 用typedef定义类型 ......................................................................................................................................223 习题 .....................................................................................................................................................................223 第7章 类与对象 ...................................................................................................................................................225 7.1 类 ................................................................................................................................................................225 7.1.1 类的定义................................................................................................................................................225 7.1.2 类的成员函数........................................................................................................................................227 7.2 对象 .............................................................................................................................................................229 7.2.1 创建对象................................................................................................................................................229 7.2.2 成员的访问............................................................................................................................................230 7.3 构造函数与析构函数 ...................................................................................................................................230 7.3.1 构造函数................................................................................................................................................231 7.3.2 析构函数................................................................................................................................................232 7.3.3 拷贝构造函数........................................................................................................................................233 7.4 类与对象的进一步讨论 ...............................................................................................................................236 7.4.1 this指针.................................................................................................................................................236 7.4.2 对象成员................................................................................................................................................237 7.4.3 静态成员................................................................................................................................................238 7.4.4 对象数组................................................................................................................................................239 7.5 类的友元 .....................................................................................................................................................241 7.5.1 友元函数的定义及作用.........................................................................................................................241 7.5.2 友元类...................................................................................................................................................242 7.6 类模板 .........................................................................................................................................................243 7.6.1 类模板的定义........................................................................................................................................243 7.6.2 定义类模板对象....................................................................................................................................244 7.7 继承与派生 ..................................................................................................................................................244 7.7.1 派生类...................................................................................................................................................245 7.7.2 派生类对基类成员的覆盖.....................................................................................................................247 7.7.3 派生类的构造函数和析构函数..............................................................................................................248 7.8 虚函数 ..........................................................................................................................................................250 7.8.1 多态性...................................................................................................................................................250 7.8.2 虚函数...................................................................................................................................................252 7.8.3 抽象基类................................................................................................................................................254 7.9 运算符重载 ...................................................................................................................................................255 7.9.1 运算符重载的概念.................................................................................................................................255 7.9.2 运算符重载为类的成员函数..................................................................................................................256 7.9.3 运算符重载为类的友元函数..................................................................................................................258 7.9.4 运算符重载原则....................................................................................................................................260 习题 ......................................................................................................................................................................260 第8章 对话框和基本控件 ....................................................................................................................................262 8.1 Windows编程与MFC .....................................................................................................................................262 8.1.1 Windows编程.........................................................................................................................................262 8.1.2 MFC.......................................................................................................................................................263 8.1.3 Microsoft Visual C++..............................................................................................................................263 8.2 对话框与常用控件概述 ................................................................................................................................264 8.2.1 对话框...................................................................................................................................................264 8.2.2 常用控件................................................................................................................................................265 8.2.3 使用MFC AppWizard创建基于对话框的应用程序.................................................................................266 8.3.与用户交互的基于对话框的MFC应用程序 ..................................................................................................269 8.3.1 建立MFC应用程序项目.........................................................................................................................270 8.3.2 编辑对话框资源....................................................................................................................................271 8.3.3 编辑对话框类........................................................................................................................................275 8.4 多对话框应用程序 .......................................................................................................................................282 8.4.1 基于对话框的小学加法运算练习程序...................................................................................................282 8.4.2 多个控件的消息映射.............................................................................................................................286 8.4.3 显示About对话框...................................................................................................................................288 8.4.4 添加登录对话框....................................................................................................................................288 习题 ......................................................................................................................................................................294 第9章 菜单与文档视图结构.................................................................................................................................295 9.1 菜单 ..............................................................................................................................................................295 9.1.1 菜单概述................................................................................................................................................295 9.1.2 对话框应用程序中的菜单设计实例.......................................................................................................297 9.2 文档与视图结构及其应用 ............................................................................................................................301 9.2.1 概述.......................................................................................................................................................301 9.2.2 文档类及其派生类.................................................................................................................................302 9.2.3 视图类及其派生类.................................................................................................................................303 9.2.4 建立单文档界面的绘画程序实例..........................................................................................................304 习题 ......................................................................................................................................................................314 参考文献 ................................................................................................................................................................314"
"史巧硕:博士,副教授,硕士生导师。自1999年开始从事教学工作,承担过计算机文化基础、软件技术基础(VB/VC)、计算机技术及应用基础(研究生)等课程,多次获得课堂教学优秀奖、校级优秀教师一等奖、研究生课堂教学优秀奖等奖项,并承担多项校级教研项目,获得过河北省教学成果三等奖、校级教学成果奖;参加河北省、天津市多项教学科研项目,并在核心期刊发表多篇论文。曾于2004年赴美进修半年,研究方向为数据挖掘、智能计算及机器学习。 "
本书加强基础、注重实践,在内容讲解上采用循序渐进逐步深入的方法,突出重点,注意将难点分开,使读者易学易懂。