试卷详情
-
二级C++笔试-415
-
[单项选择]关于关键字class和typename,下列表述中正确的是
A. 程序中的typename都可以替换为class
B. 程序中的class都可以替换为typename
C. 在模板形参表中只能用typename来声明参数的类型
D. 在模板形参表中只能用class或typename来声明参数的类型
-
[单项选择]在公有派生时,派生类中定义的成员函数只能访问原基类的( )。
A. 私有成员、保护成员和公有成员
B. 保护成员和私有成员
C. 公有成员和保护成员
D. 公有成员和私有成员
-
[单项选择]在单链表中,增加头结点的目的是
A. 方便运算的实现
B. 使单链表至少有一个结点
C. 标识表结点中首结点的位置
D. 说明单链表是线性表的链式存储实现
-
[单项选择]下面的哪个选项不能作为函数的返回类型
A. void
B. int
C. new
D. long
-
[单项选择]有如下语句序列:
int k=0:
d0k+=5;cout<<‘$’; while(k<19);
while(k-->0)cout<<‘*’;
执行上面:的语句序列输出字符“$”和“*”的个数分别是( )。
A. 4和20
B. 5和20
C. 4和21
D. 5和21
-
[填空题]在关系模型中,把数据看成一个二维表,每一个二维表称为一个______。
-
[填空题]按“先进后出”原则组织数据的数据结构是______。
-
[单项选择]有以下程序:
#include<iostream>
#include<string>
using namespace std;
int main( )
char arr[2][4];
strcpy(arr[0],"you");
strcpy(arr[1],"me");
arr[0][3]='&';
cout<<arr[0]<<end1;
return 0;
执行后的输出结果是( )。
A. you&me
B. you
C. me
D. err
-
[单项选择]数据独立性是数据库技术的重要特点之一。所谓数据独立性是指( )。
A. 数据与程序独立存放
B. 不同的程序被存放在不同的文件中
C. 不同的数据只能被所对应的应用程序所使用
D. 上述三种说法都不对
-
[单项选择]下列各函数的说明中,表示纯虚函数的是( )。
A. virtual int fuc(int);
B. void fuc(int)=0;
C. virtual void fuc()=0;
D. virtual void fuc(int)
-
[单项选择]对于语句cout<<endl<<x;中的各个组成部分,下列叙述中错误的是
A. “cout”是一个输出流对象
B. “endl”的作用是输出回车换行
C. “x”是一个变量
D. “<<”称作提取运算符
-
[单项选择]继承机制的作用是
A. 信息隐藏
B. 数据封装
C. 定义新类
D. 数据抽象
-
[单项选择]以下程序的输出结果是( )。
min( )
int i=0,a=0;
while(i<20)
for(;;)
if((i%10)==0)break;
else i--;
i+=11;a+=i;
cout<<a<<endl;
A. 21
B. 32
C. 33
D. 11
-
[单项选择]下列有关类继承的叙述中,错误的是( )。
A. 继承可以实现软件复用
B. 虚基类可以解决由多继承产生的二义性问题
C. 派生类构造函数要负责调用基类的构造函数
D. 派生类没有继承基类的私有成员
-
[单项选择]以下for语句中不是死循环的是
A. for(int i=0;i<1;++i);
B. for(int i=0;;++i);
C. for(int i=1;i>0;++i);
D. for(;;);
-
[填空题]下列程序的运行结果是______。
#include<iostream. h>
class Base
public:
virtual void func(int i)cout<<"class Base:"<<i<<endl;
;
class Derived: public Base
public:
void func(double d)cout<<"class Derived:"<<d<<endl;
);
void main( )
Base a, *p=&a;
Derived b;
p=&b;
(* p).func(3.3);
-
[单项选择]当使用ifstream流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式是()。
A. ios::in
B. ios::out
C. ios::trunc
D. ios::binary
-
[填空题]有以下程序:
#include<iostream.h>
classA
int x;
public:
A(int A)
x=a;
friend class B;
;
class B
public:
void print(AA)
a.x--;
cout<<a.x<<end1;
;
void main( )
Aa(10);
Bb;
b.print(A) ;
程序执行后的输出结果是______。
-
[填空题]模板使我们可以用一个代码段指定一组相关函数(称为 ______ )或一组相关类(称为 ______。
-
[填空题]当循环队列非空且队尾指针等于队头指针时,说明循环队列已满,不能进行入队运算。这种情况称为______。
-
[单项选择]下列叙述不属于线性链表较之线性表顺序存储结构的优点的是( )。
A. 线性链表存储方式简单
B. 线性链表运算效率高
C. 线性链表的存储空间易于扩展
D. 线性链表便于存储空间的动态分配
-
[填空题]数据库设计包括概念设计、______和物理设计。
-
[单项选择]下列关于析构函数的描述中,错误的是( )。
A. 类中有且仅有一个析构函数
B. 析构函数可以有形参
C. 析构函数没有函数类型
D. 析构函数对象消失时被自动执行
-
[单项选择]在C++中用来实现运行时多态性的是
A. 重载函数
B. 析构函数
C. 构造函数
D. 虚函数
-
[单项选择]下列关于C++语言类的描述中错误的是
A. 类用于描述事物的属性和对事物的操作
B. 类与类之间通过封装而具有明确的独立性
C. 类与类之间必须是平等的关系,不能组成层次结构
D. 类与类之间可以通过一些方法进行通信和联络
-
[填空题]C++程序第1条语句是从______函数开始执行的。
-
[单项选择]下列关于虚函数的描述中,正确的是
A. 虚函数是一个static类型的成员函数
B. 虚函数是一个非成员函数
C. 基类中采用virtual说明一个虚函数后,派生类中定义相同原型的函数时可不必加virtual说明
D. 派生类中的虚函数与基类中相同原型的虚函数具有不同的参数个数或类型
-
[单项选择]在单链表中,增加头节点的目的是
A. 方便运算的实现
B. 使单链表至少有一个节点
C. 标识表节点中首节点的位置
D. 说明单链表是线性表的链式存储实现
-
[单项选择]最简单的交换排序方法是
A. 快速排序
B. 选择排序
C. 堆排序
D. 冒泡排序
-
[填空题]表达式x.operator+(y.operator++(0))还可以写成______。
-
[单项选择]若调用一个函数,且此函数中没有return语句,则正确的说法是该函数( )。
A. 没有返回值
B. 返回若干个系统默认值
C. 有返回值,但返回一个不确定的值
D. 返回一个用户所希望的函数值
-
[单项选择]下面的函数模板定义中错误的是______ 。
A. template<class Q >
B. template<class Q >
C. template <class T >
D. template <class T>
-
[单项选择]下列各种调试方法中,靠演绎、归纳以及二分法来实现的是( )。
A. 强行排错法
B. 回溯法
C. 原因排除法 D) 静态调试
-
[单项选择]已知类Myclass的定义如下:
class MyClass
public:
MyClass(int D) data=d;
~MyClass ( )
private:
int data;
;
下列对Myclass类对象数组的定义和初始化语句中,正确的是( )。
A. MyClass arrays[2];
B. MyClass arrays[2]=MyClass(5);
C. MyClass arrays[2]=MyClass(5), MyClass(6);
D. MyClass*arrays=new MyClass[2];
-
[单项选择]如果表达式--x/y中的“--”和“/”是作为友元函数重载的运算符,采用运算符函数调用格式,该表达式还可表示为
A. operator/(x.operator--(),y);
B. operator/(operator--(x),y);
C. x.operator--().operator/(y);
D. y.operator/(operator--(x));
-
[单项选择]下面关于虚函数的表述中正确的是( )。
A. 虚函数不能声明为另一个类的友元函数
B. 派生类必须重新定义基类的虚函数
C. 如果在重定义虚函数时使用了保留字virtual,那么该重定义函数仍是虚函数
D. 虚函数不能够声明为静态函数
-
[填空题]数据库系统中实现各种数据管理功能的核心软件称为______。
-
[单项选择]关于面向对象的程序设计方法,下列说法正确的是
A. “封装性”指的是将不同类型的相关数据组合在一起,作为一个整体进行处理
B. “多态性”指的是对象的状态会根据运行时要求自动变化
C. 基类的私有成员在派生类的对象中不可访问,也不占内存空间
D. 在面向对象的程序设计中,结构化程序设计方法仍有着重要作用
-
[单项选择]若变量已正确定义并赋值,以下符合C++语言语法的表达式是( )。
A. a=b+l
B. a=b=c+2
C. int 18.5%3
D. a=a+7=c+b
-
[单项选择]关于关键字class和typename,下列描述正确的是( )。
A. 程序中所有的class都可以替换为typename
B. 程序中所有的typename都可以替换为class
C. A和B都可以
D. A和B都不可以
-
[单项选择]单个用户使用的数据视图的描述称为
A. 外模式
B. 概念模式
C. 内模式
D. 存储模式
-
[填空题]下列程序在构造函数和析构函数中申请和释放类的数据成员int * a,申请时使用形参b初始化a,请填空。
class A
public:
A(int b) ;
~A( ) ;
private:
int * a;
;
A: :A(int b)
______;
A: :~A( )
______;
-
[单项选择]类的析构函数的作用是( )。
A. 一般成员函数
B. 类的初始化
C. 对象的初始化
D. 释放由对象所占用的资源
-
[单项选择]关于动态联编的下列叙述中, ______ 是错误的。
A. 动态联编是以虚函数为基础的
B. 动态联编调用虚函数操作是指向对象的指针或引用
C. 动态联编是在运行时确定所调用的函数代码的
D. 动态联编是在编译时确定操作函数的
-
[填空题]继承的方式有公有继承、私有继承和______种。
-
[单项选择]有如下程序:
#include<iostream>
using namespace std;
class Test
public:
Test( ) n+=2;
~Test( ) n-=3;
static int getNum( ) return n;
private:
static int n;
;
int Test::n=1;
int main( )
Test *p=new Test;
delete p;
cout<<"n="<<Test::getNum( )<<endl;
return 0;
执行后的输出结果是( )。
A. n=0
B. n=1
C. n=2
D. n=3
-
[填空题]下列程序的定义语句中,x[1]的初值是______,程序运行后输出的内容是______。
#include<stdio.h>
void main( )
int x[]=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16),*p[4],i;
for(i=0;i<4;i++)
p[i]=&x[2*i+1];
printf("%d",p[i][0]);
printf("/n")
-
[单项选择]若有如下语句
#include<iostream.h>
void main( )
int x=3:
do
X=X-2;
cout<<X;
while(!(--x));
则上面程序段
A. 输出的是1
B. 输出的是1和-2
C. 输出的是3和0
D. 是死循环
-
[填空题]计算机技术中,为解决一个特定问题而采取的特定的有限的步骤称为______。
-
[填空题]在最坏情况下,堆排序需要比较的次数为______。