试卷详情
-
二级C++笔试-110
-
[单项选择]在下面的运算符重载函数的原型中,错误的是______ 。
A. Volume operator-(double,double);
B. double Volume:: operator-(double);
C. Volume Volume:: operator-(Volume);
D. Volume operator-(Volume,Volume);
-
[单项选择]下列模式中,能够给出数据库物理存储结构与物理存取方法的是______ .
A. 内模式
B. 外模式
C. 概念模式
D. 逻辑模式
-
[单项选择]在一个类体的下列声明中,正确的纯虚函数声明是______ 。
A. virtual void vF()=0;
B. void vf (int)=0;
C. virtual int vf (int);
D. virtual void vf (int)”
-
[填空题]下面是用来计算n的阶乘的递归函数,请将该函数的定义补充完整。(注:阶乘的定义是n!cn*(n-1)*...*2*1)
unsigned fact(unsigned n)
if (n<=1)
return 1;
return 【12】 ;
-
[单项选择]下面概念中,不属于面向对象方法的是______ .
A. 对象
B. 继承
C. 类
D. 过程调用
-
[单项选择]下列函数原型声明中错误的是______。
A. void Fun (int x=O,int y=O);
B. void Fun(int x,int y);
C. void Fun(int x,int y=0);
D. void Fun(int x=0,int y);
-
[填空题]将一个函数声明为一个类的友元函数必须使用关键字 【8】 。
-
[单项选择]执行语句序列:
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
-
[单项选择]已知:int m=10;在下列定义引用的语句中,正确的是______。
A. int &x=m;
B. int y=&m;
C. int &z;
D. int &t=&m;
-
[单项选择]一个类可以同时继承多个类,称为多继承。下列关于多继承和虚基类的表述中,错误的是______ 。
A. 每个派生类的构造函数都要为虚基类构造函数提供实参
B. 多继承时有可能出现对基类成员访问的二义性问题
C. 使用虚基类可以解决二义性问题并实现运行时的多态性
D. 建立派生类对象时,虚基类的构造函数会首先被调用
-
[单项选择]已知函数f的原型是:void f(int *a,long &b);,变量v1、v2的定义是:int v1;long v2;,正确的调用语句是______。
A. f(v1,& v2);
B. f(v1,v2);
C. f(&v1,v2);
D. f(&v1,&v2);
-
[单项选择]下列程序的输出结果是______。
#include<iostream>
using namespace std;
int main( )
{
char a []="Hello, World";
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
-
[单项选择]下列叙述中正确的是______ .
A. 数据库系统是一个独立的系统,不需要操作系统的支持
B. 数据库设计是指设计数据库管理系统
C. 数据库技术的根本目标是要解决数据共享的问题
D. 数据库系统中,数据的物理结构必须与逻辑结构一致
-
[单项选择]有以下类定义:
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;gender=ge;phone=ph;
;
下列类对象定义语句中错误的是______。
A. MyClass myObj;
B. MyClass myObj(11,"13301111155");
C. MyClass my0bj(12,’m’);
D. MyClass myObj(12);
-
[单项选择]在一棵二叉树上第5层的结点数最多是______ .
A. 8
B. 16
C. 32
D. 15
-
[填空题]关系数据库管理系统能实现的专门关系运算包括选择、连接和 【5】 。
-
[单项选择]判断字符型变量ch是否为大写英文字母,应使用表达式______ .
-
[单项选择]有以下类定义:
class Point
public:
Point(int x=0,int y=0)_x=x; _y=y;
void Move(int x Off, int y Off)
_x+=x Off; _y+=y Off;
void Print( ) const
cout <<’(’ << _x << ’,’ << _y << ’)’<< end 1;
private:
int _x,_y;
下列语句中会发生编译错误的是______。
A. Point pt; pr. Print();
B. const Point pt; pt. Print();
C. Point pt; pt. Move(1,2);
D. const Point pt; pt. Move(1,2);
-
[单项选择]下面描述中,符合结构化程序设计风格的是______ .
A. 使用顺序、选择和重复(循环)三种基本控制结构表示程序的控制逻辑
B. 模块只有一个入口,可以有多个出口
C. 注重提高程序的效率
D. 不使用goto语句
-
[单项选择]在软件开发中,下面的任务不属于设计阶段的是______ .
A. 数据结构设计
B. 给出系统模块结构
C. 定义模块算法
D. 定义需求并建立系统模型
-
[单项选择]在C++中用来实现运行时多态性的是______ 。
A. 重载函数
B. 析构函数
C. 构造函数
D. 虚函数
-
[单项选择]下面叙述正确的是______ .
A. 算法的执行效率与数据的存储结构无关
B. 算法的空间复杂度是指算法程序中指令(或语句)的条数
C. 算法的有穷性是指算法必须能在执行有限个步骤之后终止
D. 以上三种描述都不对
-
[单项选择]执行语句序列
ofstream outfile ("DATA. DAT");
if(...)cout <<"OK";else cout <<"FAIL";
后,如果文件打开成功,显示"OK",否则就显示"FAIL"。由此可知,上面if语句的...处的表达式应是______ 。
A. outfile.fail ()或outfile
B. outfile. good() 或outfile
C. outfile.good ()或!outfile
D. outfile.fail()或!outfile
-
[单项选择]数据库系统的核心是______ .
A. 数据模型
B. 数据库管理系统
C. 软件工具
D. 数据库
-
[填空题]设有定义语句:int a=12;,则表达式a*=2+3的运算结果是 【6】 。
-
[单项选择]关于面向对象的程序设计方法,下列说法正确的是______ .
A. “封装性”指的是将不同类型的相关数据组合在一起,作为一个整体进行处理
B. “多态性”指的是对象的状态会根据运行时要求自动变化
C. 基类的私有成员在派生类的对象中不可访问,也不占内存空间
D. 在面向对象的程序设计中,结构化程序设计方法仍有重要作用
-
[填空题]请按下面注释的提示将类B的构造函数定义补充完整。
class A
int a;
public:
A (int aa=0)a=aa;
;
class B: public A
int b;
A c;
public:
// 用 aa 初始化基类 A, 用 aa+1 初始他类对象成员 c
B(int aa): 【9】 b=aa+2;
;
-
[单项选择]在结构化方法中,用数据流程图(DFD) 作为描述工具的软件开发阶段是______ .
A. 可行性分析
B. 需求分析
C. 详细设计
D. 程序编码
-
[单项选择]以下数据结构中不属于线性数据结构的是______ .
A. 队列
B. 线性表
C. 二叉树
D. 栈
-
[单项选择]有以下程序:
#include <iostream>
using namespace std;
class Complex
public:
Complex(double r=0,double i=0):re(r),im(i)
double zeal( ) 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( )
Complex a=Complex(1,1)+Complex(5);
cout<<a.real( )<<’+’<<a.imag( )<<’i’<<end 1;
return 0;
程序执行后的输出结果是______。
A. 6+6i
B. 6+1i
C. 1+6i
D. 1+1i
-
[单项选择]有以下程序:
# include <iostream>
int i=0;
void fun( )
{static iht i=1;
std::cout<<i++<<’,’;
}
std:: cout<<i<<’,’;
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,
-
[单项选择]关于友元,下列说法错误的是______。
A. 如果类A是类B的友元,那么类B也是类A的友元
B. 如果函数fun()被说明为类A的友元,那么在fun()中可以访问类A的私有成员
C. 友元关系不能被继承
D. 如果类A是类B的友元,那么类A的所有成员函数都是类B的友元
-
[填空题]如果一个工人可以管理多个设备,而一个设备只被一个工人管理,则实体“工人”与实体“设备”之间存在 【4】 的联系。
-
[单项选择]C++流中重载的运算符">>"是一个______ 。
A. 用于输出操作的非成员函数
B. 用于输入操作的非成员函数
C. 用于输出操作的成员函数
D. 用于输入操作的成员函数
-
[填空题]下列程序的输出结果是 【15】 。
#include <iostream>
using namespace std;
class base
public:
int n;
base(iht x) n=x;
virtual void set(int m) n=m;cout<<n<<’’;
;
class deriveA: public base
public:
deriveA(int x):base(x)
void set(int m)n+=m;cout<<n<<’’;
:
class deriveB:public base
public:
deriveB(int x):base(x)
void set(int m) n+=m;cout<<n<<’’;
;
int main( )
deriveA d1(1);
deriveB d2(3);
base *pbase;
pbase=&d 1;
pbase->set(1);
pbase=&d2;
pbase->set(2);
return 0;
-
[填空题]下列程序的输出结果是 【11】 。
#include <iostream>
using namespace std;
class Test
public:
Test( ) cnt++;
~Test( ) cnt--;
static int Count( ) (return cnt;
private:
static int cnt;
;
int Test::cnt=0;
int main( )
cout<<Test::Count( )<<’’;
Test t1, t2;
Test *pT3=new Test;
Test *pT4=new Test;
cout<<Test::Count( )<<’’;
delete pT4;
delete pT3;
cout<<Test::Count( )<<end 1;
return 0;
-
[单项选择]有以下类定义:
class MyClass
{
public:
MyClass( ){cout<<1;}
};
则执行语句MyClass a,b [2],*p [2];后,程序的输出结果是______。
A. 11
B. 111
C. 1111
D. 11111
-
[填空题]从实现的角度划分,c++所支持的两种多态性分别是 【7】 时的多态性和运行时的多态性。
-
[单项选择]已知程序中已经定义了函数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);
-
[单项选择]关于动态存储分配,下列说法正确的是______。
A. new 和delete 是C++语言中专门用于动态内存分配和释放的函数
B. 动态分配的内存空间也可以被初始化
C. 当系统内存不够时,会自动回收不再使用的内存单元,因此程序中不必用delete释放内存空间
D. 当动态分配内存失败时,系统会立刻崩溃,因此一定要慎用new
-
[填空题]与成员访问表达式p→name 等价的表达式是 【14】 。
-
[填空题]算法的复杂度主要包括 【1】 复杂度和空间复杂度。
-
[单项选择]在公有派生的情况下,派生类中定义的成员函数只能访问原基类的______ 。
A. 公有成员和私有成员
B. 私有成员和保护成员
C. 公有成员和保护成员
D. 私有成员、保护成员和公有成员
-
[填空题]下列程序输出结果是 【13】 。
include <iostream>
using namespace std;
template <typename T>
T fun(T a, T b) return (a<=b)a:b;
int main( )
cout<<fun(3,6)<<’,’<<fim(3.14F, 6.28F)<<end 1;
return 0;
-
[填空题]若按功能划分,软件测试的方法通常分为白盒测试方法和 【3】 测试方法。
-
[填空题]数据的逻辑结构在计算机存储空间中的存放形式称为数据的 【2】 。
-
[单项选择]下列是模板声明的开始部分,其中正确的是______ 。
A. template<T>
B. template <class T1,T2>
C. template <class T1,class T2>
D. template <class T1;class T2>
-
[填空题]下列程序的输出结果是 【10】 。
#include <iostream>
using namespace std;
int main( )
int i=5;
iht & r=i;r=7;
cout<<i<<end 1;
return 0;
-
[单项选择]已知下列语句中的x和y都是int型变量,其中错误的语句是______ .
A. x=y++;
B. x=++y;
C. (x+ y)++;
D. ++x=y;