logo资料库

2009年9月全国计算机二级C++考试真题及答案.doc

第1页 / 共13页
第2页 / 共13页
第3页 / 共13页
第4页 / 共13页
第5页 / 共13页
第6页 / 共13页
第7页 / 共13页
第8页 / 共13页
资料共13页,剩余部分请下载后查看
2009 年 9 月全国计算机二级 C++考试真题及答案 一、选择题(1-10,21-40 每题 2 分,11-20 每题 1 分) (1)下列数据结构中,属于非线性结构的是 A)循环队列 B)带链队列 C)二叉树 D)带链栈 (2)下列数据结构中,能够按照“先进后出”原则存取数据的是 A)循环队列 B)栈 C)队列 D)二叉树 (3)对于循环队列,下列叙述中正确的是 A)队头指针是固定不变的 B)队头指针一定大于队尾指针 C)队头指针一定小于队尾指针 D)队头指针可以大于队尾指针,也可以小于队尾指针 (4)算法的空间复杂度是指 A)算法在执行过程中所需要的计算机存储空间 B)算法所处理的数据量 C)算法程序中的语句或指令条数 D)算法在执行过程中所需要的临时工作单元数 (5)软件设计中划分模块的一个准则是 A)低内聚低耦合 B)高内聚低耦合 C)低内聚高耦合 D)高内聚高耦合 (6)下列选项中不属于结构化程序设计原则的是 A)可封装 B)自顶向下 C)模块化 D)逐步求精 (7)软件详细设计产生的图如下:
该图是 A)N-S 图 B)PAD 图 C)程序流程图 D)E-R 图 (8)数据库管理系统是 A)操作系统的一部分 B)在操作系统支持下的系统软件 C)一种编译系统 D)一种操作系统 (9)在 E-R 图中,用来表示实体联系的图形是 A)椭圆形 B)矩形 C)菱形 D)三角形 (10)有三个关系 R,S,和 T 如下: R C 2 1 1 C 2 A S T a b c A B d A B 1 2 3 3 B C
A B C D 1 2 3 3 2 1 1 2 其中关系 T 由关系 R 和 S 通过某种操作得到,该操作为 A)选择 B)投影 C)交 D)并 (11)已知函数 FA 调用 FB,若要把这两个函数定义在同一个文件中,则 A)FA 必须定义在 FB 之前 B)FB 必须定义在 FA 之前 C)若 FA 定义在 FB 之后,则 FA 的原型必须出现在 FB 的定义之前 D)若 FB 定义在 FA 之后,则 FB 的原型必须出现在 FA 的定义之前 (12)有如下两个类定义 class AA{}; class BB{ AA v1,*v2; BB v3; int *v4; }; 其中有一个成员变量的定义是错误的,这个变量是 A)v1 B)v2 C)v3 D)v4 (13)有如下类定义: class XX{ int xdata; public: XX(int n=0) : xdata (n) { } }; class YY : public XX{ int ydata; public: YY(int m=0, int n=0) : XX(m), ydata(n) { } }; YY 类的对象包含的数据成员的个数是 A)1 B)2
C)3 D)4 (14)下列有关运算符函数的描述中,错误的是 A)运算符函数的名称总是以 operator 为前缀 B)运算符函数的参数可以是对象 C)运算符函数只能定义为类的成员函数 D)在表达式中使用重载的运算符相当于调用运算符重载函数 (15)下列关于模板形参的描述中,错误的是 A)模板形参表必须在关键字 template 之后 B)模板形参表必须用括弧( )括起来 C)可以用 class 修饰模板形参 D)可以用 typename 修饰模板形参 (16)在下列枚举符号中,用来表示“相对于当前位置”文件定位方式的是 A)ios_base::cur B)ios_base::beg C)ios_base::out D)ios_base::end (17)下列字符串可以用作 C++标识符的是 A)2009var B)goto C)test - 2009 D)_123 (18)下列枚举类型的定义中,包含枚举值 3 的是 A)enum test {RED, YELLOW, BLUE, BLACK}; B)enum test {RED, YELLOW=4, BLUE, BLACK}; C)enum test {RED=-1, YELLOW,BLUE, BLACK}; D)enum test {RED, YELLOW=6, BLUE, BLACK}; (19)有如下程序段: int i=1; while (1) { i++; if(i == 10) break; if(i%2 == 0) cout << '*'; } 执行这个程序段输出字符*的个数是 A)10 B)3 C)4 D)5
(20)已知数组 arr 的定义如下: int arr[5] = {1,2,3,4,5}; 下列语句中输出结果不是 2 的是 A)cout << *arr+1 < 下列声明中,与上述声明不等价的是 A)template class A; class A;
class A; B)template C)template class A; D)template class A; (26)下列关于 C++流的描述中,错误的是 A)cout>>'A'表达式可输出字符 A B)eof()函数可以检测是否到达文件尾 C)对磁盘文件进行流操作时,必须包含头文件 fstream D)以 ios_base::out 模式打开的文件不存在时,将自动建立一个新文件 27)有如下程序: #include using namespace std; class Toy{ public: Toy(char* _n) { strcpy (name,_n); count++;} ~Toy(){ count--; } char* GetName(){ return name; } static int getCount(){ return count; } private: char name[10]; static int count; }; int Toy::count=0; int mail(){ Toy t1(“Snoopy”),t2(“Mickey”),t3(“Barbie”); cout< using namespace std; class A { public: A(int i):rl(i) { } void print( ) {cout<<'e'<
const A a2(4); a2.print(); }; int main(){ A al(2); al.print(); return 0; } 运行时的输出结果是 A)运行时出错 B)E2-C16- C)C4-C16- D)E2-E4- 29)有如下程序: #include using namespace std; class Name{ char name[20]; public: Name(){ strcpy(name,""); cout<<'?'; } Name(char *fname)){ strcpy(name,fname); cout<'?'; } }; int main(){ Name names[3]={Name(“张三”),Name(“李四”)}; Return 0; } 运行此程序输出符号?的个数是 A)0 B)1 C)2 D)3 (30)有如下程序: #include using namespace std; public: AA(){ cout<<'1'; } }; class BB: public AA{ int k; public: BB():k(0){ cout<<'2'; }
BB(int n):k(n){ cout<<'3';} } int main(){ BB b(4), c; return 0; } 运行时的输出结果是 A ) 1312 32 (31)有如下程序: #include using namespace std; class C1{ public: ~C1(){ cout<<1; } }; Class C2: public c1{ public: ~c2(){ cout<<2; } }; int main(){ C2 cb2; C1 *cb1; return 0; } 运行时的输出结果是 A ) 121 211 D ) 132 D)1412 C ) B ) 21 D)12 C ) (32)有如下程序 #include using namespace std; class Publication{ //出版物类 char name[30]; public: Publication(char *name="未知名称"){ strcpy(this->name,name); } const char * getName()const{ return name; } virtual const char * getType()const{ return "未知类型";} }; class Book: public Publication{ //书类 public:
分享到:
收藏