国家二级C++机试(选择题)模拟试卷215
选择题
1.以下程序的执行结果是( )。
#include<iostream.h>
int fun(int b[],int n)
{
int i,r=1;
for(i=0;i<n;i++)
r=r*b[i];
return r:
}
void main()
{
int x,a[]={1,2,3,4,5,6,7,8};
x=fun(a,3);
cout<<x<<endl;
}(B)
A. 5
B. 6
C. 7
D. 8
解析:由程序的main函数入手,调用fun函数,其中参数为数组a和3。fun函数的功能是for循环中由第一个数组元素开始到第三个元素进行累积。
2.在函数中,可以用auto、extem、register和static这四个关键字中的一个来说明变量的存储类型,如果不说明存储类型,则默认的存储类型是( )。(A)
A. auto
B. extem
C. register
D. static
解析:此题考查的是存储类型。c++语言变量的存储类型分为如下几种类型:auto…函数内部的局部变量;static…静态存储分配;extem…全局变量;register.一变量存储存硬件寄存器中。
3.下列对于线性链表的描述中正确的是(A)
A. 存储空间不一定连续,且各元素的存储顺序是任意的
B. 存储空间不一定连续,且前件元素一定存储在后件元素的前面
C. 存储空间必须连续,且前件元素一定存储在后件元素的前面
D. 存储空间必须连续,且各元素的存储顺序是任意的
解析:一般来说,在线性表的链式存储结构中,各数据结点的存储序号是不连续的,并且各结点在存储空间中的位置关系与逻辑关系也不一致。在线性链表中,各数据元素之间的前后件关系是由各结点的指针域来指示的,指向线性表中第一个结点的指针head称为头指针,当head=NULL(或0)时称为空表。
4.在面向对象方法中,不属于“对象”基本特点的是( )。(A)
A. 一致性
B. 分类性
C. 多态性
D. 标识唯一性
解析:对象有如下一些基本特点:标识唯一性、分类性、多态性、封装性、模块独立性好。所以选择A。
5.一棵二叉树中共有80个叶子结点与70个度为1的结点,则该二叉树中的总结点数为( )。(B)
A. 219
B. 229
C. 230
D. 231
解析:根据二叉树的性质,在任意二叉树中,度为0的结点(即叶子结点)总是比度为2的结点多一个,故总结点数:叶子节点数+度为2的节点数+度为l的节点数=80+79+7=229。
6.在对函数进行原型声明时,下列语法成分中,不需要的是( )。(D)
A. 函数返回类型
B. 函数参数列表
C. 函数名
D. 函数体
解析:在C++中函数在使用之前要预先声明,这种声明在标准C++中称为函数原型。函数给出了函数名、返回类型以及在调用函数时必须指明参数个数和类型。
7.将E-R图转换为关系模式时,实体和联系都可以表示为( )。(C)
A. 属性
B. 键
C. 关系
D. 域
解析:将E-R图转换为关系模式时,实体和联系都可以表示为关系。
8.下列叙述中正确的是(C)
A. 软件的使用存在老化问题
B. 软件是物理实体,不具有抽象性
C. 软件是逻辑实体,具有抽象性
D. 软件的运行对计算机系统不一定具有依赖性
解析:软件是一种逻辑实体,而不是物理实体,具有抽象性。软件的使用不存在老化问题。
9.下列关于函数参数的叙述中,正确的是( )。(D)
A. 在函数原型中不必声明形参类型
B. 在调用一个函数时,若函数中修改了形参变量的值,则对应的实参变量的值也被修改
C. 函数形参的生存期与整个程序的运行期相同
D. 函数的形参在函数被调用时获得初始值
解析:本题考查函数参数的相关知识,函数原型中必须声明形参类型,所以A选项错误,调用一个函数时如果修改了形参值,那么实参可能改变也可能不改变,所以B选项错误,函数形参的生存期一般在函数执行整个函数中存在,除了静态变量,所以C选项错误。
10.在函数中,可以用auto、extem、register和static这四个关键字中的一个来说明变量的存储类型,如果不说明存储类型,则默认的存储类型是( )。(A)
A. auto
B. extern
C. register
D. static
解析:此题考查的是存储类型。C++语言变量的存储类型分为如下几种类型:auto—函数内部的局部变量;static—静态存储分配;extern—全局变量;register—变量存储在硬件寄存器中。
11.一间宿舍可住多个学生,则实体宿舍和学生之间的联系是(B)
A. 一对一
B. 一对多
C. 多对一
D. 多对多
解析:两个实体集间的联系可以有下面几种:一对一的联系、一对多或多对一的联系和多对多的联系。由于一个宿舍可以住多个学生,所以它们的联系是一对多联系。
12.在关系数据库中,用来表示实体间联系的是(B)
A. 属性
B. 二维表
C. 网状结构
D. 树状结构
解析:在关系数据库中,实体间的联系由一个二维表来表示。
13.若MyClass为一个类,执行“MyClass a[4],*p[5];”语句时会自动调用该类构造函数的次数是( )。(C)
A. 2
B. 5
C. 4
D. 9
解析:语句MyClass a[4],*p[5]不仅定义了4个MyClass对象,分别为a[0],a[1],a[2],a[3],而且定义了5个指向MyClass对象的指针变量,分别为*p[0],*p[1],*p[2],*p[3],*p[4],所以共调用MyClass的构造函数4次。
14.下列关于this指针的叙述中,正确的是( )。(D)
A. 任何与类相关的函数都有this指针
B. 类的成员函数都有this指针
C. 类的友元函数都有this指针
D. 类的非静态成员函数才有this指针
解析:此题考查的是this指针的使用。类的每一个成员函数都有一个隐含的常量指针,即this指针。类的静态成员函数小能含有this指针,因为this指针是一个指向本对象的指针。
15.已知函数FA调用FB,若要把这两个函数定义在同一个文件中,则( )。(D)
A. FA必须定义在FB之前
B. FB必须定义在FA之前
C. 若FA定义在FB之后,则FA的原型必须出现在FB的定义之前
D. 若FB定义在FA之后,则FB的原型必须出现在FA的定义之前
解析:在C++中,在调用任何函数之前,必须确保它已有原型说明。函数原型说明通常放在程序文件的头部,以使得该文件中所有函数都能调用它们。在本题中,当函数F
本文档预览:3600字符,共8356字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载