[计算机类试卷]国家二级(C++)笔试模拟试卷230及答案与解析.doc
《[计算机类试卷]国家二级(C++)笔试模拟试卷230及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级(C++)笔试模拟试卷230及答案与解析.doc(21页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级( C+)笔试模拟试卷 230及答案与解析 1 下列叙述中正确的是 ( A)实体集之间一对一的联系实际上就是一一对应的关系 ( B)关系模型只能处理实体集之间一对一的联系 ( C)关系模型属于格式化模型 ( D)以上三种说法都不对 2 下列关于虚函数的描述中,正确的是 A) 虚函数是一个 static类型的成员函数 B) 虚函数是一个非成员函数 C) 基类中采用 virtual说明一个虚函数后,派生类中定义相同类型的函数时可不必加 virtual D) 派生类中的虚函数与基类中相同原型的虚函数具有不 同的参数个数或类型 3 4 下列叙述中正确的是 ( A)数据库系统是一个独立的系统,不
2、需要操作系统的支持 ( B)数据库技术的根本目的是解决数据的共享问题 ( C)数据库管理系统就是数据库系统 ( D)以上 3种说法都不对 5 下列程序的输出结果为 2,横线处应添加语句 ( )。 #include iostream using namespace std; public: _void fun()cout 1; ; class TestClass2:public TestClass1 public:void fun()cout 2;) ; int main() TestClass1 *p=new TestClass2; p- fun(); delete p; Teturn 0;
3、( A) public ( B) private ( C) virtual ( D) protected 6 下列关于类和对象的叙述中,错误的是 ( )。 ( A)一个类只能有一个对象 ( B)对象是类的具体实例 ( C)类是对某一类对象的抽象 ( D)类和对象的关系是一种数据类型与变量的关系 7 8 软件工程的出现是由于 ( )。 ( A)程序设计方法学的影响 ( B)软件产业化的需要 ( C)软件危机的出现 ( D)计算机的发展 9 在一个单链表 HL中,若要向表头插入一个由指针 p指向的节点,则需要执行语句序列 ( )。 ( A) HL=p; p- next=HL; ( B) p- ne
4、xt=HL; HL=p; ( C) p- next=HL; p=HL; ( D) p- next=HL- next; HL- next=p 10 若要把函数 void f()定义为 aClass的友元函数,则应该类 aClass的定义中加入的语句是 ( )。 ( A) void f(); ( B) static void f(); ( C) friend f(); ( D) friend void f(); 11 下列运算符中,不能重载的是 ( A) ?: ( B) + ( C) - ( D) = 12 设 int a 1, b 2;,则 (a ) b和 a b这两个表达式的值分别为 ( A)
5、 3,3 ( B) 3,4 ( C) 4,3 ( D) 4,4 13 下面叙述错误的是 ( )。 ( A)派生类可以使用 private派生 ( B)对基类成员的访问必须是无二义性的 ( C)基类成员的访问能力在派生类中维持不变 ( D)赋值兼容规则也适用于多继承的组合 14 下面关于 this指针的说法中错误的是 ( )。 ( A) this指针是一种隐含指针,存在于每个类的非静态成员函数中 ( B)它是成员函数所属对象的指针 ( C)通过 this成员变量的形式可以访问类中的数据成员 ( D)成员函数访问类中的数据成员格式可写成: this-成员变量 15 虚函数 ( )是可以不同的。 (
6、 A)函数名 ( B)参数个数 ( C)返回类型 ( D)函数体内容 16 关于下面程序的说法,正确的是 ( )。 #include iostream using namespace std; class x int a; public: x()a=3; int geta( ) cout a endl; return a; ; class y: x int b; public: x: geta; /A void result ( ) b=geta ( )+8; cont b endl; ; void main ( ) y yy; /B yy. result( ); yy. geta( ); /
7、C ( A) A行错误,应写成 “x:geat()” ( B) B行错误,应写成 “y yy();” ( C) C行错误,不能对私变量引用 ( D)没有错误,其输出结果为: 3 11 3 17 必须用一对大括号括起来的程序段是 ( )。 ( A) switch 语句中的 case标号语句 ( B) if语句的分支 ( C)循环语句的 循环体 ( D)函数的函数体 18 下列关于派生类的构造函数的说法中,哪个是错误的 _。 ( A)派生类不继承基类的构造函数和赋值运算 ( B)派生类的构造函数可以调用基类的构造函数 ( C)派生类的构造函数先于基类的构造函数执行 ( D)在建立派生类的实例对象时
8、,必须调用基类的构造函数来初始化派生类对象中的基类成员 19 设有如下程序段: char str=”World”; char*ptr=str; 执行上面的程序段后, *(ptr+5)的值为 _。 ( A) o ( B) 0 ( C)不确定的值 ( D) o的地址 20 下列函数的运行结果是 #include iostream h int f(int a, int b) int c; if(a b)c=1; else if(a=b)C=0; else c=-1; return(c); void main() int i=2, j=3; int p=f(i, j); cout p; ( A) -1
9、 ( B) 1 ( C) 2 ( D)编译出错,无法运行 21 下面程序的运行结果为 #include iostream h class A static int n; public: A()n=1; A(intnum)n=num; void print()cout n; ; int A n=2; void main() Aa, b(3); a.print(); b.print(); cout end1; ( A) 11 ( B) 13 ( C) 23 ( D) 33 22 有以下函数: char fun(char*p) return p; ) 则该函数的返回值是 ( )。 ( A)无确切的值
10、 ( B)形参 p中存放的地址值 ( C)一个临时存储单元的地址 ( D)形参 p自身的地址值 23 已有如下定义和输入语句,若要求 a、 b、 c、 d分别得到的值为 10、 20、 A和B,当从第一列开始输入数据时,正确的数据输入方式是 ( )。 int a,b 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回车 24 如果友元函数重载一个运算符时,其参数表中没有任何参数则说明该运算符是( ) ( A)一元运算符 ( B)二
11、元运算符 ( C)选项 A和选项 B都可能 ( D)重载错误 25 下列关于虚基类的描述,错误的是 ( )。 ( A)设置虚基类的目的是为了消除二义性 ( B)虚基类的构造函数在非虚基类之后调用 ( C)若同一层中包含多个虚基类,这些虚基类的构造函数按它们说明的次序调用 ( D)若虚基类由非虚基类派生而来,则仍然先调用基类构造函数,再调用派生类的构造函数 26 下面不属于 C+语言的基本数据类型的是 ( )。 ( A)字符类型 ( B)整数类型 ( C)逻辑类型 ( D)枚举类型 27 在进 行任何 C+流的操作后,都可以用 C+流的有关成员函数检测流的状态。其中只能用于检测输入流状态的操作函
12、数名称是 ( )。 ( A) fail ( B) eof ( C) bad ( D) good 28 如果 x=0,那么 while(true)中的 true与下面的条件 ( )等价。 ( A) X=1 ( B) X=1 ( C) X 1 ( D) X 1 29 以下程序的结果是 ( )。 #include iostream.h void main() char * p=“abcdefgh“, *r; long *q; q=(long*)P; q+; r=(char*)q; cout r endl; ( A) defg ( B) cdef ( C) ghab ( D) efgh 30 以下类定
13、义中可能会引起错误的语句是 class A public: A( ) /1 int i; /2 private: int j; /3 A(int i) i+; /4 ; ( A) 1 ( B) 2 ( C) 3 ( D) 4 31 面向对象程序设计思想的主要特征中不包括 ( A)继承性 ( B)功能分解,逐步求精 ( C)封装性和信息隐藏 ( D)多态性 32 以下对 C+语言函数的有关描述中,正确的是 ( A)在 C+语言中调用函数时,只能把实参的值传给形参,形参的值不能传送给实参 ( B) C+语言函数既可以嵌套定义又可以递归调用 ( C)函数必须无返回值,否则不能使用函数 ( D)函数必
14、须有返回值,返回值类型不定 33 与数学式子 对应的 c+语言表达 式是 ( A) 3*x n/(2*x-1) ( B) 3*x*n/(2*x-1) ( C) 3*pow(x, n)*(1/(2*x-1) ( D) 3*pow(n, x)/(2*x-1) 34 对于下列语句,正确的判断是 for(x 0, y=O; (y! 123) public: Aint aa=0) (a=aa; class B:public A int b; A c; public: /用 aa初始化基类 A,用 aa+1初始化类对象成员 c B(int aa): b=aa+2 ; 42 函数 f()的功能是将形参 x的
15、值转换为二进制数,所得二进制数的每一位数放在一维数组 y中返回。二进制的最低位放在下标为 0的元素中,请将程序补充完整。 void f(int x, int y) int m=0, n; do n=x 【 】; ym+ =n; x/=2; while(x); 43 若有以下程序: #include iostream using namespace std; class Base public: void who() cout “Base“ end1; ; class Derivedl: public Base public: void who() cout “Derived“ end1; ;
16、int main() Base *p; Derived1 obj1; p= p- who(); return 0; 则该程序运行后的输出结果是【 】。 44 若有: int a=10, b=9, c; 则在计算表达式 c=(a%11)+(b=3), c+=2后,变量 c的值为【 】。 45 程序段的输出结果是【 】。 int x=3, y=2, z=1; count (x/y&z); 46 为解决在多重继承环境中因公共基类带来的【 】问题, c+语言提供了虚基类机制。 47 一个 C+语言程序的开发步骤通常包括编辑、【 】、链接、运行和调试。 48 求 1 100的和,可写成 for(s=0,
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 笔试 模拟 230 答案 解析 DOC
