[计算机类试卷]国家二级(C++)笔试模拟试卷190及答案与解析.doc
《[计算机类试卷]国家二级(C++)笔试模拟试卷190及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级(C++)笔试模拟试卷190及答案与解析.doc(25页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级( C+)笔试模拟试卷 190及答案与解析 1 下列叙述中正确的是 ( )。 ( A)一个算法的空间复杂度大,则其时间复杂度必定大 ( B)一个算法的空间复杂度大,则其时间复杂度必定小 ( C)一个算法的时间复杂度大,则其空间复杂度必定小 ( D)上述三种说法都不对 2 下列叙述中错误的是 ( )。 ( A)线性表是由 n个元素组成的一个有限序列 ( B)线性表是一种线性结构 ( C)线性表的所有结点有且仅有一个前件和后件 ( D)线性表可以是空表 3 数据流图中带 有箭头的线段表示的是 ( ) ( A)控制流 ( B)数据流 ( C)模块调用 ( D)事件驱动 4 下面对对象概念描述
2、正确的是 ( ) ( A)任何对象都必须有继承性 ( B)对象是属性和方法的封装体 ( C)对象间的通信靠信息传递 ( D)方法是对象的静态属性 5 栈 C最多能容纳 4个元素,现有 6个元素按 A、 B、 C、 D、 E、 F的顺序进栈,下列哪个序列不是可能的出栈序列 ( )。 ( A) C、 B、 E、 D、 A、 F ( B) C、 D、 B、 F、 E、 A ( C) A、 D、 E、 C、 B、 F ( D) A、 F、 E、 D、 C、 B 6 两个或两个以上模块之间联系的紧密程度称为 ( )。 ( A) 耦合性 ( B)内聚性 ( C)复杂性 ( D)数据传输特性 7 在下列关于
3、二叉树的叙述中,正确的一项是 ( )。 ( A)在二叉树中,任何一个结点的度都是 2 ( B)二叉树的度为 2 ( C)在二叉树中至少有一个结点的度为 2 ( D)一棵二叉树的度可以小于 2 8 待排序的关键码序列为 (33, 18, 9, 25, 67, 82, 53, 95, 12, 70),要按 关键码值递增的顺序排序,采取以第一个关键码为基准元素的快速排序法,第一趟排序后关键码 33被放到第 ( )个位置。 ( A) 3 ( B) 5 ( C) 7 ( D) 9 9 假定 MyClass为一个类,则该类的拷贝构造函数的声明语句为 ( ) ( A) MyClass(MyClass x);
4、 ( B) MyClass(MyClass while(strj)j+; for(j-;i ji+,j-); return i_j; ( A) = ( B) | ( C) class Complex public: Complex(double r=0,double i=0):re(r),im(i) double real()constreturn re; double imagoconstreturn im; Complex operator+(Complex C) const return Complex(re+c.re,im+c.im); private: double re,im; ;
5、 int main() Complex a=Complex(1,1)+Complex(5); cout a.real() + a.imag()i end1; return 0; ( A) 6+i ( B) 2i+5 ( C) 6+1i ( D) 1i+5 12 有以下程序段: #include iostream.h #define MAX(x,y)(x) (y)?(x):(y) void main() int i,j,k; i=10; j=15;k=MAX(i,j)*10; cout k end1; 程序执行后的输出结果是 ( )。 ( A) 15 ( B) 100 ( C) 150 ( D)
6、 10 13 定义如下枚举类型: enumMonday,Tuesday,Wednesday,Thrusday,Friday=2;表达式 Wednesday=Friday的值是 ( )。 ( A) false ( B) true ( C) 2 ( D)异常 14 以下程序运行后的输出结果是 ( )。 #include iostream.h void main() char aft=“abbcabbcabbc“; int i=0,j=0,k=0; while(ai) if(ai=a) j+; if(ai=b) k+; i+; cout j “ k end1; ( A) 2, 6 ( B) 3, 5
7、 ( C) 4, 7 ( D) 3, 6 15 假定 a=3,下列程序的运行结果是 ( )。 #inelude iostream.h int fun(int n); void main() cout “Please input a number:“; int a,result=0; cin a; result=fun(a); tout result end1; intfun(int n) int p=1,result=0; for(int i=1;i =n;i+) p*=i; result+=p; return result; ) ( A) 4 ( B) 8 ( C) 9 ( D) 20 16
8、 下列关于指针的运算中, ( )是非法的。 ( A)两个指针在一定条件下,可以进行相等或不等的比较运算 ( B)可以将一个空指针赋值给某个指针 ( C)一个指针可以加上两个整数之差 ( D)两个指针在 一定条件下可以相加 17 下面程序的输出结果为 ( )。 #inelude iostream.h void main() int x; int /变量引用 y=99; cout “x=“ x end1; ( A) x=99 ( B) x=9 ( C) x=0 ( D)异常 18 下面程序输出的结果为 ( )。 #include iostream.h void fun(int a,int b) i
9、nt temp; temp=a; a=b; b=temp; void main() int m,n; m=1; n=2; fun(m,n); cout m “ n end1; ( A) 12 ( B) 21 ( C) 22 ( D)程序有错误 19 下列程序的输出结果是 ( )。 #include iostream using namespace std; voidfun(int int main() int n=50; fun(n); cout nend1; return 0; ( A) 0 ( B) 20 ( C) 50 ( D) 100 20 下列说法中错误的是 ( )。 ( A)公有继
10、承时基类中的 public成员在派生类中仍是 public的 ( B)公有继承时基类中的 private成员在派生类中仍是 private的 ( C)私有继承时基类中的 public成员在派生类中是 private的 ( D)保护继承时基类中的 public成员在派生类中是 protected的 21 多继承的构造顺序可分为如下四步: 所有非虚基类的构造函数按照它们被继承的顺序构造 所有虚基类的构造函数按照它们被继承的顺序构造 所有子对象的构造函数按照它们声明的顺序构造 派生类自己的构造函数体 这四个步骤的正确顺序是 ( ) ( A) ( B) ( C) ( D) 22 下面关于 构造函数和析
11、构函数的描述中,错误的是 ( ) ( A)析构函数可以声明为虚函数 ( B)对虚析构函数的调用可以采用动态联编 ( C)一个类的虚函数仅对派生类中重定义的函数起作用,对其他函数没有影响 ( D)构造函数可以声明为虚函数 23 设有以下定义和程序: #include iostream.h class A1 public: void show1() cout “class A1“ end1; ; class A2:public A1 public: void show2() cout “class A2“ end1; ; class A3:protected A2 public: void sho
12、w3() cout “class A1“ end1; ; void main() A1 obj1; A2 obj2; A3 obj3; 则以下不合语法的调用语句是 ( )。 ( A) obj1.show1(); ( B) obj2.show1(); ( C) obj3.show1(); ( D) obj2.show2(); 24 下列关于运算符重载的描述中,正确的是 ( ) ( A)运算符重载可以改变运算符的操作数的个数 ( B)运算符重载可以改变优先级 ( C)运算符重载可以改变结合性 ( D)运算符重载不可以改变语法结构 25 下面程序的输出结果是 ( )。 #include iostre
13、am #include math.h using namespace std; class point private: double x; double y; public: point(double a,double b) x=a; y=b; friend double distances(point a,point b); ; double distances(point a,point b) return sqrt(a.x-b.x)*(a.x-b.x)+(a.y-b.y)*(a.y-b.y); int main() point p1(1,2); point p2(5,2); cout
14、distances(p1,p2) end1; return 0; ( A) 2 ( B) 4 ( C) 8 ( D) 16 26 有以下程序: #include iostream using namespace std; class R public: R(int r1,int r2) R1=r1; R2=r2; void print(); void print()const; private: int R1,R2; ; void R:print() cout R1 “,“ R2end1; void R:print()const cout R1 “,“ R2 end1; int main()
15、R a(5,4); const R b(20,52); b.print(); return 0; 执行后的输出结果是 ( )。 ( A) 5, 4 ( B) 4, 5 ( C) 20, 52 ( D) 52, 20 27 下列程序的输出结果是 ( )。 #include iostream using namespace std; template typename T T fun(T a,T b)return(a =b)?a:b;) int main() cout fun(3,6) , fun(3.14F,6.28F) end1; return 0; ( A) 0, 3.14 ( B) 3,
16、3.14 ( C) 3, 3 ( D) 3.14, 3.14 28 关于模板,下列说法不正确的是 ( ) ( A)用类模板定义一个对象时,不能省略实参 ( B)类模板只能有虚拟类型参数 ( C)类模板本身在编译中不会生成任何代码 ( D)类模板的成员函数都是模板函数 29 如果一个模板声明列出了多个参数,则每个参数之间必须使用逗号隔开,每个参数都必须使用 ( )关键字来修饰 ( A) const ( B) static ( C) void ( D) class 30 下列关于 this指针的叙述中,正确的是 ( ) ( A) this指针是一个隐含指针,它隐含于类的成员函数中 ( B)只有在使
17、用 this时,系统才会将对象的地址赋值给 this ( C)类的友元函数也有 this指针 ( D) this指针表示了成员函数当前操作的数据所属的对象 31 下列有关函数重载的叙述中,错误的是 ( ) ( A)函数重载就是用相同的函数名定义多个函数 ( B)重载函数的参数列表必须不同 ( C)重载函数的返回值类型必须不同 ( D)重载函数的参数可以带有默认值 32 对于一个类定义,下列叙述中错误的是 ( )。 ( A)如果没有定义拷贝构造函数,编译器将生成一个拷贝构造函数 ( B)如 果没有定义缺省的构造函数,编译器将一定生成一个缺省的构造函数 ( C)如果没有定义构造函数,编译器将生成一
18、个缺省的构造函数和一个拷贝构造函数 ( D)如果已经定义了构造函数和拷贝构造函数,编译器不会生成任何构造函数 33 下列关于派生类构造函数和析构函数的说法中,错误的是 ( )。 ( A)派生类的构造函数会隐含调用基类的构造函数 ( B)如果基类中没有缺省构造函数,那么派生类必须定义构造函数 ( C)在建立派生类对象时,先调用基类的构造函数,再调用派生类的构造函数 ( D)在撤销派生类对象时,先调用基类的析构函数,再调用派生类的析构函数 34 测试用例包括输入值集和 _值集。 35 深度为 5的满二叉树有 _个叶子结点。 36 设某循环队列的容量为 50,头指针 front=5(指向队头元素的前
19、一位置 ),尾指针rear=29(指向队尾元素 ),则该循环队列中共有 _个元素。 37 在关系数据库中,用来表示实体之间联系的是 _ 38 在数据库管理系统提供的数据定义语言、数据操纵语言和数据控制语言中,_负责数据的模式定义 与数据的物理存取构建。 39 在面向对象的程序设计中,将数据和处理数据的操作封装成一个整体就定义了一种事物的类型,称作 “类 ”。类是一种抽象的概念,属于该类的一个实例称为“_”。 40 指针数组是由 _构成的数组。 41 已知数组 a中有 n个元素,下列语句将数组 a中从下标 x1开始的 k个元素移动到从下标 x2开始的 k个元素中,其中 0 =x1 x2 n, x
20、2+k n,请将下列语句补充完整。 for(inti=xl+k一 1; i =xl; i-)a_=ai; 42 如下程序的输出结果是 _。 #include iostream using namespace std; int funl(int x)return+x; int fun2(int x)return+x; int main( ) int x: 1, y=2; Y=funl(fun2(x); cout x , y; return 0; 43 如下程序的输出结果是 _。 #include iostream using namespace std; class pumpkin public
21、: pumpkin( )+count; pumpkin( )-eount; static void total_count( )cout count “pumpkin(s)“ endl; private: static int count; ; int pumpkin:count=0; int main( ) pumpkin pl10; pumpkin:total_count( ); return 0; 44 有如下递归函数: int Fun(int n) if(n =1)return 1; _ 请补充完整,使得函数 Fun能够正确计算形参 n的阶乘。 45 请在下列程序中的空格处填写正确的语
22、句: class Sample public: Sample( ) Sample( ) void SetData(int datA) /将 Sample类成员变量 data设置成形参的值 _ private: int data; ; 46 有如下类定义,请将 Sample类的复制构造函数补充完整。 class Sample public: Sample( ) Sample( )if(P)delete P; ) Sample(const Samples)_ void SetData(int datA) P=new int(datA) ; private: int*P: ; 47 如下程序的输出结
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 笔试 模拟 190 答案 解析 DOC
