[计算机类试卷]国家二级(C++)笔试模拟试卷234及答案与解析.doc
《[计算机类试卷]国家二级(C++)笔试模拟试卷234及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级(C++)笔试模拟试卷234及答案与解析.doc(22页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级( C+)笔试模拟试卷 234及答案与解析 1 2 3 算法的有穷性是指 ( )。 ( A)算法程序的长度是有限的 ( B)算法程序所处理的数据量是有限的 ( C)算法程序的运行时间是有限的 ( D)算法只能被有限的用户使用 4 有如下程序: #include iost earn using namespace std; class TestClass protected: TestClass()cout x; TestClass(char C) coutc; ; class TestClass1:public TestClass public: TestClass1(char C)
2、Cout c;) ; int main() TestClass1 d1(y); return 0; 执行这个程序,屏幕上将显示输出 ( )。 ( A) y ( B) yx ( C) xy ( D) yy 5 数据库系统的核心是 ( )。 ( A)数据库 ( B)数据库管理系统 ( C)数据模型 ( D)软件工具 6 在顺序表 (3, 6, 8, 10, 12, 15, 16, 18, 21, 25, 30)中,用二分法查找关键码值 11,所需的关键码比较次数为 ( ) ( A) 2 ( B) 3 ( C) 4 ( D) 5 7 下列关于 switch 语句的描述中, ( )是正确的。 ( A)
3、 switch语句中 default子句可以没有,也可有一个 ( B) switch语句中每个语句序列中必须有 break语句 ( C) switch语句中 default 子 句只能放在最后 ( D) switch语句中 case 子句后面的表达式只能是整型表达式 8 下列对重载函数的描述中, ( )是错误的。 ( A)重载函数中不允许使用默认参数 ( B)重载函数中编译是根据参数表进行选择 ( C)不要使用重载函数来描述毫无相干的函数 ( D)构造函数重载将会给初始化带来多种方式 9 若二维数组 a有 m列,则计算任一元素 aij在数组中相对位置的公式为 (假设 a0 0位于数组的第一个位
4、置上 ) ( )。 ( A) i*m+j ( B) j*m+i ( C) i*m+j-1 ( D) i*m+j+1 10 下列有关程序设计的原则中错误的是 ( A)对所有的输入数据都要检查数据的合法性 ( B)输入一批数据时,最好使用数据结束标志 ( C)对于不好的程序,尽量重新编写,避免修补 ( D)输出数据要干净,避免加注释 11 有如下程序: #include iostream using namespace std; class A public: A()cout “A“; A()cout “ A“; ; class B:public A A*p; public: B()cout “B
5、“;p=new A; B()cout “ B“;delete p; ; int main() B obj; return 0; 执行这个程序的输出结果是 ( )。 ( A) BAA A B A ( B) ABA B A A ( C) BAA B A- A ( D) ABA A B A 12 有如下 程序: #include iostream using namespace std; class A public: virtual void func1()cout “A1“; void func2()cout “A2“; ; class B:public A public: void func1
6、()cout “B1“; void func2()cout “B2“; ; int main() A *p=new B; p- func1(); p- func2(); return 0; 执行该程序,屏幕上将显示输出 ( )。 ( A) B1B2 ( B) A1A2 ( C) B1A2 ( D) A1B2 13 有如下程序: #include iostream Using namespace std; Class TestClass private: int X, y; public: TestClass(int i, int j) x i; y j; void print() cout “
7、printl” endl; void print()const cout “print2”endl; ; int mai ( A) print1 ( B) print2 ( C) print1 print2 ( D)程序编译时出错 14 已知 char a iht b; float c; double d;则表达式 a*b+c-d结果为 ( )。 ( A) double ( B) int ( C) float ( D) char 15 有如下函数模板声明: template typename T T Max(T a,T b)return(a =b)? a:b; 下列对函数模板 Max( )的调
8、用中错误的是 ( A) Max(3.5,4.5) ( B) Max(3.5,4) ( C) Max double (3.5,4.5) ( D) Max double (3.5,4) 16 当需要将一个函数 bool isnumber(char c)声明为内联函数时,则此内联函数的函数原型为 ( )。 ( A) enum bool isnumber(char c); ( B) define bool isnumber(char c); ( C) inline bool isnumber(char c); ( D) extem bool isnumber(char c); 17 在位运算中,操作数
9、每右移一位,其结果相当于 ( A)操作数乘以 2 ( B)操作数除以 2 ( C)操作数乘以 4 ( D)操作数除以 4 18 下面叙述不正 确的是 ( A)基类的保护成员在派生类中仍然是保护的成员 ( B)基类的保护成员在公有派生类中仍然是保护的 ( C)基类的保护成员在私有派生类中仍然是私有的 ( D)对基类成员的访问必须是无二义性 19 下面的描述中,正确的是 ( )。 ( A) virtual可以用来声明虚函数 ( B)含有纯虚函数的类是不可以用来创建对象的,因为它是虚基类 ( C)即使基类的构造函数没有参数,派生类也必须建立构造函数 ( D)静态数据成员可以通过成员初始化列表来初始化
10、 20 有如下程序: #include using namespace std; classA public: A0coutfun( 23 关于虚函数下面说的正确的是 ( )。 ( A)若在重定义虚函数时使用了 virtual,则该重定义函数还是虚函数 ( B)虚函数不能声明为友元 ( C)子类必须重定义父类的虚函数 ( D)虚函数不能是 static的 24 定义如下变量: char one_char;,则语句 cout one_char;显示结果相当于 C语言中的 ( )语句。 ( A) printf(one_char); ( B) prinff(“%c“,one_char); ( C)
11、scanf(one_char); ( D) scanf(“%c“,) ; class Derived: public Base public: Derived(char c)cout c;) ; int main() Derived dl(B); return 0; 执行这个程序屏幕上将显示输出 ( )。 ( A) B ( B) BA ( C) AB ( D) BB 26 对于类定义 classA public: virtual void func1() void func2() ; Class B: public A public: void funcl()cout ”class B fun
12、c1” end1; virtual void func2()cout “class B func 2“ end1; ; 下面正确的叙述是 ( A) A func2()和 B funcl()都是虚函数 ( B) A func2()和 B funcl()都不是虚函数 ( C) B funcl()是虚函数,而 A func2()不是虚函数 ( D) B funcl()不是虚函数,而 A func2()是虚函数 27 在 C+语言中,数据封装要解决的问题是 ( A)数据的规范化 ( B)便于数据转换 ( C)避免数据丢失 ( D)防止不同模块之间数据的非法访问 28 函数模板: template cl
13、ass T T add(T x, T y)return x+y; 下列对 add 函数的调用不正确的是 ( A) add (1, 2) ( B) add int (1, 2) ( C) add (1.0, 2) ( D) add(1.0, 2.0) 29 若类 A和类 B的定义如下: class A int i,j; public: int geti() return i; ; class B: public A int k; public: void make() k=i*j; ; 则上述定义中非法的表达式是 ( A) k=i*j ( B) int k; ( C) retum i; ( D)
14、 void make() 30 在函数声明中,下面哪项是不必要的 ( )。 ( A)函数参数的类型和参数名 ( B)函数名 ( C)函数的类型 ( D)函数体 31 下列关于类与对象的说法中,不正确的是 ( )。 ( A)对象是类的一个实例 ( B)任何一个对象只能属于一个具体的类 ( C)一个类只能有一个对象 ( D)类与对象的关系和数据类型与变量的关系相似 32 C+语言类体系中,不能被派生类继承的有 ( A)转换函数 ( B)构造函数 ( C)虚函数 ( D)静态成员函数 33 下面程序的运行结果为 #include iostream.h class A int num; public:
15、 A(int i)num=i; A(A const int con; Sample(int m) con=m+1;n=m; void disp( ) cout “normal:n=“ n endl; void disp( )const cout “static:n=“ n endl; ; void main( ) const Sample a (12); Sample b (13); a.disp( ); b.isp( ); cout a.n “,“ b.con endl; 43 C+中,派生类继承了基类的全部数据成员和除【 】之外的全部函数成员。 44 将一个函数声明为一个类的友元函数必须使
16、用关键字【 】。 45 以下程序的输出结果是【 】。 #include iostream. h void main() char *x6 = “Would“ , “you“ , “like“ , “C“ “Plus“ “Plus“ int i=0; while (i 4) if (i=3) cout xi “?“ ; else cout xi “ “; i+; cout end1; 46 构造函数是和【 】同名的函数。 47 将 x+y中的 +运算符用友元函数重载应写为【 】。 48 下面程序的结果为 【 】 。 #include iostream.h void main( ) int a=1
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 笔试 模拟 234 答案 解析 DOC
