历年计算机C++二级真题及答案
(12)判断字符型变量ch是否为大写英文字母,应使用表达式____ A ) ch>='A' & ch<='Z' B ) ch<='A' ||ch>='Z' C ) 'A'<=ch<='Z' D ) ch>='A' && ch<='Z' (13)已知下列语句中的x和y都是int型变量,其中错误的语句 A ) x=y++; B ) x=++y; C ) (x+y)++; D ) ++x=y; (14)执行语句序列 int n; cin >> n; switch(n) { case 1:
case 2: cout << '1'; case 3:
case 4: cout << '2'; break; default: cout << '3'; }
时,若键盘输入1,则屏幕显示______ A)1 B)2 C)3 D)12 (15)下列程序的输出结果是______ #include
char a[] = \ char *ptr = a; while (*ptr) {
if (*ptr >= 'a' && *ptr <= 'z') cout << char(*ptr + 'A' -'a'); else cout << *ptr; ptr++; } return 0; }
A ) HELLO, WORLD B ) Hello, World C ) hELLO, wORLD D ) hello, world
(16)已知:int m=10;在下列定义引用的语句中,正确的是______ A ) int &x=m; B )int y=&m; C )int &z; D ) int &t=&m; (17)下列函数原型声明中错误的是______ A ) void Fun(int x=0, int y=0); B ) void Fun(int x, int y); C ) void Fun(int x, int y=0); D ) void Fun(int x=0, int y);
(18)已知程序中已经定义了函数test,其原型是int test(int, int, int);,则下列重载形式中正确的是______ A ) char test(int,int,int); B ) double test(int,int,double); C ) int test(int,int,int=0); D ) float test(int,int,float=3.5F); 1
全国计算机等级考试二级笔试试卷(2004年9月)
公共基础知识及C++语言程序设计
(考试时间90分钟,满分100)分)
一、选择题((1)~(35)每小题2分,共70分)
下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。 (1) 下面叙述正确的是______
A)算法的执行效率与数据的存储结构无关
B)算法的空间复杂度是指算法程序中指令(或语句)的条数 C)算法的有穷性是指算法必须能在执行有限个步骤之后终止 D)以上三种描述都不对
(2)以下数据结构中不属于线性数据结构的是______ A)队列 B)线性表 C)二叉树 D)栈 (3)在一棵二叉树上第5层的结点数最多是______ A)8 B)16 C)32 D)15 (4)下面描述中,符合结构化程序设计风格的是______
A)使用顺序、选择和重复(循环)三种基本控制结构表示程序的控制逻辑 B)模块只有一个入口,可以有多个出口 C)注重提高程序的执行效率 D)不使用goto语句 (5)下面概念中,不属于面向对象方法的是______
A)对象 B)继承 C)类 D)过程调用 (6)在结构化方法中,用数据流程图(DFD)作为描述工具的软件开发阶段是______
A)可行性分析 B)需求分析 C)详细设计 D)程序编码 (7)在软件开发中,下面任务不属于设计阶段的是______ A)数据结构设计 B)给出系统模块结构 C)定义模块算法 D)定义需求并建立系统模型 (8)数据库系统的核心是______
A)数据模型 C)软件工具 B)数据库管理系统 D)数据库 (9)下列叙述中正确的是______
A)数据库系统是一个独立的系统,不需要操作系统的支持 B)数据库设计是指设计数据库管理系统
C)数据库技术的根本目标是要解决数据共享的问题 D)数据库系统中,数据的物理结构必须与逻辑结构一致 (10)下列模式中,能够给出数据库物理存储结构与物理存取方法的是______
A)内模式 B)外模式 C)概念模式 D)逻辑模式 (11)关于面向对象的程序设计方法,下列说法正确的是 A)“封装性”指的是将不同类型的相关数据组合在一起,作为一个整体进行处理
B)“多态性”指的是对象的状态会根据运行时要求自动变化 C)基类的私有成员在派生类的对象中不可访问,也不占内存空间 D)在面向对象的程序设计中,结构化程序设计方法仍有着重要作用
历年计算机C++二级真题及答案
(19)有以下程序 #include
{
static int i = 1; std::cout<
}
std::cout<
int main() {
fun(); fun(); return 0; }
程序执行后的输出结果是______
A)1,2,1,2, B)1,2,2,3, C)2,0,3,0, D)1,0,2,0,
(20)已知函数f的原型是:void f(int *a, long &b); 变量v1、v2的定义是:int v1;long v2;,正确的调用语句是______
A) f(v1, &v2);
C) f(&v1, v2); (21)有以下类定义 class MyClass { public:
MyClass(){cout<<1;} };
则执行语句MyClass a, b[2], *p[2];后,程序的输出结果是_____ A)11 B)111 C)1111 D)11111 (22)关于友元,下列说法错误的是______
A)如果类A是类B的友元,那么类B也是类A的友元 B)如果函数fun()被说明为类A的友元,那么在fun()中可以访问类A的私有成员 C)友元关系不能被继承 D)如果类A是类B的友元,那么类A的所有成员函数都是类B的友元
(23)关于动态存储分配,下列说法正确的是______
A)new和delete是C++语言中专门用于动态内存分配和释放的函数 B)动态分配的内存空间也可以被初始化 C)当系统内存不够时,会自动回收不再使用的内存单元,因此程序中不必用delete释放内存空间
D)当动态分配内存失败时,系统会立刻崩溃,因此一定要慎用new
(24)有以下程序 #include
2
B) f(v1, v2); D) f(&v1, &v2);
}
程序执行时,MyClass类的拷贝构造函数被调用的次数是______ A)5 B)4 C)3 D)2
(25)在公有派生的情况下,派生类中定义的成员函数只能访问原基类的______
A)公有成员和私有成员 B)私有成员和保护成员 C)公有成员和保护成员 D)私有成员、保护成员和公有成员
(26)在C++中用来实现运行时多态性的是______
A)重载函数 B)析构函 C)构造函数 D)虚函数 (27)一个类可以同时继承多个类,称为多继承。下列关于多继承和虚基类的表述中,错误的是______
A)每个派生类的构造函数都要为虚基类构造函数提供实参 B)多继承时有可能出现对基类成员访问的二义性问题 C)使用虚基类可以解决二义性问题并实现运行时的多态性 D)建立最派生类对象时,虚基类的构造函数会首先被调用 (28)在一个类体的下列声明中,正确的纯虚函数声明是______ A) virtual void vf()=0; B) void vf(int)=0; C) virtual int vf(int); D) virtual void vf(int) { } (29)在下面的运算符重载函数的原型中,错误的是______ A) Volume operator - (double, double); B) double Volume::operator- (double); C) Volume Volume: :operator - (Volume); D) Volume operator - (Volume, Volume);
(30)下列是模板声明的开始部分,其中正确的是______ A) template
B) template
int main() {
MyClass obj1(10), obj2(0); MyClass obj3(obj1); obj2=fun(obj3); return 0; public:
MyClass(int n){number = n;} //拷贝构造函数
MyClass(MyClass &other){ number=other.number;} ~MyClass(){} private:
int number; };
MyClass fun(MyClass p) {
MyClass temp(p); return temp;
历年计算机C++二级真题及答案
(31)执行语句序列
ofstream outfile(\TA.DAT\
if(...) cout << \
后,如果文件打开成功显示“OK”,否则就显示“F厶n。”。由此可知,上面if语句的... 处的表达式应是______
A )outfile.fail() 或 outfile B )outfile.good() 或 !outfile C )outfile.good() 或 outfile D )outfile.fail() 或 !outfile (32)C++流中重载的运算符>>是一个( )
A)用于输出操作的非成员函数 B)用于输入操作的非成员函数 C)用于输出操作的成员函数 D)用于输入操作的成员函数 { public:
Complex(double r =0, double i =0):re(r), im(i) { } double real() const { return re; } double imag() const { return im;} Complex operator +(Complex c) const { return Complex(re+c.re, im+c.im); } private:
double re, im; };
int main() (33)有以下类定义 class Point { public:
Point(int x = 0, int y = 0) { _.x = x; _.y = y; } void Move(int xOff, int yOff) { _x += xOff; _.y += yOff; } void Print() const
{ cout << '(' << _x << ',' << _y << ')' << endl; } private: int _x, _y; };
下列语句中会发生编译错误的是______ A) Point pt; pt.Print(); B) const Point pt; pt.Print(); C) Point pt; pt.Move(l, 2); D) const Point pt; pt.Move(l, 2); (34)有以下类定义 class MyClass { private: int id; char gender, char *phone; public:
MyClass():id(0),gender('#'),phone(NULL) { } MyClass(int no, char ge='#', char *ph= NULl.) { id=no;gende=ge;phone=ph; } };
下列类对象定义语句中错误的是______ A) MyClass myObj;
B) MyClass myObj(11, \C) MyClass myObj(12, 'm'); D) MyClass myObj(12); (35)有以下程序 #include
{
Complex a = Complex(l, 1) + Complex(5); cout << a.real() << '+' << a.imag() <<'i' << endl; return 0; }
程序执行后的输出结果是______
A) 6+6i B) 6+1i C) 1+6i D) 1+1i 二、填空题(每空2分,共30分)
请将每一个空的正确答案写在答题卡[1]-[15]序号的横线上,答在试卷上不得分。注意:以命令关键字填空的必须拼写完整。
(1)算法的复杂度主要包括[1] 复杂度和空间复杂度。 (2)数据的逻辑结构在计算机存储空间中的存放形式称为数据的 [2] 。
(3)若按功能划分,软件测试的方法通常分为白盒测试方法[3]___
_________测试方法。
(4)如果一个工人可管理多个设备,而一个设备只被一个工人管理,则实体“工人”与实体“设备”之间存在[4] 的联系。 (5)关系数据库管理系统能实现的专门关系运算包括选择、连接和 [5] 。
(6)设有定义语句:int a=12;,则表达式a*=2+3的运算结果是 [6] 。
(7)从实现的角度划分,C++所支持的两种多态性分别是[7] -______时的多态性和运行时的多态性。
(8)将—个函数声明为一个类的友元函数必须使用关键字 [8] 。
(9)请按下面注释的提示,将类B的构造函数定义补充完整。 class A {
int a; public:
A(int aa=0) { a=aa; } };
class B: public A { int b; A c; public:
3 历年计算机C++二级真题及答案
//用aa初始化基类A,用aa+1初始化类对象成员c B(int aa): [ 9 ] { b=aa+2; } };
(10)下列程序的输出结果是 [10] 。 #include
int i = 5; int &r = i; r = 7; cout << i << endl; return 0; }
(11)下列程序的输出结果是 [11] 。 #include
Test() { cnt++; } ~Test() {cnt--; }
static int Count() { return cnt;} private:
static int cnt; };
int Test::cnt = 0; int main() {
cout << Test::Count0 <<' '; Test tl, t2;
Test* pT3 = new Test; Test* pT4 = new Test; cout << Test::Count0 <<' '; delete pT4; delete pT3;
cout << Test::Count() << endl; return 0; }
(12)下面是用来计算n的阶乘的递归函数,请将该函数的定义补充完整。(注:阶乘的定义是n!=n*(n-1)*...*2*1) unsigned fact(unsigned n) {
if ( n<= 1)
return 1;
}
(13)下列程序的输出结果是 [13] 。 #include
4
return [ 12 ] ;
template
T fun(T a, T b) { return (a<=b)?:b;} int main() {
cout << fun(3, 6) << ',' << fun (3.14F, 6.28F) << endl; return 0; }
(14)与成员访问表达式p->name等价的表达式是[14] 。 (15)下列程序的输出结果是 [15] 。 #include
base(int x) { n = x;}
virtual void set(int m) { n = m; cout << n <<' ';} };
class deriveA:public base { public:
deriveA(int x):base(x) { }
void set(mt m) { n += m; cout << n <<' ';} };
class deriveB:public base [ public:
deriveB(int x):base(x) { }
void set(int m) { n +=m; cout <
int main() {
deriveA dl(1); base *pbase; pbase->aet(1); pbase->set(2); }
deriveB d2(3); pbase = &dl; pbase = &d2; return 0;
计算机等级考试二级C++笔试试题(2010年3月)
一、选择题(每小题2分,共70分)
下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的。请将正确选项填涂在答题卡相应位置上,答在试卷上不得分。 (1)下列叙述中正确的是______
A)对长度为n的有序链表进行查找,最坏情况下需要的比较次数为n
B)对长度为n的有序链表进行对分查找,最坏情况下需要的
历年计算机C++二级真题及答案
比较次数为(n/2)
C)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(log2n)
D)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(n log2n)
(2)算法的时间复杂度是指______ A)算法的执行时间
B)算法所处理的数据量
MyClass c1,*c2;
MyClass *c3=new MyClass; MyClass &c4=c1;
上面的语句序列所定义的类对象的个数是______ A)1 B)2 C)3 D)4
(13)下列关于继承方式的描述中,错误的是______
A)如果不显式地指定继承方式,缺省的继承方式是私有(private)
B)采用公有继承方式时,基类中的公有成员在派生类中仍然是公有成员
C)采用保护继承方式时,基类中的保护成员在派生类中仍然是保护成员
D)采用私有继承方式时,基类中的私有成员在派生类中仍然是私有成员
(14)将前缀运算符“--”重载为非成员函数,下列原型中,能正确用于类中说明的是______ A)Decr& operator --(int); B)Decr operator --( Decr&,int); C)friend Decr& operator --(Decr&); D)frlend Decr operator --(Decr&,int);
(15)若MyTemp是一个只有一个虚拟类型参数的类模板,且有如下语句序列 MyTempp2; MyTempp3[2];
编译系统在处理上面的语句序列时,所生成的模板MyTemp的实例的个数是______
A)1 B)2 C)3 D)0 (16)在C++中,cin是个______ A)类 B)对象 C)模板 D)函数
(17)在下列字符中,不允许作为C++标识符的是______ A)b B)B C)_ D)2 (18)下列叙述中,错误的是______
A)false是一个逻辑型常量 B)\是一个字符型常量 C)365是一个int常量 D)3.1415926是一个double常量 (19)若x和y是程序中的两个整型变量,则下列if语句中正确的是______
A)if(x==0) y=1; else y=2; B)if(x==0) then y=1 else y=2; C)if(x==0) y=1 else y=2;
则由关系R得到关系T的操作是______
A)选择 B)投影 C)交 D)并 (11)下列关于函数的描述中,错误的是______ A)函数可以没有返回值 B)函数可以没有参数 C)函数可以是一个类的成员 D)函数不能被定义为模板
(12)若MyClass是一个类名,且有如下语句序列
5
D)if x==0 y=1; else y=2;
(20)要定义整型数组x,使之包括初值为O的三个元素,下列语句中错误的是______ A)int x[3]={0,0,0};
B)int x[]={0};
C)static int x[3]={0}; D)int x[]={0,0,0}; (21)关于函数中的<返回类型>,下列表述中错误的是 A)<返回类型>中有可能包含关键字int B)<返回类型>中有可能包含自定义标识符 C)<返回类型>中有可能包含字符*
C)算法程序中的语句或指令条数
D)算法在执行过程中所需要的基本运算次数
(3)软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。下面属于系统软件的是______ A)编辑软件
B)操作系统 C)教务管理系统 D)浏览器
(4)软件(程序)调试的任务是______
A)诊断和改正程序中的错 B)尽可能多地发现程序中的错误 C)发现并改正程序中的所有错误 D)确定程序中错误的性质 (5)数据流程图(DFD图)是______
A)软件概要设计的工具 B)软件详细设计的工具
C)结构化方法的需求分析工具 D)面向对象方法的需求分析工具
(6)软件生命周期可分为定义阶段,开发阶段和维护阶段。详细设计属于______
A)定义阶段 B)开发阶段 C)维护阶段 D)上述三个阶段 (7)数据库管理系统中负责数据模式定义的语言是______
A)数据定义语言 B)数据管理语言 C)数据操纵语言 位是______
A)文件 B)数据库 C)字段 D)记录
(9)数据库设计中,用E-R图来描述信息结构但不涉及信息在计算机中的表示,它属于数据库设计的______
A)需求分析阶段 B)逻辑设计阶段 C)概念设计阶段 D)物理设计阶段 (10)有两个关系R和T如下:
D)数据控制语言
(8)在学生管理的关系数据库中,存取一个学生信息的数据单
搜索“diyifanwen.net”或“第一范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,第一范文网,提供最新资格考试认证历届计算机二级C++真题及答案全 全文阅读和word下载服务。
相关推荐: