|
北京语言大学网络教育学院
《C++》结课作业
注意:
本学期所布置的结课作业,请同学一律按照以下要求执行:
一、学生必须预约才能在学生平台看见相关课程的“结课作业”按钮;
二、提交路径:个人平台首页--学习中的课程,点击该课程名称--点击“结课作业”--点击“浏览”按钮,选择要上传的文档后点击“提交作业”即可。
三、结课作业提交起止时间:2016年1月25日—3月21日。(届时平台自动关闭,逾期不予接收。)
四、提交的文档格式必须为word文档,截止日期前可多次提交,平台只保留最后一次提交的文档;
五、严格按照课程名称提交相应课程结课作业,提交错误的结课作业,按0分处理。
一. 论述题(本大题共5小题,请任选其中两道题作答,每小题25分,总分50分)
1. C++中的继承使编程者可以用已有的数据类型创建新的数据类型,并保留已有数据类型的特点。请简述继承方式的三种类型,及三种继承类型的类成员的特点。
2. 请简述C++中引用和指针的区别。
3. 面向对象程序设计有哪些优点?
4.C++编译器自动为类产生的四个缺省函数是什么?
5.不允许重载的5个运算符是哪些?
二. 编程题(本大题共5小题,请任选其中两道题作答,每小题25分,总分50分)
1. 已知交通工具类定义如下,要求:(1)实现这个类;(2)定义并实现一个小车类car,是它的公有派生类,小车本身的私有属性有载人数,小车的函数有init(设置车轮数,重量和载人数),getpassenger(获取载人数 ),print(打印车轮数,重量和载人数)。
class vehicle
{protected:
int wheels;//车轮数
float weight;//重量
public:
void init(int wheels,float weight);
int get_wheels();
float get_weight();
void print();
};
void vehicle::init(int wheels,float weight)
{this->wheels=wheels;
this->weight=weight;
cout<<wheels<<endl;
}
int vehicle::get_wheels()
{return wheels;
}
float vehicle::get_weight()
{return weight;}
void vehicle::print()
{cout<<"车轮数:"<<wheels<<","<<"重量:"<<weight<<endl;}
2. 使用while、do…while、for三种循环语句分别编写计算从1到30的累加的程序代码。
3. 设计函数char capitalize(char);将小写英文字符变为对应的大写字符。
4. 请按从小到大的顺序输出个、十、百位数字各不相同的所有三位数,结果写入f2.txt中,一个数一行。
5.编写一个函数,实现对一维数组的二分(折半)查找算法。如找到,则返回其数组下标,否则返回-1。(二分查找的思想是:要查找的数据保存在数组中,并且数据已经排好序(如从小到大递增)。查找时,每次比较数组中间(用数组下标判断)那个数据,如果相等,则找到;如果小于它,则在数组左半边按照相同的方式查找;如果大于它,则在数组右半边按相同方式查找。 |
|