1、国家二级( C+)笔试模拟试卷 105及答案与解析 1 以下函数调用语句中实参的个数是 ( )。 excc(v1,v2), (V3, v4, V5), V6); ( A) 3 ( B) 4 ( C) 5 ( D) 6 2 以下程序段的执行结果是 ( )。 int a,y: a=10; y=10 do a+=2: y+=a; cout “a”=“ a ”, “ ”y=“ y ”n”; if(y20)break; while(a =14); ( A) a=12,y=12 ( B) a=12,y=12 a=14,y=1 a=16,y=28 ( C) a=12,y=12 ( D) a=12,y=12
2、a=14,y=26 a=14,y=44 3 当一个函数无返回值时,函数的类型应为 ( )。 ( A)任意 ( B) void ( C) int ( D) char 4 下面程序的运行结果为 ( )。 #include iostream.h void main() char a=3; switch(a) case3: cout “3”: case2: cout “2”; break; default: cout “1”: ( A) 3 ( B) 321 ( C) 31 ( D) 32 5 有关析构函数的说法不正确的是 ( )。 ( A)析构函数有且只有一个 ( B)析构函数无任何函数类型 ( C
3、)析构函数和构造函数一样可以有形参 ( D) 析构函数的作用是在对象被撤消时收回先前分配的内存空间 6 下列关于 break语句的叙述不正确的是 ( )。 ( A) break语句可用在循环体中,它将使执行流程跳出本层循环体 ( B) break语句可用在 switch语句中,它将使执行流程跳出当前 switch语句 ( C) break语句可用在 if语句中,它将使执行流程跳出当前 if语句 ( D) break语句在一层循环体中可以出现多次 7 一个函数为 void(int,char=a),另一个函数为 void f(int),则它们 ( )。 ( A)不能在同一程序中定义 ( B)可以在
4、同一程序中定义并可重载 ( C)可以在同一程序中定义,但不可以重载 ( D)以上说法均不正确 8 下面关于运算符重载的描述错误的是 ( )。 ( A)运算符重载不能改变操作数的个数、运算符的优先级、运算符的结合性和运算符的语法结构 ( B)不是所有的运算符都可以进行重载 ( C)运算符函数的调用必须使用关键字 operator ( D)在 C+语言中不可通过运算符重载创造出新的运算符 9 类模板的使用实际上是将类模板实例化成一个具体的 ( )。 ( A) 类 ( B)对象 ( C)函数 ( D)模板类 10 以下不能正确进行字符串赋值初值的语句是 ( )。 ( A) char str5=“go
5、od!“; ( B) char str=“good!“; ( C) char*str=“good!“; ( D) char str5=g, o, o, d; 11 下面程序的结果是 ( )。 #include“iostream.h“ void main() char *str; Str=“test!“; cout str5; ( A)程序错误 ( B) ! ( C) 0 ( D)为空字符 12 ( )是析构函数的特征。 ( A)一个类中只能定义一个析构函数 ( B)析构函数名与类名不同 ( C)析构函数的定义只能在类体内 ( D)析构函数可以有一个或多个参数 13 当 ifstream流类定义
6、一个流对象并打开一个磁盘文件时,文件的隐含打开方式为 ( )。 ( A) ios: in ( B) ios: out ( C) ios: inlios: out ( D) ios: binary 14 下面不是派生类对基类的继承方式的是 ( )。 ( A) private ( B) public ( C) static ( D) protected 15 以下关于 C+语言类的说法中正确的是 ( )。 ( A) C+语言的默认访问权限是 private ( B) C+语言中的类定义,用户一定要自己定义一个构造函数用于实例化类 ( C) C+语言中的成员函数的实现部分一定要写在类定义外 ( D)
7、 C+语言中的类不能够嵌套定义 16 类模板 template class T class x ,其中,友元函数 f对特定类型 T(如int),使函数 f(x int char c, d; Cin a b c d; ( A) 10, 20空格 A, B回车 ( B) 10空格 20空格 A空格 B回车 ( C) 10空格 20, A, B回车 ( D) 10, 20, A, B回车 34 下列语句错误的是 ( )。 ( A) char*p=“John“; p2=a; ( B) char name5=“John“; name2=a ( C) char name5=“John“,*p=name;
8、p2=a; ( D) char name5=“John“,*p= a+ =(a=8); cout a; 45 作为非成员函数重载的运算符,所有操作数都必须以 _ 的形式出现在参数表中。 46 浮点数的默认精度值是 _。 47 为解决在多重继承环境中因公共基类带来的 _ 问题, C+语言提供了虚基类机制。 48 可以把具有相同属性的一些不同对象归类,称为 _。 49 类 ostream的成员函数 _ 用于执行无格式输出,成员函数 _ 用于输出单个字符。 50 利用成员函数对双目运算符重载,其左操作数为 _,右操作数为 _。 国家二级( C+)笔试模拟试卷 105答案与解析 1 【正确答案】 A
9、2 【正确答案】 C 3 【正确答案】 B 4 【正确答案】 D 5 【正确答案】 D 6 【正确答案】 C 7 【正确答案】 C 8 【正确答案】 C 9 【正确答案】 A 10 【 正确答案】 A 11 【正确答案】 D 12 【正确答案】 A 13 【正确答案】 A 14 【正确答案】 C 15 【正确答案】 A 16 【正确答案】 B 17 【正确答案】 C 18 【正确答案】 A 19 【正确答案】 C 20 【正确答案】 C 21 【正确答案】 C 22 【正确答案】 B 23 【正确答案】 B 24 【正确答案】 C 25 【正确答案】 A 26 【正确答案】 C 27 【正确答
10、案】 C 28 【正确答案 】 A 29 【正确答案】 A 30 【正确答案】 D 31 【正确答案】 A 32 【正确答案】 D 33 【正确答案】 B 34 【正确答案】 A 35 【正确答案】 D 36 【正确答案】 多个 37 【正确答案】 friend void ffun() 38 【正确答案】 流成员函数 39 【正确答案】 X+ 40 【正确答案】 1 1 0 0 41 【正确答案】 s=7 42 【正确答案】 x=y-z 43 【正确答案】 流 44 【正确答案】 16 45 【正确答案】 参数 46 【正确答案】 6位 47 【正确答案】 二义性 48 【正确答案】 对象类 49 【正确答案】 Write、 put 50 【正确答案】 this指针 成员函数参数