版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、C+程序设计考试样卷(2小时开卷)题类一二三四五总分得分学校: 学号: 姓名: 一、 单项选择题(30分,共15题,每小题2分)1C+对C语言作了很多改进,从面向过程变成为面向对象的主要原因为_。A) 增加了一些新的运算符 B) 允许函数重载,并允许设置缺省参数C) 规定函数说明符必须用原型 D) 引进了类和对象的概念2. 以下说法中,错误的是 。A) 函数的形式参数类型若与实际参数不一致,则以实际参数类型为准. B) 函数的形式参数在函数被调用时系统才为其分配存储空间.C) 函数的嵌套调用就是直接或间接地调用函数本身.D) 在函数定义时若没有指出函数的数据类型, 则默认函数的返回值是void
2、.3已知:int m=10; 下列表示引用的方法中,正确的是_。A) int& x=m; B) float& t=&m; C) int& z; D) float& t=m;4. 下列析构函数的特征是_。A) 一个类中只能定义一个析构函数B) 析构函数名与类名无关C) 析构函数的定义只能在类体内D) 析构函数可以有一个或多个参数5. sizeof(double) 是 。A) 一个不合法的表示形式 B) 一种函数的调用 C) 一个整型表达式 D) 一个双精度浮点表达式 6. 若条件表达式(exp)? a+: b-, 则以下表达式中能完全等价于表达式(exp)
3、的是 。A) (exp=0) B) (exp!=1) C) (exp=1) D) (exp!=0)7. 若定义char t10; 则在下面表达式中不表示t1的地址的是 。A) t+1 B) t+ C) &t0+1 D) &t18一个函数功能不太复杂,但要求被频繁调用,选用_。A) 内联函数 B) 重载函数 C) 递归函数 D) 嵌套函数9. 下面程序段的运行结果是 。 char str = "ABC", *q =str; cout<<*(q+3);A) 67 B) 字符 'C' C) 字符 'C'的地址 D) 01
4、0在C+中,关于下列设置参数默认值的描述中,正确的是_。A) 程序中有函数重载,就不能设置参数默认值B) 设置参数默认值,只能在函数定义时进行C) 设置参数默认值时,应该是先设置右边的再设置左边的D) 设置参数默认值时,应该全部参数都设置11下列标识符中,具有文件作用域的是_。A) 函数参数 B) 语句标号 C) 静态全局变量 D) 局部变量12下列不能作为类的成员的是_。A) 自身类对象的指针 B) 自身类对象C) 自身类对象的引用 D) 另一个类的对象13下列析构函数的特征是_。A) 一个类中只能定义一个析构函数B) 析构函数名与类名无关C) 析构函数的定义只能在类体内D) 析构函数可以有
5、一个或多个参数14关于成员函数的特征描述中,错误的是_。A) 成员函数一定是内联函数 B) 成员函数可以重载C) 成员函数可以设置参数默认值 D) 成员函数可以是静态的15已知:int a, *pa=&a; 输出指针pa值的十进制表示的方法是_。A) cout<<pa; B) cout<<*pa;C) cout<<&pa; D) cout<<long(pa);二、是非判断题(10分,共10题,每小题1分)(请在题号上打或X) 1. C+中使用注释符(/),不能使用注释符(/*/)。 2. C+中定义常量,不能用宏定义的方法,只能用
6、const。 3. C+是一种编译型的高级语言。 4. 错误信息可能会出现在编译过程中,不会出现在链接过程中。 5. C+提供的库函数都被定义在它所对应的头文件中。 6. C+中数组元素的下标是从0开始,它们连续存储在内存单元中。 7. 引用是某个变量的别名,对引用的操作,就是对被引用变量的操作。 8. 语句int a(5), &b = a, *p = &a;中,b的值和*p的值是相等的。 9. 在C+中,声明函数时都用函数原型。 10.如果一个函数没有返回值,定义时函数头前需用void。三、填空题(10分,共5题,每小题2分)1. 在用class定义一个类时,数据成员和成员函
7、数的默认访问权限是_。2. 含有纯虚函数的类称为_。3. 已知int fn(int n)return n+n;和long fn(long n)return n+n;是一个函数模板的两个实例,则该函数模板的定义是_。4. 继承的方式有公有继承、私有继承和_3种。5. 表达式operator+(x,y)还可以表示为_。四、读程序,写运行结果(30分)1.(7分)#include<iostream>using namespace std;/-void other();/-int main() int x=0, y=3; other(); cout<<x<<” ”&
8、lt;<y<<”n”; other();/-void other() static int x=2; int y=6; x += 2; cout<<x<<” ”<<y<<”n”;/-2. (8分)#include <iostream>using namespace std;/-class Class int x,y;public: Class(int n=6, int m=7); Class(); void Set(int n, int m) x=n; y=m; ;/-Class:Class(int n, int m
9、) Set(n,m); cout<<"Construct: x="<<x<<",y="<<y<<”n”;/-Class:Class() cout<<"Destruct: x="<<x<<",y="<<y<<”n”;/-int main() Class a(5); Class b=Class(1,3); cout <<"exiting.n"/-3. (8分)#incl
10、ude<iostream>using namespace std;/-class Tdate void Init(int m,int d,int y); int month, day, year;public: Tdate(); Tdate(int d); Tdate(int m,int d); Tdate(int m,int d,int y); void Print();Tdate:Tdate() Init(6,13,2000);Tdate:Tdate(int d) Init(6,d,2000);Tdate:Tdate(int m,int d) Init(m,d,2000);Td
11、ate:Tdate(int m,int d,int y) Init(m,d,y);void Tdate:Init(int m,int d,int y) month = m; day = d; year = y;void Tdate:Print() cout<<month<<”-”<<day<<”-”<<year<<”n”;/-int main() Tdate today(6,17,2000); Tdate someday(4,25); Tdate oneday(3); Tdate otherday; today.Print
12、(); someday.Print(); oneday.Print(); otherday.Print();/-4(7分)#include<iostream>using namespace std;/-class Counter int v;public: Counter() v=0; Counter& preAddOne(); Counter postAddOne(); void print() cout<<v<<”n”; ;/-Counter& Counter:preAddOne() v+; return *this;/-Counter
13、Counter:postAddOne() Counter temp; temp.v = v+; return temp;/-int main() Counter c; for(int i=0; i<8; i+) c.postAddOne().postAddOne(); c.print(); for(int j=0; j<8; j+) c.preAddOne().preAddOne(); c.print();/-五、设计题(20分,共4题,每题10分,选2题做)1.设计一个Date类,包含足够的数据成员和成员函数,使其加在下列程序中,能得出后面的运行。#include<iost
14、ream>#include<iomanip>using namespace std;/-class Date.;/-int main() Date a(2004,1,1), b(2003,12,25);a.print();cout<<”n”;a pare(b);cout<<”n”;/-运行结果为:2004-01-012004-01-01 is larger than 2003-12-252根据下列代码和其运行结果,写出完整的A类#include <iostream>using namespace std;/-class A public:
15、void set(int i, int j)a=i,b=j;private: int a; int b;/-int main() cout <<”Starting.n”; A a3; for(int i=0; i<3; i+) ai.set(2*i+1, (i+1)*2); cout <<”Ending.n”;/-运行结果为:Starting.Default constructor called.Default constructor called.Default constructor called.Ending.Destructor called. a=5,b
16、=6Destructor called. a=3,b=4Destructor called. a=1,b=23编写一个对日期数据排序的程序。给定输入日期数据的格式为:MM-DD-YYYY,输入数据放在名为abc.txt的文件中,格式如下例所示,数据量大约为1000个日期。输出是排好序的全部日期,格式与输入格式一致,每个日期占一行。例如:样板输入:12-23-200302-11-200510-30-2001样板输出:10-30-200112-23-200302-11-20054.给定类继承体系,如图,其代码文件为auto.h。现有若干Car类对象和Truck类对象存放在向量x(类型为vector
17、<Auto*>)中。实现函数:void myProc(const vector<Auto*>& x);将其按销售金额排序后输出,每行占一个车店名,并在店名后标注其为Car或Truck。Car(客车)Truck(货车)Auto(汽车)/-/-#ifndef AUTO#define AUTO#include<iostream>#include<string>using namespace std;/-class Autostring name; / 车店名double price; / 车价int number; / 销售数量double s
18、um; / 总销售额public:Auto(string s, double p, int n):name(s),price(p),number(n)void addNumber(int n) number += n; sum = price*number; double getSum()const return Sum; friend bool lessThan(const Auto*& a, const Auto*& b);virtual void display()=0;/-class Car : public Autoint seat;public:Car(string s, double p, int n, int se):Auto(s,p,n),seat(se)void display() cout<&
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025建筑工程施工合同的
- 2025年度文化创意商铺租赁合同范本(含知识产权保护协议)3篇
- 2025年度文化创意园区物业用房移交与知识产权保护合同3篇
- 二零二五年度全款购新能源汽车及充电站建设合同模板3篇
- 二零二五年度农机作业与农业产业扶贫合作合同3篇
- 2025年度高新技术园区融资合同范文汇编3篇
- 二零二五年度公司汽车转让协议:适用于汽车租赁公司车辆更新3篇
- 2025年度新能源公司合并投资协议2篇
- 二零二五年度全日制劳务合同书(高新技术企业研发)2篇
- 二零二五年度供应链金融借款协议3篇
- (八省联考)河南省2025年高考综合改革适应性演练 化学试卷(含答案)
- 2025中国电信山东青岛分公司校园招聘高频重点提升(共500题)附带答案详解
- 2025年八省联考高考语文作文真题及参考范文
- 新课标(水平三)体育与健康《篮球》大单元教学计划及配套教案(18课时)
- 开题报告-铸牢中华民族共同体意识的学校教育研究
- 科研伦理与学术规范(研究生)期末试题库及答案
- 收款账户确认书
- 消防水池 (有限空间)作业安全告知牌及警示标志
- 修复学全口义齿
- 机械设备租赁合同范本简单版(9篇)
- 美甲顾客档案表Excel模板
评论
0/150
提交评论