国家二级(C++)机试模拟试卷124
选择题
1.下列叙述中正确的是( )。(D)
A. 算法就是程序
B. 设计算法时只需要考虑数据结构的设计
C. 设计算法时只需要考虑结果的可靠性
D. 以上三种说法都不对
解析:算法是指解题方案的准确而完整的描述,算法不等于程序,也不等于计算方法,所以A)错误。设计算法时不仅要考虑对数据对象的运算和操作,还要考虑算法的控制结构。
2.下列叙述中正确的是( )。(B)
A. 有一个以上根结点的数据结构不一定是非线性结构
B. 只有一个根结点的数据结构不一定是线性结构
C. 循环链表是非线性结构
D. 双向链表是非线性结构
解析:线性结构应满足:有且只有一个根结点与每个结点最多有一个前件,也最多有一个后件,所以B)正确。所以有一个以上根结点的数据结构一定是非线性结构,所以A)错误。循环链表和双向链表都是线性结构的数据结构。
3.下列关于二叉树的叙述中,正确的是( )。(B)
A. 叶子结点总是比度为2的结点少一个
B. 叶子结点总是比度为2的结点多一个
C. 叶子结点数是度为2的结点数的两倍
D. 度为2的结点数是度为l的结点数的两倍
解析:根据二叉树的基本性质3:在任意一棵二叉树中,度为0的叶子结点总是比度为2的结点多一个。所以选择B)。
4.软件生命周期中的活动不包括( )。(A)
A. 市场调研
B. 需求分析
C. 软件测试
D. 软件维护
解析:软件生命周期可以分为软件定义、软件开发与软件运行维护三个阶段。主要活动阶段是:可行性研究与计划阶段、需求分析、软件设计、软件实现、软件测试、运行和维护,所以选择A)。
5.程序调试的任务是( )。(D)
A. 设计测试用例
B. 验证程序的正确性
C. 发现程序中的错误
D. 诊断和改正程序中的错误
解析:程序调试的任务是诊断和改正程序中的错误。
6.下列关于数据库设计的叙述中,正确的是( )。(A)
A. 在需求分析阶段建立数据字典
B. 在概念设计阶段建立数据字典
C. 在逻辑设计阶段建立数据字典
D. 在物理设计阶段建立数据字典
解析:数据字典是在需求分析阶段建立,在数据库设计过程中不断修改、充实和完善的。
7.数据库系统的三级模式不包括( )。(D)
A. 概念模式
B. 内模式
C. 外模式
D. 数据模式
解析:数据库系统的三级模式是概念模式、外模式和内模式,所以选择D.
8.有三个关系R、S和T如下:
(A)
A. 自然连接
B. 交
C. 投影
D. 并
解析:自然连接是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉,所以根据T中元组可以判断R和S做的是自然连接操作。
9.下列选项中属于面向对象设计方法主要特征的是( )。(A)
A. 继承
B. 自顶向下
C. 模块化
D. 逐步求精
解析:面向对象基本方法的基本概念有对象、类和实例、消息、继承与多态性,所以选择A.
10.下列字符串中不能作为C++标识符使用的是( )。(D)
A. INT
B. test
C. _1481
D. 1temp
解析:用来表示变量、符号常量、函数、数组类型等实体名字的有效字符序列称为标识符,标识符由字母、数字和下划线3种字符组成,且第一个字符必须为字母或者下划线。所以D选项错误。
11.下列语句中错误的是( )。(C)
A. const int*p=0;
B. const int y=99;
C. const int x;
D. const int*p=new int(100);
解析:const是一个C++语言的关键字,它限定一个变量不允许被改变,const常量、常量指针赋值时,均必须同时初始化。所以C选项错误。
12.有如下程序:
#include<iostream>
using namespace std;
int main(){
int sum;
for(int i=0;i<3;i+=1){
sum:i;
for(int j=i;j<9;j++)sum+=j;
}
cout<<sum<<end1;
return 0;
}
运行时的输出结果是( )。(D)
A. 39
B. 17
C. 110
D. 37
解析:考查for循环语句,本题中两层for循环,每次i循环,sum都被重新赋值,所以当i=2时,执行完j循环后瞰m为37。所以答案为D。
13.有如下程序段:
int i=1;int j=4;
int main(){
int i=8,j=i;
cout<<i<<j<<endl;
}
运行时的输出结果是( )。(C)
A. 14
B. 81
C. 88
D. 18
解析:全局变量也称为外部变量,是在函数的外部定义的,它的作用域为从变量定义处开始,到本程序文件的末尾。局部变量也称为内部变量。局部变量是在函数内作定义说明的。其作用域仅限于函数内部。在函数中使用全局变量,一般应作全局变量说明,本题中定义了两个全局变量i,j,但main函数中又对i、j进行了定义,所以输出为88,所以答案为C。
14.下列关于函数参数的叙述中,正确的是( )。(D)
A. 在函数原型中不必声明形参类型
B. 在调用一个函数时,若函数中修改了形参变量的值,则对应的实参变量的值也被修改
C. 函数形参的生存期与整个程序的运行期相同
D. 函数的形参在函数被调用时获得初始值
解析:本题考查函数参数的相关知识,函数原型中必须声明形参类型,所以A选项错误,调用一个函数时如果修改了形参值,那么实参可能改变也可能不改变,所以B选项错误,函数形参的生存期一般在函数执行整个函数中存在,除了静态变量,所以c选项错误。
15.下列关于赋值运算符“=”重载的叙述中,正确的是( )。(A)
A. 赋值运算符只能作为类的成员函数重载
B. 默认的赋值运算符实现了”深层复制”功能
C. 重载的赋值运算符函数有两个本类对象作为形参
D. 如果已经定义了复制(拷贝)构造函数,就不能重载赋值运算符
解析:重载赋值运算符必须定义为类的成员函数,所以选项A正确。重载赋值运算符时应返回一个类的对象,所以c选项错误。如果已经定义了复制(拷贝)构造函数,仍然可以重载赋值运算符,所以D选项错误。
16.在
本文档预览:3600字符,共19282字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载