目录 第1章概述1 1.1程序设计语言简介2 1.1.1程序设计语言的演进2 1.1.2高级程序设计语言的发展3 1.1.3高级语言程序转换成机器语言程序的方式5 1.1.4面向对象程序设计语言的特点6 1.1.5C++语言的标准9 1.2DevC++5.11的使用10 1.2.1软件下载及安装10 1.2.2启动开发环境与程序开发步骤11 1.2.3DevC++编译器的设置12 1.3案例1——Hello World!12 1.3.1问题描述及程序代码12 1.3.2C++语言程序结构13 1.3.3C++程序的书写格式及文件的组织14 1.3.4C++语言字符集及词法规则15 本章小结17 第2章数据类型和运算符18 2.1内存中数据的存储19 2.1.1程序设计中常用的进制及其转换关系19 2.1.2内存空间与分配20 2.2案例2——简易计算器22 2.2.1问题描述及程序代码22 2.2.2数据类型232.2.3变量27 2.2.4输入和输出29 2.3案例3——泳池栏杆和铺地造价32 2.3.1问题描述及程序代码32 2.3.2常量33 2.3.3算术运算符36 2.4案例4——闰年判断39 2.4.1问题描述及程序代码39 2.4.2条件运算符40 2.4.3关系运算符42 2.4.4逻辑运算符44 2.5案例5——数字简单加密47 2.5.1问题描述及程序代码47 2.5.2移位运算符48 2.5.3逻辑位运算符49 2.5.4赋值运算符51 2.6案例6——依据身份证号码计算年龄53 2.6.1问题描述及程序代码53 2.6.2数组54 2.6.3字符串处理函数59 2.6.4获取系统当前日期63 2.6.5string类64 本章小结68 第3章流程控制语句69 3.1程序流程的描述70 3.1.1程序流程的描述方式70 3.1.2判断素数的程序流程描述73 3.2案例7——阶梯水价76 3.2.1问题描述及程序代码76 3.2.2条件语句77 3.3案例8——车牌查询82 3.3.1问题描述及程序代码82 3.3.2开关语句83 3.4案例9——猜数小游戏87 3.4.1问题描述及程序代码87 3.4.2生成随机数88 3.4.3循环语句89 目录3.5案例10——寻找素数95 3.5.1问题描述及程序代码95 3.5.2多重循环97 3.5.3转向语句101 本章小结106 第4章函数107 4.1案例11——计算平均分108 4.1.1问题描述及程序代码108 4.1.2函数的定义和函数的调用109 4.2案例12——“好好学习,天天向上”的力量116 4.2.1问题描述及程序代码116 4.2.2函数声明及函数形参的默认值117 4.2.3函数重载119 4.3案例13——汉诺塔游戏124 4.3.1问题描述及程序代码124 4.3.2函数嵌套调用和函数的递归调用126 4.4数据的存储类型130 4.4.1数据的存储类型的意义130 4.4.2数据的六种存储类型132 4.4.3外部函数137 本章小结138 第5章指针140 5.1指针变量141 5.1.1指针的概念141 5.1.2指针变量的声明141 5.1.3声明指向不同数据类型的指针143 5.2指针的运算146 5.2.1使用指针访问数组元素146 5.2.2指针的算术运算147 5.2.3指针的关系运算149 5.3指针与数组151 5.3.1指向数组的指针151 5.3.2指针数组152 5.4指针与函数155 5.4.1指针变量作函数的形参155 5.4.2指针函数156 5.4.3指向函数的指针158 5.5常指针162 5.5.1存放地址为常量的常指针162 5.5.2指向内容为常量的指针163 5.5.3指向内容为常量的常指针163 本章小结165 第6章类和对象166 6.1结构类型167 6.2案例14——简易电子日历171 6.2.1问题描述及简单代码172 6.2.2类和对象定义173 6.2.3构造函数和析构函数178 6.2.4成员函数的特性186 6.3案例15——教师管理系统193 6.3.1问题描述及程序代码193 6.3.2对象数组和对象指针数组197 6.3.3this指针201 6.4静态成员和常成员206 6.4.1静态成员206 6.4.2常成员210 6.5友元函数和友元类216 6.5.1友元函数216 6.5.2友元类219 本章小结222 第7章继承224 7.1基类和派生类225 7.1.1一个简单的基类225 7.1.2派生一个新类227 7.1.3单继承中派生类的构造函数和析构函数229 7.1.4派生类和基类之间的特殊关系——子类型的赋值兼容233 7.2多继承和虚基类237 7.2.1多继承派生类的构造函数237 7.2.2虚基类241 7.3案例16——化妆品管理系统249 本章小结262 第8章多态263 8.1案例17——复数求和264 8.1.1问题描述及分析264 8.1.2运算符重载函数266 8.1.3单目运算符重载函数272 8.1.4C++运算符重载的说明274 8.2模板276 8.2.1问题描述及分析276 8.2.2函数模板277 8.2.3类模板280 8.3案例18——你是谁284 8.3.1问题描述与分析284 8.3.2虚函数286 8.3.3纯虚函数和抽象类290 本章小结294 第9章输入、输出与文件295 9.1案例19——数值和字符串的格式化输出296 9.1.1问题描述及程序分析296 9.1.2输出格式的应用299 9.1.3其他的输入输出方法 301 9.2案例20——银行取款306 9.2.1问题描述及程序代码306 9.2.2文本文件的输入和输出309 9.3案例21——学生成绩管理314 9.3.1问题描述及程序代码314 9.3.2二进制文件319 9.3.3文件的随机存取321 本章小结323