国家二级(C++)机试模拟试卷264
选择题
1.在一棵二叉树上,第5层的结点数最多是( )。(D)
A. 8
B. 9
C. 15
D. 16
解析:根据二叉树的性质:二叉树第i(i>1)层上至多有21-1个结点。得到第5层的结点数最多是16个。
2.有如下函数模板:
templateT square(T x){return x,x;}
其中T是( )。(C)
A. 函数形参
B. 函数实参
C. 模板形参
D. 模板实参
解析:此题考查的是函数模板。声明一个函数模板的格式是:
template函数声明,{函数体}
其中的是由一个或多个“模板形参”组成的,每个“模板形参”可具有以下几种形式:typename参数名;class参数名;类型修饰参数名。
3.下列关于定点数与浮点数的叙述中,错误的是( )。(C)
A. 在实数的浮点表示中,阶码是一个整数
B. 整数是实数的特例,也可以用浮点数表示
C. 实数的补码是其对应的反码在最后一位加1
D. 相同长度的浮点数和定点数,前者可表示的数的范围要大于后者
解析:正整数的补码与其原码一致;负整数的补码是其对应的反码在最后一位加1。
4.下列有关内联函数的叙述中,正确的是( )。(C )
A. 内联函数在调用时发生控制转移
B. 内联函数必须通过关键字inline来定义
C. 内联函数是通过编译器来实现的
D. 内联函数函数体的最后一条语句必须是retum语句
解析:此题考查的是内联函数的概念。在调用时,内联函数会像宏函数一样的展开,将调用表达式用内联函数体来替换,所以它没有一般函数的参数压栈和退栈操作,所以选项A)错误;即使没有使用inline说明,编译器也会将在类的说明部分定义的函数认定为内联函数,所以选项B)错误;内联函数只是比普通函数有更高的执行效率。
5.数据结构中,与所使用的计算机无关的是数据的( )。(C)
A. 存储结构
B. 物理结构
C. 逻辑结构
D. 线性结构
解析:数据的逻辑结构反映的是数据元素之间的逻辑关系,与使用的计算机无关。
6.数据库设计中反映用户对数据要求的模式是( )。(C)
A. 内模式
B. 概念模式
C. 外模式
D. 设计模式
解析:数据库系统的三级模式是概念模式、外模式和内模式。概念模式是数据库系统中全局数据逻辑结构的描述,是全体用户公共数据视图。外模式也称子模式或用户模式,它是用户的数据视图,给出了每个用户的局部数据描述,所以选择c。内模式又称物理模式,它给出了数据库物理存储结构与物理存取方法。
7.一个工作人员可以使用多台计算机,而一台计算机可被多个人使用,则实体工作人员与实体计算机之间的联系是( )。(C)
A. 一对一
B. 一对多
C. 多对多
D. 多对一
解析:因为一个人可以操作多个计算机,而一台计算机又可以被多个人使用,所以两个实体之间是多对多的关系。
8.有如下程序:
#include
using namespace std;
class VAC{
public:
int f()const{return 3;}
int f(){return 5;}
};
int main()
{
VAC vl;
cont VAC v2;
cout<<v1.f()<<v2.f();
return 0;
}
执行这个程序的输出结果是( )。(A)
A. 53
B. 35
C. 55
D. 33
解析:本题考查常对象及常成员函数及构造函数,常对象只能调用常成员函数,所以本题中,对象v1为普通对象,执行v1.f()后,会执行默认构造函数,输出5,对象v2为常对象,执行v2.f()后,会执行常构造函数,输出3。
9.下列关于赋值运算符=重载的叙述中,正确的是(A)
A. 赋值运算符只能作为类的成员函数重载
B. 默认的赋值运算符实现了\\
C. 重载的赋值运算符函数有两个本类对象作为形参
D. 如果已经定义了复制(拷贝)构造函数,就不能重载赋值运算符
解析:本题考查字符串的定义,A选项中,定义了一个字符,而用字符串赋值,所以错误,C选项定义了字符数组,但是赋值的字符串实际上有6个字符,所以赋值错误,D选项定义了一个字符串指针数组,赋值错误。
10.下列选项中属于面向对象设计方法主要特征的是( )。(A)
A. 继承
B. 自顶向下
C. 模块化
D. 逐步求精
解析:面向对象基本方法的基本概念有对象、类和实例、消息、继承与多态性,所以选择A.
11.下列语句都是程序运行时的第1条输出语句,其中一条语句的输出效果与其他三条语句不同,该语句是( )。(D)
A. cout<<internal<<12345;
B. cout<<left<<12345;
C. cout<<right<<12345;
D. cout<<setw(6)<<12345;
解析:本题考查控制输出格式,A、B、C选项都会输出“12345”,只有D选项输出“12345”,所以本题答案为D。
12.有如下程序:
#include
using namespace std;
class TcstClass 1
{
public:
virtual void fun(){cout<<“1”;}
};
class TestClass2:public TestClass 1
{
public:
TestClass20{cout<<“2”;)
};
class TestClass3:public TestClass2
{
public:
virtual void
fun(){TestClass2::fun();cout<<“3”;}
};
int main()
{TestClass 1 aa,*p;
TestClass2 bb;
TestClass3 cc;
P=&cc;
P一>fun ();
return 0;
}
执行上面程序的输出是( )
本文档预览:3600字符,共15806字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载