logo资料库

全国计算机二级C++考题真题及解析.doc

第1页 / 共112页
第2页 / 共112页
第3页 / 共112页
第4页 / 共112页
第5页 / 共112页
第6页 / 共112页
第7页 / 共112页
第8页 / 共112页
资料共112页,剩余部分请下载后查看
全国计算机等级考试二级笔试试卷 公共基础知识及 C++语言程序设计 (考试时间 90 分钟,满分 100)分) 一、选择题((1)~(35)每小题 2 分,共 70 分) 下列各题 A)、B)、C)、D)四个选项中,只有一个选项是正确 的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。 (1) 下面叙述正确的是 A)算法的执行效率与数据的存储结构无关 B)算法的空间复杂度是指算法程序中指令(或语句)的条数 C)算法的有穷性是指算法必须能在执行有限个步骤之后终止 D)以上三种描述都不对 (2)以下数据结构中不属于线性数据结构的是 A)队列 C)二叉树 (3)在一棵二叉树上第 5 层的结点数最多是 B)线性表 D)栈 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)数据模型 B)数据库管理系统 D)数据库 C)软件工具 (9)下列叙述中正确的是 A)数据库系统是一个独立的系统,不需要操作系统的支持 B)数据库设计是指设计数据库管理系统 C)数据库技术的根本目标是要解决数据共享的问题 D)数据库系统中,数据的物理结构必须与逻辑结构一致 (10)下列模式中,能够给出数据库物理存储结构与物理存取方法的 是 A)内模式 B)外模式 C)概念模式 D)逻辑模式 (11)关于面向对象的程序设计方法,下列说法正确的是 A)“封装性”指的是将不同类型的相关数据组合在一起,作为一个 整体进行处理 B)“多态性”指的是对象的状态会根据运行时要求自动变化 C)基类的私有成员在派生类的对象中不可访问,也不占内存空间 D)在面向对象的程序设计中,结构化程序设计方法仍有着重要作 用 (12)判断字符型变量 ch 是否为大写英文字母,应使用表达式 A ) ch>='A' & ch<='Z' C ) 'A'<=ch<='Z' B ) ch<='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,则屏幕显示 D)12 B)2 A)1 C)3 (15)下列程序的输出结果是 #include using namespace std; int main() { char a[] = "Hello, World"; char *ptr = a; while (*ptr) { if (*ptr >= 'a' && *ptr <= 'z') cout << char(*ptr + 'A' -'a'); else cout << *ptr;
ptr++; } return 0; } A ) HELLO, WORLD C ) hELLO, wORLD B ) Hello, World D ) hello, world (16)已知:int m=10;在下列定义引用的语句中,正确的是 A ) int &x=m; C )int &z; B )int y=&m; 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 int i = 0; void fun() { { static int i = 1;
std::cout<
问类 A 的私有成员 C)友元关系不能被继承 D)如果类 A 是类 B 的友元,那么类 A 的所有成员函数都是类 B 的友元 (23)关于动态存储分配,下列说法正确的是 A)new 和 delete 是 C++语言中专门用于动态内存分配和释放 的函数 B)动态分配的内存空间也可以被初始化 C)当系统内存不够时,会自动回收不再使用的内存单元,因此程 序中不必用 delete 释放内存空间 D)当动态分配内存失败时,系统会立刻崩溃,因此一定要慎用 new (24)有以下程序 #include using namespace std; class MyClass { public: MyClass(int n){number = n;} //拷贝构造函数 MyClass(MyClass &other){ number=other.number;} ~MyClass(){} private: int number; };
MyClass fun(MyClass p) { MyClass temp(p); return temp; } int main() { MyClass obj1(10), obj2(0); MyClass obj3(obj1); obj2=fun(obj3); return 0; } 程序执行时,MyClass 类的拷贝构造函数被调用的次数是 A)5 B)4 C)3 D)2 (25)在公有派生的情况下,派生类中定义的成员函数只能访问原基 类的 A)公有成员和私有成员 C)公有成员和保护成员 B)私有成员和保护成员 D)私有成员、保护成员和公有成 员 (26)在 C++中用来实现运行时多态性的是 A)重载函数 C)构造函数 B)析构函数 D)虚函数 (27)一个类可以同时继承多个类,称为多继承。下列关于多继承和 虚基类的表述中,错误的是 A)每个派生类的构造函数都要为虚基类构造函数提供实参 B)多继承时有可能出现对基类成员访问的二义性问题
C)使用虚基类可以解决二义性问题并实现运行时的多态性 D)建立最派生类对象时,虚基类的构造函数会首先被调用 (28)在一个类体的下列声明中,正确的纯虚函数声明是 A) virtual void vf()=0; C) virtual int vf(int); B) void vf(int)=0; D) virtual void vf(int) { } (29)在下面的运算符重载函数的原型中,错误的是 A) Volume operator - (double, double); B) double Volume::operator- (double); C) Volume Volume: :operator - (Volume); D) Volume operator - (Volume, Volume); (30)下列是模板声明的开始部分,其中正确的是 A) template B) template C) template D) template (31)执行语句序列 ofstream outfile("DATA.DAT"); if(...) cout << "OK"; else cout << "FAIL"; 后,如果文件打开成功显示“OK”,否则就显示“F 厶 n。”。由此可 知,上面 if 语句的... 处的表达式应是 A )outfile.fail() 或 outfile 或 !outfile C )outfile.good() 或 outfile 或 !outfile B )outfile.good() D )outfile.fail()
分享到:
收藏