国家二级C++机试(选择题)模拟试卷191
选择题
1.下列数据结构中,能够按照“先进后出”原则存取数据的是(B)
A. 循环队列
B. 栈
C. 队列
D. 二叉树
解析:栈按照“先进后出”(FILO)或“后进先出”(LIFO)组织数据;队列是“先进先出”(FIFO)或“后进后出”(LILO)的线性表。
2.下列叙述中正确的是( )。(D)
A. 栈是一种先进先出的线性表
B. 队列是一种后进先出的线性表
C. 栈与队列都是非线性结构
D. 以上三种说法都不对
解析:栈是先进后出的线性表,队列是先进先出的线性表。二者均为线性结构。
3.有如下语句序列:
int x=100,&r==x;
cout<<x<<’-’<<r<<end1:
己知其中变量x的地址为0012FF7C,则执行该语句序列的输出结果为( )。(A)
A. 100-100
B. 100.0012FF7C
C. 0012FF7C-100
D. 0012FF7C-0012FF7C
解析:在语句int x=100,&r=x;中声明r初始化对x的引用,所以x和&r的值都是100。
4.字面常量42、4.2、42L的数据类型分别是( )。(C)
A. long,double,int
B. long,float,int
C. int,double,long
D. int,float,long
解析:此题考查的知识点是字面常量。对于整型字面常量,只要没有超过C++中整数所能表示的范围,C++将自动按整数来存储此数,也可以通过在整型字面常量后添加u或l来指定无符号整数或长整数来存储;对于实型字面常量,C++将自动按照双精度数来存储,也可以通过在实型字面常量后添加f来指定按单精度数存储。
5.下面程序的输出结果为( )。
#include<iostream.h>
void main()
{int x;
int &y=x;//变量引用
y=99;
cout<<’’x=’’<<x<<end1;
}(A)
A. x=99 13)x=9
B. x=0
C. 异常
解析:程序中的“int&y=x;”语句中的“&”引用运算符。&y=x语句可以理解为y具有x的地址,所以y的值99,x的值也是99,所以答案是x=99。
6.数据流图中带有箭头的线段表示的是( )。(D)
A. 控制流
B. 事件驱动
C. 模块调用
D. 数据流
解析:数据流图是从数据传递和加工的角度,来刻画数据流从输入到输出的移动变换过程。其中带箭头的线段表示数据流,沿箭头方向传递数据的通道,一般在旁边标注数据流名。
7.有如下程序:
#include
using namespace std;
class Pair{
int m,n;
public:
Pair(intj,int k):m(j),n(k){}
int get(){return m;}
int getoconst{retum m+n;}
};
int main(){
Pair a(3,5);
const Pair b(3,5);
cout<<a.get()<<b.get();
retum 0;
)
运行时的输出结果是( )。(B)
A. 33
B. 38
C. 83
D. 88
解析:在主函数中定义了类Pair的一个实例变量a,并分别对实例变量a的数据成员m,n赋初值3,5。所以调用a.get()成员函数时,输出3。又定义类Pair的一个常实例变量b,并分别对实例变量b的数据成员m,n赋初值3,5。所以调用成员函数b.get()时,输出8。
8.对于语句cout<<endl<<x;中的各个组成部分,下列叙述中错误的是( )。(D)
A. “cout”是一个输出流对象
B. “endl”的作用是输出回车换行
C. “x”是一个变量
D. “<<”称作提取运算符
解析:语句cout<<endl<<x:作用是输出回车和变量x的值。所以题目中选项A)、B)、C)的叙述均正确,只有选项D)叙述错误,“<<”是插入运算符。
9.数据库设计中,用E-R图来描述信息结构但不涉及信息在计算机中的表示,它属于数据库设计的( )。(C)
A. 需求分析阶段
B. 逻辑设计阶段
C. 概念设计阶段
D. 物理设计阶段
解析:E-R模型(实体联系模型)是将现实世界的要求转化成实体、联系、属性等几个基本概念,以及它们间的两种基本联接关系,并且可用一种图非常直观地表示出来。它属于数据库设计的概念设计阶段。
10.下列符号中能够作为C++标识符的是( )。(C)
A. const
B. 2a
C. _shape
D. -count
解析:此题考查的是C++标识符。标识符是由数字、字母以及下划线构成,其第一个字符必须是字母或下划线,中间不能有空格:标识符的长度是任意的,但由于编译系统的限制一般不超过31个字符;标识符中的大小写字母是不同的;定义标识符时不能采用系统的保留字。
11.数据库设计的根本目标是要解决(A)
A. 数据共享问题
B. 数据安全问题
C. 大量数据存储问题
D. 简化数据维护
解析:数据库应用系统中的一个核心问题就是设计一个能满足用户要求、性能良好的数据库,这就是数据库设计。数据库设计是在一定平台制约下,根据信息需求与处理需求设计出性能良好的数据模式。数据库设计的根本目标是要解决数据共享的问题。
12.下列关于赋值运算符“=”重载的叙述中,正确的是( )。(A)
A. 赋值运算符只能作为类的成员函数重载
B. 默认的赋值运算符实现了“深层复制”功能
C. 重载的赋值运算符函数有两个本类对象作为形参
D. 如果已经定义了复制(拷贝)构造函数,就不能重载赋值运算符
解析:重载赋值运算符必须定义为类的成员函数;所以选项A正确。重载赋值运算符时应返回一个类的对象,所以C选项错误。如果已经定义了复制(拷贝)构造函数,仍然可以重载赋值运算符,所以D选项错误。
13.有如下程序:
#include
using namespace std;
class GA{
public;
virtual hat f(){retum 1;}
};
class GB:public GA{
public;
virtual i
本文档预览:3600字符,共7491字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载