1、国家二级( C+)笔试模拟试卷 252及答案与解析 1 算法的空间复杂度是指 ( A)算法程序的长度 ( B)算法程序中的指令条数 ( C)算法程序所占的存储空间 ( D)算法执行过程中所需要的存储空间 2 数据库系统的核心是 ( A)数据模型 ( B)数据库管理系统 ( C)数据库 ( D)数据库管理员 3 下列选项中,不是一个算法的基本特征是 ( )。 ( A)完整性 ( B)可行性 ( C)有穷性 ( D)拥有足够的情报 4 5 关系数据库管理系统能实现的专门关系运算包括 ( ) ( A)排序、索引、统计 ( B)选择、投影、连接 ( C)关联、更新、排序 ( D)显示、打印、制表 6
2、模板对类型的参数化提供了很好的支持,因此 ( A)类模板的主要作用是生成抽象类 ( B)类模板实例化时,编译器将根据给出的模板实参生成一个类 ( C)在类模板中的数据成员都具有同样类型 ( D)类模板中的成员函数都没有返回值 7 数据独立性是数据库技术的重要特点之一。所谓数据独立性是指 ( )。 ( A)数据与程序独立存放 ( B)不同的数据被存放在不同的文件中 ( C) 不同的数据只能被对应的应用程序所使用 ( D)以上三种说法都不对 8 下列关于运算符重载的叙述中,错误的是 ( A) :运算符不能重载 ( B)类型转换运算符只能作为成员函数重载 ( C)将运算符作为非成员函数重载时必须定义
3、为友元 ( D)重载 运算符应完成 “下标访问 ”操作 9 在深度为 5的满二叉树中,叶子结点的个数为 ( A) 31 ( B) 32 ( C) 16 ( D) 15 10 程序设计方法要求在程序设计过程中 ( A)先编制出程序,经调试使程序运行结果正确后再画出程序的流程图 ( B)先编制出程序,经调试使程序运行结果正确后再在程序中的适当位置处加注释 ( C)先画出流程图,再根据流程图编制出程序,最后经调试使程序运行结果正确后再在程序中的适当位置处加注释 ( D)以上三种说法都不对 11 C+中运算符优先级由高到低排列正确的是 ( A) : + + | ( B) * | , ( C) size
4、of % + : ( D) , new sizeof 12 有关构造函数的说法中错误的是 ( A)构造函数名字和类的名字一样 ( B)构造函数在 对象被创建时由系统自动调用 ( C)构造函数无任何函数类型 ( D)构造函数有且只有一个 13 静态成员函数没有 ( A)返回值 ( B) this指针 ( C)指针参数 ( D)返回类型 14 考虑以下的函数原型: void A(int a, int b 5, char Z *);下面的函数调用中,不正确的是 ( )。 ( A) A(7) ( B) A(3, 4) ( C) 16, # ( D) A(O, 2, * 15 以下不能作为输出流对象的是
5、 ( A)文件 ( B)内存 ( C)键盘 ( D)显示器 16 有如下函数模板声明: template typename T T Max(T a, T b)return(a)b)?a: b; 下列对函数模板 Max()的调用中错误的是 ( )。 ( A) Max(3.5, 4.5) ( B) Max(3.5, 4) ( C) Max(double)(3.5, 4.5) ( D) Max(double)(3.5, 4) 17 下列关于虚函数的描述中,正确的是 ( )。 ( A)虚函数是一个 static类型的成员函数 ( B)虚函数是一个非成员函数 ( C)基类中采用 virtual说明一个虚
6、函数后,派生类中定义相同原型的函数时可不必加 virtual说明 ( D)派生类中的虚函数与基类中相同原型的虚函数具有不同的参数个数或类型 18 已知类 A有公用数据成员 a,并重载了 “ ”运算符,且有 A obj2;const A*ptr new A;则下列语句错误的是 ( )。 ( A) ptr- a=100; ( B) ptr= ( C) ptr+; ( D) obj2=*ptr; 19 有如下程序: #include iomanip #include iostream using namespace std; int main() cout setfill(*) setw(6) 12
7、3 456; return 0; 运行时的输出结果是 ( )。 A) *123*456 B) *123456* C) *123456 D) 123456 20 重载输入流运算符必须使 用的原型为 ( )。 ( A) istream sub2(char*a,char b) char c: c=*a; ”a=b; b=c; sub3(char*a, char*b) char c; c=*a; ”a=*b; *b=c; void main() char a,b; a=A; b=B:sub1(a, b); putchar(a): putchar(b): a=A;b=B; sub2( sub3( del
8、ete a; a new int(10) ;delete a; a Hew int10 ;delete a;。 45 【正确答案】 new 【试题解析】 new运算符对指定类型对象动态分配内存并返回该类型的指针。 46 【正确答案】 BCDE 47 【正确答案】 Myhomeis H 48 【正确答案】 public 49 【正确答案】 ptr- SetNum(50); 【试题解析】 本题考查的是考生使用对象指针调用成员函数的能力,指针调用成员函数应该使用符号 “- ”。 50 【正确答案】 a=3, b 2 【试题解析】 本题考查函数间引用传递的知识点。 g(a)执行之后,返回值为 1, a也变为 1,这就是引用传递的特点。然后执行 f(1),返回值为 2,此时 a 2+1,故a此时为 3。由于 f(b)不具有引用传递的特征,因此,执行后 b=0+2,结果为 2。