201603考试批次《C++》(结课作业)
更新时间:2024-01-28 03:10:01 阅读量: 教育文库 文档下载
- 邮编201603推荐度:
- 相关推荐
201603考试批次 《C++》结课作业
学生姓名 : 学号 : 专 业 :计算机科学与技术
学习中心 : 考 号:
年级层次:
北京语言大学网络教育学院
《C++》结课作业
注意:
本学期所布置的结课作业,请同学一律按照以下要求执行:
一、学生必须预约才能在学生平台看见相关课程的“结课作业”按钮;
二、提交路径:个人平台首页--学习中的课程,点击该课程名称--点击“结课作业”--点击“浏览”按钮,选择要上传的文档后点击“提交作业”即可。
三、结课作业提交起止时间:2016年1月25日—3月21日。(届时平台自动关闭,逾期不予接收。)
四、提交的文档格式必须为word文档,截止日期前可多次提交,平台只保留最后一次提交的文档;
五、严格按照课程名称提交相应课程结课作业,提交错误的结课作业,按0分处理。
一. 论述题(本大题共5小题,请任选其中两道题作答,每小题25分,总分50分)
1. C++中的继承使编程者可以用已有的数据类型创建新的数据类型,并保留已有数据类型
的特点。请简述继承方式的三种类型,及三种继承类型的类成员的特点。 2. 请简述C++中引用和指针的区别。
答:(1). 指针是一个实体,而引用仅是个别名; (2). 引用使用时无需解引用(*),指针需要解引用;
(3). 引用只能在定义时被初始化一次,之后不可变;指针可变;引用“从一而 终” ^_^
(4). 引用没有const,指针有const,const 的指针不可变; (5). 引用不能为空,指针可以为空;
(6). “sizeof 引用”得到的是所指向的变量(对象)的大小,而“sizeof 指针”得到的是指针本身(所指向的变量或对象的地址)的大小;typeid(T) == typeid(T&) 恒为真,sizeof(T) == sizeof(T&) 恒为真,但是当引用作为成员时,其占用空间与指针相同(没找到
标准的规定)。
(7). 指针和引用的自增(++)运算意义不一样;
(8).从内存分配上看:程序为指针变量分配内存区域,而引用不需要分配内存区域。
3. 面向对象程序设计有哪些优点?
答:
(1)、易维护 采用面向对象思想设计的结构,可读性高,由于继承的存在,即使改变需求,那么维护也只是在局部模块,所以维护起来是非常方便和较低成本的。
(2)、质量高 在设计时,可重用现有的,在以前的项目的领域中已被测试过的类使系统满足业务需求并具有较高的质量。
(3)、效率高 在软件开发时,根据设计的需要对现实世界的事物进行抽象,产生类。使用这样的方法解决问题,接近于日常生活和自然的思考方式,势必提高软件开发的效率和质量。
(4)、易扩展 由于继承、封装、多态的特性,自然设计出高内聚、低耦合的系统结构,使得系统更灵活、更容易扩展,而且成本较低。
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< int vehicle::get_wheels() {return wheels; } float vehicle::get_weight() {return weight;} void vehicle::print() {cout<<\车轮数:\重量:\ 2. 使用while、do…while、for三种循环语句分别编写计算从1到30的累加的程序代码。 3. 设计函数char capitalize(char);将小写英文字符变为对应的大写字符。 答: 解:小写字母比大写字母ASCII码值大32,或写作ch=ch-‘a’+’A’; #include if(ch>='a'&&ch<='z') return ch-'a'+'A'; else return ch; } int main(){ int i=0; char cp[30]; cout<<\请输入包含小写字母的句子:\ cin.getline(cp,30); while(cp[i]!='\\0') cout< cout< } 4.请按从小到大的顺序输出个、十、百位数字各不相同的所有三位数,结果写入f2.txt中,一个数一行。 答:解:#include #include int i, j, k, count = 0; ofstream output; output.open(\ios::out); /**********Program**********/ /********** End **********/ output.close(); cout <<\the enter key to exit!\<< endl; cin.ignore(cin.rdbuf()->in_avail() + 1); return 0; } for(i = 0; i < 10; i++) for(j = 0; j < 10; j++) for(k = 1; k < 10; k++) { if(i != j && j != k && i != k) { output << k << j << i; count++; if(count == 60) { count = 0; output << endl; } else output << \\ } } 5.编写一个函数,实现对一维数组的二分(折半)查找算法。如找到,则返回其数组下标,否则返回-1。(二分查找的思想是:要查找的数据保存在数组中,并且数据已经排好序(如从小到大递增)。查找时,每次比较数组中间(用数组下标判断)那个数据,如果相等,则找到;如果小于它,则在数组左半边按照相同的方式查找;如果大于它,则在数组右半边按相同方式查找。
正在阅读:
(易错题精选)最新时事政治—生存资料消费的难题汇编含答案解析(1)05-31
在刑事庭的实习心得01-29
VAE扩能改造工程施工组织设计06-26
一年级下册音乐教案目录讲解04-26
珠海南方软件网络评测中心软硬件设备采购探究概论 - 图文05-22
2019年整理艺术生资料(经济生活第二单元)教师版 - 图文03-13
2014-2015学年度重庆市求精中学11月月考复习检测题(必修一全册)05-20
爱的早餐作文600字06-26
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- C++
- 批次
- 作业
- 考试
- 201603
- 阅读作文 做事讲究效率的爸爸
- 浅谈李白山水诗的个性特点
- 应用电化学-文献翻译 - 图文
- 小博士辅导班测试题
- PGP使用指南
- 公元 1943 年民国 三十二 年夏私立崇真中学 首 届高中毕业生
- 水池参考
- 人教版三年级数学上册万以内的加法和减法天天练79
- 低压断路器及选型
- 中心负压吸痰操作流程
- 2017届山东省威海市第一中学高三上学期10月模块考试语文试题(解析版)
- 2010年高考物理二轮专题复习测试题6
- 财政学题库(学生版)
- 广东省防汛防旱防风防冻应急预案
- 环境工程微生物学
- 房地产业已经没落,中国未来十年要靠三大支柱型产业!
- 萨蒂扬审计失败案例分析
- PCS-974-G - X - 说明书 - 国内中文 - 标准版 - X - R1.00 - ZL - YJBH5221.12 - 图文
- 西安交通大学17年3月课程考试《微机原理与接口技术》作业考核试题
- 关于加强专武干部选拔配备工作的建议和思考