C++——C++程序设计谭浩强 例题归纳

第一章 C++的初步知识

  • 1.2 求和
  • 1.3 求最大值
  • 1.4 面向对象

第二章 数据类型与表达式

  • 2.1 字符赋给整型变量
  • 2.2 小写字母变大写 a=97 A=65
  • 2.4 强制类型转换
  • 2.5 将有符号数据传给无符号数据
  • 2.6 逗号

第三章 程序设计初步

  • 3_1 各行小数点对齐
  • 3_2 输出单个字符 putchar
  • 3_3 输入单个字符 getchar
  • 3_4 scanf printf 函数进行输入输出
  • 3_5 求ax^2+bx+c=0的根
  • 3_6 求三角形面积
  • 3_7 判断是否为大写,是:转小写 否:不动
  • 3_8 判断某年是否为闰年
  • 3_9 运输公司路程计费 p:运费/吨 w:重 s:距离 d:折扣 f:总运费 f=pws*(1-d)
  • 3_10 求1+2+3+…+100; for| do while | while
  • 3_12 求pi的近似值
  • 3_13 求fibonacci数列前40个数
  • 3_14 找出100-200之间的全部素数
  • 3_15 译密码 E=A+4

第四章 函数与预处理

  • 4_1 在主函数中调用其他函数
  • 4_2 调用时数据传递
  • 4_3 对被调用的函数作声明
  • 4_4 函数指定为内置函数
  • 4_5 函数的重载,类型不同 求3数max
  • 4_6 函数的重载,参数不同
  • 4_7 函数模版
  • 4_8 有默认参数的函数 求max
  • 4_9 函数的嵌套调用 用弦截法求方程f(x)=x^3-5x^2+16x-80=0
  • 4_10 递归有5个人坐在一起,问第5个人多少岁?他说比第4个人大两岁。问第4个人岁数, 他说比第3个人大两岁。问第3个人,又说比第2个人大两岁。问第2个人,说比第1个人大两岁。最后问第1个人,他说是10岁。请问第5个人多大 ?
  • 4_11 递归 求n!
  • 4_12 静态局部变量的值
  • 4_13 静态局部变量 输出1~5的阶乘值
  • 4_14 寄存器register 改写阶乘
  • 4_15 用extern对外部变量作提前引用声明,扩展程序文件的作用域
  • 4_16 外部函数 求max
  • 4_17 条件编译命令

第五章 数组

  • 5_1 数组元素的引用
  • 5_2 数组 求fibonacci问题
  • 5_3 数组 冒泡排序
  • 5_4 二维数组 行列互换(转置)
  • 5_5 3*4矩阵,求max
  • 5_6 5_5的基础下编写max_value函数
  • 5_7 数组 选择排序
  • 5_9 字符数组 输出钻石图形
  • 5_10 字符数组 求3个字符串的最大值
  • 5_11 string 字符串运算,输入3个字符串,将字母由小到大的顺序输出。
  • 5_12 一个班有n个学生,需要把每个学生的简单材料(姓名和学号)输入计算机保存。然后可以通过输入某-学生的姓名查找其有关资料。当输入-一个姓名后,程序就查找该班中有无此学生,如果有,则输出他的姓名和学号,如果查不到,则输出“本班无此人”。

第六章 指针

  • 6_1 通过指针变量访问整型变量
  • 6_2 指针变量 输入a和b,2个整数,按大到小的顺序输出a和b
  • 6_3 参数为指针类型 同例6_2
  • 6_4 输入a,b,c 3个整数,按由大到小的顺序输出
  • 6_5 指针与数组 输出数组中的全部元素
  • 6_6 指针 将10个整数按由小到大的顺序排列(选择排序)
  • 6_7 指针多维数组 输出二维数组各元素的值
  • 6_8 指针多维数组 输出二维数组任一行任一列元素的值
  • 6_9 指向数组的指针作函数参数 输出数组
  • 6_10 字符串与指针 用字符数组存放一个字符串
  • 6_11 字符串与指针 用字符变量存放一个字符串
  • 6_12 字符串与指针 用字符指针指向一个字符串
  • 6_13 字符串与指针 将字符串str1复制为字符串str2
  • 6_14 用函数指针变量调用函数
  • 6_15 指针数组 若干字符串按字母顺序(由小到大)输出
  • 6_16 指向指针的指针
  • 6_17 引用 引用和变量的关系
  • 6_19 值互换 传递变量的指针
  • 6_20 值互换 传送变量的别名
  • 6_21 对3个变量按由小到大的顺序排序

第七章 自定义数据类型

  • 7_1 引用结构体变量中的成员
  • 7_2 结构体数组 对候选人得票的统计程序。(设有3个候选人,最终只能有1人当选为领导。今有10个人参加投票,从键盘先后输入这10个人所投的候选人的名字,要求最后输出这3个候选人的得票结果。可以定义一个候选人结构体数组,包括3个元素,在每个元素中存放有关的数据。)
  • 7_3 指向结构体变量的指针 指向结构体变量的指针的应用
  • 7_4 静态链表 next
  • 7_5 结构体变量作为函数参数 指向结构体变量的指针作实参 结构体变量的引用作为函数参数 (有一个结构体变量stu,内含学生学号、姓名和3门课的成绩。要求在main函数中为各成员赋值,在另一函数print中将它们的值输出。)
  • 7_6 动态分配和插销内存
  • 7_7 共用体 一个表格存入学生和老师的数据 根据job判断是学生还老师第5列学生是class,老师是position
  • 7_8 枚举类型 (口袋中有红、黄、蓝、白、黑5种颜色的球若干个。每次从口袋中任意取出3个球,问得到3种不同颜色的球的可能取法,输出每种排列的情况。)

第八章 类和对象

  • 8_1 类和对象 举例1
  • 8_2 应用多个对象的成员
  • 8_3 将8_2改用含成员函数的类处理
  • 8_4 类 找出一个整型数组中的元素的最大值

第九章 关于类和对象的进一步讨论

  • 9_1 构造成员函数 定义构造成员函数
  • 9_2 带参数的构造函数 有2个长方柱,有长宽高,求体积
  • 9_3 构造函数的重载
  • 9_4 使用默认参数的构造函数 改写9_3 若定义了全部是默认参数的构造函数,不能再定义重载构造函数
  • 9_5 析构函数(只有一个) 包含构造函数和析构函数的C++程序
  • 9_6 对象数组(类)的使用方法
  • 9_7 对象指针(类)的使用方法
  • 9_8 对象的常引用
  • 9_9 对象的赋值 对象的复制
  • 9_10 引用静态数据成员
  • 9_11 引用非静态成员的具体方法
  • 9_12 友元函数 将普通函数声明为友元函数
  • 9_13 友元成员函数的应用
  • 9_14 类模板 实现整数/浮点数/字符的比较

第十章 运算符重载

  • 10_1 通过函数来实现复数相加
  • 10_2 改写10_1 重载运算符“+”,使其能用于2个复数相加
  • 10_3 将运算符”+”重载为适用于复数加法,重载函数不作为成员函数,而放在类外,作为Complex类的友元函数。
  • 10_4 重载双目运算符 定义一个字符串类String,用来存放不定长的字符串,重载运算符==,<,>,用于字符串的比较运算
  • 10_5 重载单目运算符 有一个Time类,包含数据成员minute(分)和sec(秒),模拟秒表60秒进一分钟
  • 10_7 重载流插入运算符“<<” 参见10_1声明
  • 10_8 重载流插入运算符“>>” 参见10_1声明
  • 10_9 类型转换函数的简单例子

第十一章 继承和派生

  • 11_1 访问共有基类的成员
  • 11_2 将11_1中的公用继承方式改为用私有继承方式
  • 11_3 在派生类中引用保护成员
  • 11_5 简单的派生类的构造函数
  • 11_6 包含子对象的派生类的构造函数
  • 11_7 多层派生时的构造函数
  • 11_8 多重继承
  • 11_9 虚基类的简单应用举例(避免二义性) 在11_8的基础上添加共同基类person
  • 11_10 指向基类对象的指针指向派生类对象

第十二章 多态性和虚拟函数

  • 12_1 多态性 继承 运算符重载
  • 12_2 虚函数 基类和派生类中有同名函数
  • 12_3 虚析构函数 基类中有非虚析构函数时的执行情况
  • 12_4 虚函数和抽象基类的应用

第十三章 输入输出流

  • 13_1 cerr输出出错信息(不经过缓存区,clog经过缓存区)
  • 13_2 用控制符控制输出格式
  • 13_3 用流控制成员函数输出数据
  • 13_4 (cout.put 和putchar 实现)有一字符串“Basic”,将其按相反的顺序输出
  • 13_5 while (cin >> grade) 通过测试cin的真值,判断流对象是否处于正常状态
  • 13_6 cin.get 用get函数读入字符
  • 13_7 getline 用成员函数getline函数读入一行字符
  • 13_8 cin.eof
  • 13_9 cin.peek cin.putback
  • 13_10 cin.ignore 用ignore函数跳过输入流中的字符
  • 13_11 创建文件写入
  • 13_12 读取文件读入数据
  • 13_13 从键盘读入 – 行字符,把其中的字母字符依次存放在磁盘文件f2.dat中。再把它从磁盘文件读入程序,将其中的小写字母改为大写字母,再存入磁盘文件f3.dat
  • 13_14 read write 读写二进制文件
  • 13_15 将13_14二进制形式文件读入内存,并在显示器上显示
  • 13_16 随机访问二进制文件
  • 13_17 字符串流 将一组数据保存在字符数组中
  • 13_18 在 – -个字符数组c中存放了10个整数,以空格相间隔,要求将它们放到整型数组中,再按大小排序,然后再存放回字符数组c中

第十四章 C++工具

  • 14_1 try catch throw 异常处理方法
  • 14_2 在函数嵌套的情况下检测异常处理
  • 14_3 在异常处理中处理析构函数
  • 14_5 利用命名空间来解决程序名字冲突问题

发表评论

电子邮件地址不会被公开。 必填项已用*标注