[计算机类试卷]国家二级(C++)笔试模拟试卷45及答案与解析.doc
《[计算机类试卷]国家二级(C++)笔试模拟试卷45及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级(C++)笔试模拟试卷45及答案与解析.doc(27页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级( C+)笔试模拟试卷 45及答案与解析 1 下列叙述中错误的是 ( A)一种数据的逻辑结构可以有多种存储结构 ( B)数据的存储结构与数据处理的效率无关 ( C)数据的存储结构与数据处理的效率密切相关 ( D)数据的存储结构在计算机中所占的空间不一定是连续的 2 下列关于栈的叙述正确的是 ( A)在栈中只能插入数据 ( B)在栈中只能删除数据 ( C)栈是先进先出的线性表 ( D)栈是先进后出的线性表 3 一棵二叉树中共有 70个叶子结点与 80个度为 1的结点,则该二叉树中的总结点数为 ( A) 221 ( B) 219 ( C) 231 ( D) 229 4 下列叙述中正确的是
2、( A)线性链表中的各元素在存储空间中的位置必须是连续的 ( B)线性链表中的表头元素一定存储在其他元素的前面 ( C)线性链表中的各元素在存储空间中的位置不一定是连续的,但表头元素一定存储在其他元素的前面 ( D)线性链表中的各元素在存储空间中的位置不一定是连续的,且各元素的存储顺序也是任意的 5 下面对对象概念描述错误的是 ( A)任何对象都必须有继承性 ( B)对象是属性和方法的封装体 ( C)对象间的通讯靠消 息传递 ( D)操作是对象的动态属性 6 在结构化设计方法中生成的结构图 (SC)中,带有箭头的连线表示 ( A)模块之间的调用关系 ( B)程序的组成成份 ( C)控制程序的执
3、行顺序 ( D)数据的流向 7 下列叙述中正确的是 ( A)接口复杂的模块,其耦合程度一定低 ( B)耦合程度弱的模块,其内聚程度一定低 ( C)耦合程度弱的模块,其内聚程度一定高 ( D)上述三种说法都不对 8 在关系模型中, ( A)为了建立一个关系,首先要构造数据的逻辑关系 ( B)表示关系的二维表中各元组的每一个分 量还可以分成若干数据项 ( C)一个关系的属性名表称为关系模式 ( D)一个关系可以包括多个二维表 9 下列关系运算中,能使经运算后得到的新关系中属性个数多于原来关系中属性个数的是 ( A)选择 ( B)连接 ( C)投影 ( D)并 10 下列关于 E-R图的描述中正确的
4、是 ( A) E-R 图只能表示实体之间的联系 ( B) E-R 图只能表示实体和实体之间的联系 ( C) E-R 图只能表示实体和属性 ( D) E-R 图能表示实体、属性和实体之间的联系 11 面向对象程序设计将数据和 ( )放 在一起,作为一个相互依存、不可分割的整体来处理。 ( A)对数据的操作 ( B)信息 ( C)数据隐藏 ( D)数据抽象 12 设 a和 b均为 double型变量,且 a=5.5、 b=2.5,则表达式 (int)a+b/b的值是 ( A) 6.5 ( B) 6 ( C) 5.5 ( D) 6 13 for(int x=0,y=0; !x ( C) obj3 s
5、how1(); ( D) obj2 show2(); 23 如果算符函数调用格式的表达式: x.operator-(operator+(y, 0)中的 “-”是作为成员函数重载的, “+”是作为友元函数重载的,那么该表达式还可以表示为: ( ) ( A) x-y+ ( B) x-(+y) ( C) (x+)-y ( D) +x-y 24 有以下程序: #include iostream #include math using namespace std; class point private: double x; double y; public: point(double a,double
6、 B) x=a; y=b; friend double distance (point a,point B) ; ( A) 1 ( B) 5 ( C) 4 ( D) 6 25 在进行了任何 C+流的操作后,都可以用 C+流的有关成员函数检测流的状态,其中只能用于检测刚进行的操作是否失败函数名 是 ( A) fail ( B) eof ( C) bad ( D) good 26 下列有关拷贝构造函数的描述中错误的是 ( A)拷贝构造函数是一种构造函数 ( B)拷贝构造函数与一般的构造函数一样,可以设置多个形参 ( C)每一个类中都必须有一个拷贝构造函数 ( D)拷贝构造函数的功能是用一个已知对象
7、去初始化一个正在创建的对象。 27 带有虚基类的多层次派生类构造函数的成员初始化列表中都要列出虚基类的构造函数,这样对虚基类的子对象初始化 ( A)与虚基类下面的派生类个数有关 ( B)多次 ( C)二次 ( D)一次 28 下列关于 this指针的叙述中,正确的是 ( A) this指针是一个隐含指针,它隐含于类的成员函数中 ( B)只有在使用 this时,系统才会将对象的地址赋值给 this ( C)类的友元函数也有 this指针 ( D) this指针表示了成员函数当前操作的数据所属的对象 29 有以下程序 #include iostream using namespace std; c
8、lass Base private: char c; public: Base(char n): c(n) Base() cout c; ; class Derived: public Base private: char c; public: Derived(char n): Base(n+1), c(n) Derived() coutc; ; int main() Derived obj(x); return 0; 执行后的输出结果是 ( A) xy ( B) yx ( C) x ( D) y 30 以下程序的输出结果是 #include iostream using nameSpace
9、std; int main() cout.fill(*); cout width(5); cout hex 100 end1; return 0; ( A) *100 ( B) *64 ( C) 100* ( D) 64* 31 有以下程序 #include iostream using namespace std; class Base private: char c; public: Base(char n): c(n) Base() cout c; ; class Derived: public Base private: char c; public: Derived(char n):
10、 Base(n+1), c(n) Derived() coutc; ; int main() Derived obj(x); return 0; 执行后的输出结果是 ( A) 10 ( B) 20 ( C) 30 ( D) 0 32 有如下程序: #include iostream using namespace std; class Base private: char c; piblic: Base(char n): c(n) Base() cout C; ; class DeriVed: public Base private: char c; public: Derived(char
11、n): Base(n+1), c(n) Derived() cout c; ; int main() Derived obj(x); return 0; 执行上面的程序将输出 ( A) xy ( B) yx ( C) x ( D) y 33 关于在调用模板函数时实参的使用,下列表述中正确的是 ( A)对于虚拟类型参数所对应的模板实参,如果能从模板函数的实参中获得相同的信息,则都可以省略 ( B)对于虚拟类型参数所对 应的模板实参,如果它们是参数表中的最后的若干个参数,则都可以省略 ( C)对于虚拟类型参数所对应的模板实参,若能够省略则必须省略 ( D)对于常规参数所对应的模板实参,任何情况下都
12、不能省略 34 有如下程序: #include iostream using namespace std; class point int x, y; public: point(int vx, int vy) x=vx; y=vy; point() x=0; y=0; point operator+(point p1) point p; int px=x+p1.x; int py=y+p1.y; return point(px, py); point operator-(point p1) point p; int px=x-p1.x; int py=y-p1.y; return point
13、(px,py); void print() cout x “,“ y end1; ; int main() point p1(10, 10), p2(20, 20); p1=p1+p2; p1.print(); retrun 0; 执行后的输出结果是 ( A) 10, 10 ( B) 20, 20 ( C) 10, 20 ( D) 30, 30 35 有如下程序 #include iostream using nameSpace std; class base public: vinual void f1() cout “F1 Base“; virtual void f2() cout “F2
14、Base“; ; class derive: public base void f1() cout “F1Derive“; void f2(int x) cout“F2Derive“; ; int main() base obj1, *p; derive obj2; p= int main() int n,m, jc = 1; cin m; for(n=2;jc =m;n+) jc = jc*n; cout “n=“【 】 end1; return 0; 42 以下函数的功能是删除字符串 s中的所有数字字符。请填空。 void dele (char *s) int n=O; for(i=0;s
15、i;i+) if(【 】 ) sn+=si; sn= 0; 43 下面程序的运行结果是【 】 #include iostream using namespace std; int fun(int n) static int m = 2; m=m+n; return m; int main ( ) int a = 3, b = 4; int x; x = fun( a ); x = fun( b ); cout x end1; return O; 44 如果类 Alpha继承了类 Beta,则类 Alpha称为派生类,类 Beta称为【 】类。 45 下面程序是一个堆栈的类模板,在横线处填上适当
16、语句,完成类模板的定义。 #define MAXSIZE 100 template class T class Stack T sMAXSIZE; int top; public: stack() top=1; void push(T newValue) if(top MAXSIZE) top=top+1; stop=newValue; else cout “堆栈满,无法进栈 “ end1; void pop(); ; 【 】 if(top 1) cout stop end1; top=top-1; else cout “堆栈空 ! “ end1; 46 下面程序的输出结果是【 】。 #inc
17、lude iostream using namespace std; class A int a, b; public: A() a = b = 0; A(int aa, int bb ) : a(aA) , b(bB) cout “a=“ a “,“ “b=“ b “,“; A() cout “D“; ; int main ( ) A x, y(2, 3); return 0; 47 若有以下程序: #include iostream using namespace std; class Base public: void who() cout “class Base“ end1; ; cl
18、ass Derivedl : public Base public: void who() cout “class Derivedl“ end1; ; class Derived2 : public Base public: void who() cout “class Derived2“ end1; ; int main() Base *p; Derivedl obj1; Derived2 obi2; p= p= p- who ( ); return 0; 则该程序运行后的输出结果是【 】。 48 有以下程序: #include fstream #include string using n
19、amespace std; int main () char ch = “The end“; ofstream outstr( “d:put.txt“, ios_base: :app); for (int i = 0; i strlen( ch ); i+ ) outstr.put(chi); outstr.close(); return 0; 程序实现的功能是【 】。 国家二级( C+)笔试模拟试卷 45答案与解析 1 【正确答案】 B 【试题解析】 一种数据的逻辑结构根据需要可以表示成多种存储结构,常用的存储结构有顺序、链接、索引等,选项 A和选项 D正确。采用不同的存储结构,其数据处理的
20、效率不同,因 此,在进行数据处理时,选择合适的存储结构是很重要的,选项 C正确,选项 B错误,应为所选。 2 【正确答案】 D 【试题解析】 栈是一种特殊的线性表,其插入与删除运算都只在线性表的一端进行。在这种线性表的结构中,一端封闭,不允许插入与删除元素;另一端开口,允许插入与删除元素。 在栈中不仅能插入数据,也能删除数据,选项 A与 B都错。栈是后进先出的线性表,而不是先进先出的线性表,选项 C的说法错误,选项 D正确。 3 【正确答案】 B 【试题解析】 在任意一棵二叉树中,度为 0的结点 (也就是叶子结点 )总 比度为 2的结点多一个。由于本题中的二叉树有 70个叶子结点,所以有 69
21、个度为 2的结点。该二叉树中总结点数为:度为 2的结点数 +度为 1的结点数 +度为 0的结点数 =69+80+70=219。 4 【正确答案】 D 【试题解析】 在线性表的链式存储结构中,各数据结点的存储序号不连续,且各结点在存储空间中的位置关系与逻辑关系也不一致。在线性链表中,各数据元素之间的前后件关系是由各结点的指针域来指示的。所以,选项 D正确。 5 【正确答案】 A 【试题解析】 继承是面向对象的方法的一个主要特征。继承是使 用已有的类定义做为基础建立新类的定义技术。已有的类可当做基类来引用,则新类相应地可当做派生类来引用。但并不是所有的对象都必须有继承性。因此,选项 A中的说法是错
22、误的,应为所选。 6 【正确答案】 A 【试题解析】 在结构图中,用带有箭头的连线表示模块之间的调用关系。箭头由前一个模块指向后一个模块,表示前一个模块调用后一个模块。本题的正确答案为 A。 7 【正确答案】 C 【试题解析】 影响模块之间耦合的主要因素有两个:模块之间的连接形式,模块接口的复杂性。一般来说,接口复杂的模块,其耦合程度 要比接口简单的的模块强,所以选项 A的说法错误;耦合程度弱的模块,其内聚程度一定高,选项 B错误;选项 C正确。 8 【正确答案】 C 【试题解析】 在关系模型中,不需要事先构造数据的逻辑关系,只要将数据按照一定的关系存入计算机,也就是建立关系,选项 A错误。对
23、于表示关系的二维表,其最基本的要求是,表中元组的每一个分量必须是不可分的数据项,即不允许表中再有表,选项 B和 D错误。本题的正确答案是 C。 9 【正确答案】 B 【试题解析】 连接运算是对两个关系进行的运算,其意义是从两个关系的笛卡尔积中选 出满足给定属性间一定条件的那些元组。而两个关系的笛卡尔积中的属性个数是两个原关系中的属性个数之和。即两个关系经连接运算后得到的新关系中属性个数多于原来关系中属性个数。正确答案是 B。 10 【正确答案】 D 【试题解析】 E-R 图中,用 3种图框分别表示实体、属性和实体之间的联系:矩形框表示实体,框内标明实体名;椭圆状框表示实体的属性,框内标明属性名
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 笔试 模拟 45 答案 解析 DOC
