1、国家二级( C+)笔试模拟试卷 42及答案与解析 1 队列操作的原则是 _。 ( A)先进先出 ( B)后进先出 ( C)只能进行插入 ( D)只能进行删除 2 将长度为 n的单链表接在长度为 m的单链表之后的算法时间复杂度是 _。 ( A) 0(1) ( B) 0(n) ( C) 0(m) ( D) O(m+n) 3 有 64个结点的完全二叉树的深度为 _(根的层次为 1)。 ( A) 8 ( B) 7 ( C) 6 ( D) 5 4 若表 R在排序前已按键值递增顺序排列,则 _ 算法的比较次数最少。 ( A)直接插入排序 ( B)快速排序 ( C)归并排序 ( D)选择排序 5 结构化程序
2、设计的一种基本方法是 _。 ( A)归纳法 ( B)逐步求精法 ( C)递归法 ( D)穷尽法 6 软件需求分析应确定的是用户对软件的 _。 ( A)功能需求和非功能需求 ( B)性能需求 ( C)非功能需求 ( D)功能需求 7 _ 工具在软件详细设计过程中不采用。 ( A)判定表 ( B) IPO图 ( C) PDL ( D) DFD图 8 现实世界 中,事物的一般特性在信息世界中称为 _。 ( A)实体 ( B)实体键 ( C)属性 ( D)关系键 9 已知三个关系: 学生 (学号,姓名,性别 ) 课程 (课程编号,课程名称,学时 ) 成绩 (学号,课程编号,分数 ) 若要列出选修课程名
3、称为 “DB”, 且分数低于 60的学生姓名和分数, 则应使用的关系代数运算有 _。 ( A)选择、投影,自然连接 ( B)选择、投影 ( C)选择、自然连接 ( D)投影、自然连接 10 在下列关于关系的陈述中,错误的是 _。 ( A)表中任意两行的值不能相同 ( B)表中任意两列的值不能相同 ( C)行在表中的顺序无关紧要 ( D)列在表中的顺序无关紧要 11 若有以下定义: char a: int b; float c; double d; 则表达式 a*b+d c的值的类型为 _。 ( A) float ( B) int ( C) char ( D) double 12 在 C+中,合
4、法的字符常量是 _。 ( A) 084 ( B) x43 ( C) ah ( D) “0” 13 若有 int x=2, y=3, z=4, m; 则在计算表达式 m=(x y)?z+2:z-4 后, m的值为 _。 ( A) 6 ( B) 5 ( C) 4 ( D) 2 14 对中断语句的说法不正确的是 _。 ( A)用户可以指定中断位置 ( B)用户可以指定转移的位置 ( C) break语句可以跳出本循环 ( D) continue语句可以结束本次循环 15 以下程序中, while语句的循环次数是 _。 #include iostream.h viod main() int i=0;
5、while(i 10) if(i 1)continue; if(i=5) break; i+; ( A) 1 ( B) 10 ( C) 6 ( D)死循环,不能确定次数 16 设有定义: char s12=“hello“,则 cout strlen(s)的输出是 _。 ( A) 5 ( B) 6 ( C) 11 ( D) 12 17 设 int x =(1, 3, 5, 7, 9, 11, 13), *p=x;则不能正确引用数组元素的表达式是 _。 ( A) *(p-) ( B) *(-p) ( C) *(p+) ( D) *(+p) 18 当调用函数时,实参是一个数组名,则向函数传送的是 _
6、。 ( A)数组的长度 ( B)数组的首地址 ( C)数组每一个元素的地址 ( D)数组每个元素中的值 19 在 _ 情况下适宜采用 inline定义内联函数。 ( A)函数体含有循 环语句 ( B)函数体含有递归语句 ( C)函数代码少、频繁调用 ( D)函数代码多、不常调用 20 以下程序的输出结果是 _。 # include iostream.h int f() static int i=0; int a=1; a+=i; i+; return a; void main() int i, s=0; for(i=0; i 4;i+) s1+=f(); cout s; ( A) 10 ( B
7、) 15 ( C) 21 ( D) 28 21 若有函数 char*func(char *p) return p; 则该函数的返回值是 _。 ( A)无确切的值 ( B)形参 p中存放的地址 ( C)一个临时存储单元的地址 ( D)形参 p自身的地址 22 有如下程序段: int a10, *p3, *pp, i; for(i=0;i 3: i+) pi= pp=p; 则正确表示数组 a元素的表达式是 _。 ( A) pp ( B) a10 ( C) p3 ( D) *(*(p+2) 23 以下程序段的输出结果是 _。 #include iostream.h void main() char*
8、p5=“ABCD“, “EF“, “GHI“, “JKL“, “MNOP“; char *q=p; int i; for(i=0;i =4; i+) cout qi; ( A) ABCDEFGHIJKL ( B) ABCD ( C) ABCDEFGHIJKMNOP ( D) AEGJM 24 一个类的友元函数能够访问该类的 _。 ( A)私有成员 ( B)保护成员 ( C)公有成员 ( D)所有成员 25 拷贝 (复制 )构造函数的作用是 _。 ( A)进行数据类型的转换 ( B)用对象调用成员函数 ( C)用对象初始化对象 ( D)用一般类型的数据初始化对象 26 下列定义中, x是 一个类
9、, _ 是定义指向对象数组的指针 p。 ( A) X*p4 ( B) X(*p)4 ( C) (X*)p4 ( D) X*p 27 下面关于类的静态成员,说法正确的是 _。 ( A)类的静态成员函数只能访问类的静态数据成员 ( B)类的静态成员函数可直接访问类的所以数据成员 ( C)类的每个对象都有一份自己的静态数据成员 ( D)静态数据成员只能通过 “类 : ”进行访问 28 下面叙述不正确的是 _。 ( A)派生类一般都是公有派生 ( B)对基类成员的访问 必须是无两义性的 ( C)赋值兼容规则也适用于多重继承的场合 ( D)基类的公有成员在派生类中仍然是公有的 29 可以用 p.a的形式
10、访问派生对象 p的基类成员,其中 a是 _。 ( A)私有继承的公有成员 ( B)公有继承的私有成员 ( C)公有继承的保护成员 ( D)公有继承的公有成员 30 如果一个类至少有一个纯虚函数,那么就成为 _。 ( A)抽象类 ( B)虚基类 ( C)派生类 ( D)以上都不对 31 关于虚函数的描述牛, _ 是正确的。 ( A)派生类的虚 函数与基类的虚函数具有不同的参数个数和类型 ( B)基类中说明了虚函数后,派生类中其对应的函数一定要说明为虚函数 ( C)虚函数是 个成员函数 ( D)虚函数是一个 static类型的成员函数 32 在 I/O类库中,头文件 iostream.h包括了 _
11、。 ( A)操作所有输入 /输出流所需要的基本信息 ( B)由用户控制的文件处理操作信息 ( C)与内核格式化相关的信息 ( D)含参数的流操纵算子信息 33 移动输入流文件指针的函数是 _。 ( A) tellg ( B) seekg ( C) seekp ( D) tellp 34 下列必须重载为成员函数的运算符是 _。 ( A) +和 - ( B) =、 和 ( ) ( C) +、 =和 ( D) +=、 和 = 35 下面对模板的声明正确的是 _。 ( A) template T ( B) template class T1, T2 ( C) template classT1, cla
12、ssT2 ( D) template classT1; classT2 36 汇编语言是面向【 】的,可以完成高级语言无法完 成的特殊功能,如与外部设备之间的一些接口工作。 37 对于顺序存储的队列,存储空间大小为 n,头指针为 P,尾指针为 R。若在逻辑上看成一个环,则队列中元素的个数为【 】。 38 有 64个结点的完全二叉树的深度【 】 (根的层次为 1)。 39 在结构化分析中,用于描述加工逻辑的主要工具有三种,即:结构化语言、判定表、【 】。 40 在扩展的 E-R模型中;子类【 】超类所有的联系和属性。 41 在执行完下面的程序后,变量 k的值为【 】。 int i, j, k;
13、for(i=0, j=10; i :j; i+,j-) k=i+j; 42 在下面的程序运行时,如果从键盘上输入 1298并回车,则输出结果为【 】。 # include iostream. h void main() int n1, n2; cin n2; while (n2!=0) n1=n2%10; n2=n1/10; cout rd “,“ 43 以下程序段给数组 A的所有元素输入数据 ,请填空。 # include iostream. h void main () int a10, i; i=0; while (i 10) cin 【 】 44 以下程序的输出结果是【 】。 #inc
14、lude iostream. h viod main() char sl5= “ABCD“, s2=5; int k; for(k=0;k 4:k+) s2k=(slk- 0 +1) + 0 ; s2k= 0 ; cout s2; 45 C+语言的函数参数传递方式有值传递和【 】、引用传递。 46 写出下列程序的运行结果【 】。 #include iostream. h void func(double x, int void main( ) int n; double x, f; x=1001. 0103; func (x, n, f): cout “Part 1=“ n “ , part2
15、=“ f end1 47 下列程序的输出结果是【 】。 #include iostream. h #include string. h void main() char b30; strcpy( strcpy( strcpy( cout b( end1; 48 请分析下面的程序并给出该程序的执行结果【 】。 #include iostream class AA int a; public: AA() cout “ Initializing AA!n“ ; AAM() cout “ Destroying AA!n“ ; ; class BB int b; AA p; public: BB() c
16、out “Initializing BB!n“ ; BB() cout “Destroying BB!n“ ; ; void main() BB X; cout “Ending main!n ; 49 构造函数与析构函数所调用的虚函烽是所在类的函数,因此调用时实现的是【 】联编。 50 一个抽象类的派生类可以实例化的必需条件是实现了所有的【 】。 国家二级( C+)笔试模拟试卷 42答案与解析 1 【正确答案】 A 2 【正确答案】 C 3 【正确答案】 B 4 【正确答案】 A 5 【正确答案】 A 6 【正确答案】 D 7 【正确答案】 D 8 【正确答案】 C 9 【正确答案】 B 10
17、 【正确答案】 A 11 【正确答案】 D 12 【正确答案】 B 13 【正确答案】 A 14 【正确答案】 B 15 【正确答案】 D 16 【正确答案】 A 17 【正确答案】 B 18 【正确答案】 B 19 【正确答案】 A 20 【正确答案】 A 21 【正确答案】 B 22 【正确答案】 D 23 【正确答案】 C 24 【正确答案】 D 25 【正确答案】 C 26 【正确答案】 B 27 【正确答案】 A 28 【正确答案】 D 29 【正确答案】 D 30 【正确答案】 A 31 【正确答案】 C 32 【正确答案】 A 33 【正确答案】 B 34 【正确答案】 B 35
18、 【正确答案】 C 36 【正确答案】 机器 37 【正确答案】 (R-F+1)mod n 38 【正确答案】 7 39 【正 确答案】 判定树 40 【正确答案】 继承 41 【正确答案】 10 42 【正确答案】 8, 9 ,2, 1 43 【正确答案】 ai+ 44 【正确答案】 BCDE 45 【正确答案】 地址传递 46 【正确答案】 part1=1501, part2=1.03 47 【正确答案】 XYZXY 48 【正确答案】 Initializing AA! Initializing BB! Ending main! Destroying BB! Destroying AA! 49 【正确答案】 静态 50 【正确答案】 纯虚函数