.
全国计算机等级考试二级笔试试卷
公共基础知识及C++语言程序设计
(考试时间90分钟,满分100)分)
一、选择题((1)~(35)每小题2分,共70分)
下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。 (1) 下面叙述正确的是
A)算法的执行效率与数据的存储结构无关
B)算法的空间复杂度是指算法程序中指令(或语句)的条数 C)算法的有穷性是指算法必须能在执行有限个步骤之后终止 D)以上三种描述都不对
(2)以下数据结构中不属于线性数据结构的是 A)队列 B)线性表 C)二叉树 D)栈 (3)在一棵二叉树上第5层的结点数最多是 A)8 B)16 C)32 D)15 (4)下面描述中,符合结构化程序设计风格的是
A)使用顺序、选择和重复(循环)三种基本控制结构表示程序的控制逻辑
B)模块只有一个入口,可以有多个出口 C)注重提高程序的执行效率 D)不使用goto语句
(5)下面概念中,不属于面向对象方法的是
A)对象 B)继承 C)类 D)过程调用 (6)在结构化方法中,用数据流程图(DFD)作为描述工具的软件开发阶段是
. . .
.
A)可行性分析 B)需求分析 C)详细设计 D)程序编码 (7)在软件开发中,下面任务不属于设计阶段的是 A)数据结构设计 B)给出系统模块结构 C)定义模块算法 D)定义需求并建立系统模型 (8)数据库系统的核心是
A)数据模型 C)软件工具 B)数据库管理系统 D)数据库 (9)下列叙述中正确的是
A)数据库系统是一个独立的系统,不需要操作系统的支持 B)数据库设计是指设计数据库管理系统
C)数据库技术的根本目标是要解决数据共享的问题 D)数据库系统中,数据的物理结构必须与逻辑结构一致
(10)下列模式中,能够给出数据库物理存储结构与物理存取方法的是 A)模式 B)外模式 C)概念模式 D)逻辑模式 (11)关于面向对象的程序设计方法,下列说法正确的是
A)“封装性”指的是将不同类型的相关数据组合在一起,作为一个整体进行处理
B)“多态性”指的是对象的状态会根据运行时要求自动变化 C)基类的私有成员在派生类的对象中不可访问,也不占存空间 D)在面向对象的程序设计中,结构化程序设计方法仍有着重要作用 (12)判断字符型变量ch是否为大写英文字母,应使用表达式 A ) ch>='A' & ch<='Z' B ) ch<='A' ||ch>='Z' C ) 'A'<=ch<='Z' D ) ch>='A' && ch<='Z' (13)已知下列语句中的x和y都是int型变量,其中错误的语句 A ) x=y++; B ) x=++y; C ) (x+y)++; D ) ++x=y; (14)执行语句序列
. . .
.
int n; cin >> n; switch(n) { case 1:
case 2: cout << '1'; case 3:
case 4: cout << '2'; break;
default: cout << '3'; }
时,若键盘输入1,则屏幕显示 A)1 B)2 C)3 D)12 (15)下列程序的输出结果是 #include
char a[] = \ char *ptr = a; while (*ptr) {
if (*ptr >= 'a' && *ptr <= 'z') cout << char(*ptr + 'A' -'a'); else cout << *ptr; ptr++; }
return 0;
. . .
.
}
A ) HELLO, WORLD B ) Hello, World C ) hELLO, wORLD D ) hello, world (16)已知:int m=10;在下列定义引用的语句中,正确的是 A ) int &x=m; B )int y=&m; C )int &z; D ) int &t=&m; (17)下列函数原型声明中错误的是 A ) void Fun(int x=0, int y=0); B ) void Fun(int x, int y); C ) void Fun(int x, int y=0); D ) void Fun(int x=0, int y);
(18)已知程序中已经定义了函数test,其原型是int test(int, int, int);,则下列重载形式中正确的是 A ) char test(int,int,int); B ) double test(int,int,double); C ) int test(int,int,int=0); D ) float test(int,int,float=3.5F); (19)有以下程序 #include
static int i = 1; std::cout<
}
std::cout<
. . .
.
}
int main() {
fun(); fun(); return 0; }
程序执行后的输出结果是
A)1,2,1,2, B)1,2,2,3, C)2,0,3,0, D)1,0,2,0, (20)已知函数f的原型是:void f(int *a, long &b); 变量v1、v2的定义是:int v1;long v2;,正确的调用语句是 A) f(v1, &v2); B) f(v1, v2); C) f(&v1, v2); D) f(&v1, &v2); (21)有以下类定义 class MyClass { public:
MyClass(){cout<<1;} };
则执行语句MyClass a, b[2], *p[2];后,程序的输出结果是 A)11 B)111 C)1111 D)11111 (22)关于友元,下列说法错误的是
A)如果类A是类B的友元,那么类B也是类A的友元
B)如果函数fun()被说明为类A的友元,那么在fun()中可以访问类A的私有成员 C)友元关系不能被继承
D)如果类A是类B的友元,那么类A的所有成员函数都是类B的友
. . .