《面向对象程序设计》选修课
Caution
前排提醒:避雷这个老师的课、避雷这个老师的课、避雷这个老师的课。
考试都是要背诵他给出的“标准代码”的,不按他的代码默写的,分数都很低。
考试是闭卷手写代码,不是机考。
练习 1:输出字符串“hello world”
练习 2:计算圆的面积,要求输入半径 r 后输出圆的面积 area
练习 3:输入圆的半径 r 和一个整型数 k,k 代表求解类型。当 k=1 时,输出圆的面积;当 k=2 时,输出圆的周长;当 k=3 时,输出圆的面积和周长;当 k=其他时,输出“错误,未定义的求解类型”。编程实现以上功能。
训练 4:利用双重循环结构实现如下图所示的 5 行 8 列平行四边形星型图的输出。
********
********
********
********
********
训练 5:已知 f(x)=1/(1+x2),编写函数计算f(x)在区间[a,b]的积分。
训练 6:利用内联函数实现判断输入的一个字符是否是数字字符,要求使用函数原型进行声明。
训练 7:利用函数重载分别求圆、三角形和矩形的面积。
训练 8:利用多文件编译实现两个变量数值的交换,要求:建立工程文件,工程文件中需包含 main.cpp 文件(内容为主函数实现)、swap.h 文件(内容为 swap()函数的原型声明)和 swap.cpp 文件(内容为 swap()函数的实现)。
练习 9:定义二维数组 int a[2][3]={12,13,18,56,75,20},求该数组的平均值,并找出元素中的最大值及所在位置。
练习 10:从键盘输入 C 语言风格字符串abCD123□□@#&,利用函数统计其中英文字符、数字、空格和其他字符的个数。
练习 11:输入三个整数,然后按照从大到小的顺序输出数值。要求:用三个指针分别指向这三个整数,排序过程必须通过这三个指针来操作,不能直接访问这三个整数;输出时,必须使用这三个指针,不能使用存储三个整数的变量。
练习 12:输入一个 2×3 矩阵,利用指针将矩阵逆时针旋转 90 度后输出。
练习 13:利用函数实现从任意输入的两个数中取出大数和大数存放地址的功能,要求函数的返回值为指针、形参为引用。
练习 14:利用动态分配数组实现 N 阶方阵的打印,要求通过键盘输入 N 的值,且方阵的第任意 i 行元素均为 i。
练习 15:定义一个结构体类型 STUDENT,该结构体类型的成员包括姓名、年龄和性别,创建结构体数组用于存放由键盘输入的 5 名学生的信息,将这 5 名学生的信息按年龄由小到大的顺序输出。
练习 16:某比赛结果有四种,(WIN, LOSE, TIE, CANCEL),利用枚举类型变量顺序输出这四种情况。
The game was played and we won!
The game was played and we lost!
The game was played and we tied!
The game was cancelled
练习 17:定义一个名为“Person”的类,包含以下成员变量和成员函数:成员变量:name(姓名)、age(年龄)、gender(性别)
成员函数:void introduce()(介绍自己)、void speak()(说话)
要求:定义一个名为“student”的 Person 类对象,并初始化其成员变量;调用 speak()函数,输出“Hello, I'm student.”
练习 18:定义一个名为"Person"的类,该类具有以下属性:1、name (字符串类型)=“Tom”;2、age (整数类型)=30。
要求实现以下几个函数:1、构造函数,用于初始化类的属性;2、一个名为"getInfo"的成员函数,用于返回人的信息(包括姓名和年龄)。