[计算机类试卷]国家二级(C++)机试模拟试卷153及答案与解析.doc
《[计算机类试卷]国家二级(C++)机试模拟试卷153及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级(C++)机试模拟试卷153及答案与解析.doc(29页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级( C+)机试模拟试卷 153及答案与解析 一、选择题 1 在关系代数运算中,有 5种基本运算,它们是 ( )。 ( A)并 ( )、差 ()、交 ()、除 ()和笛卡儿积 () ( B)并 ( )、差 ()、交 ()、投影 ( )和选择 () ( C)并 ( )、交 ()、投影 ( )、选择 ()和笛卡儿积 () ( D)并 ( )、差 ()、投影 (x)、选择 ()和笛卡儿积 () 2 在数据库系统的组织结构中,下列 ( )映射把用户数据库与概念数据库联系了起来。 ( A)外模式模式 ( B) 内模式外模式 ( C)模式内模式 ( D)内模式模式 3 下列关于线性链表的描述中,正确
2、的是 ( )。 、只含有一个指针域来存放下一个元素地址 、指针域中的指针用于指向该结点的前一个或后一个结点 (即前件或后件 ) 、结点由两部分组成:数据域和指针域。 ( A)仅 、 ( B)仅 、 ( C)仅 、 ( D)全部 4 下面关于数据库三级模式结构的叙述中,正确的是 ( )。 ( A)内模式可以有多个,外模式和模式只有一个 ( B)外模式可以有多个,内模式和模式只有一个 ( C)内 模式只有一个,模式和外模式可以有多个 ( D)模式只有一个,外模式和内模式可以有多个 5 设有关键码序列 (66, 13, 51, 76, 81, 26, 57, 69, 23),要按关键码值递增的次序排
3、序,若采用快速排序法,并以第一个元素为划分的基准,那么第一趟划分后的结果为 ( )。 ( A) 23, 13, 51, 57, 66, 26, 81, 69, 76 ( B) 13, 23, 26, 51, 57, 66, 81, 76, 69 ( C) 23, 13, 51, 57, 26, 66, 81, 69, 76 ( D) 23, 13, 51, 57, 81, 26, 66, 69, 76 6 下列哪一条不属于数据库设计的任务? ( ) ( A)设计数据库应用结构 ( B)设计数据库概论结构 ( C)设计数据库逻辑结构 ( D)设计数据库物理结构 7 数据库技术的根本目标是 ( )
4、。 ( A)数据存储 ( B)数据共享 ( C)数据查询 ( D)数据管理 8 需求分析阶段的任务是 ( )。 ( A)软件开发方法 ( B)软件开发工具 ( C)软件开发费用 ( D)软件系统功能 9 关系数 据库管理系统能实现的专门关系运算包括 ( )。 ( A)排序、索引、统计 ( B)选择、投影、连接 ( C)关联、更新、排序 ( D)显示、打印、制表 10 数据管理技术发展的三个阶段中, ( )没有专门的软件对数据进行管理。 人工管理阶段 文件系统阶段 数据库阶段 ( A)仅 ( B)仅 ( C) 和 ( D) 和 11 阅读以下程序: #inc1ude iostream h voi
5、d main() static int a2=5,3,1,2; int i,j,s1=0; for(i=0;i 2;j+) for(j=0j 2;j+) if(i=j) s1=s1+aij; cout s1 end1; 则该程序的输出结果为 ( )。 ( A) 6 ( B) 7 ( C) 8 ( D) 9 12 若有如下程序段: #inc1ude iostream using namespace std; int main() char*p=“abcdefgh“,*r; r=p; cout *r end1; return 0: 该程序的输出结果是 ( )。 ( A) a ( B) b ( C)
6、 c ( D) d 13 有如下程序: #inc1ude iostream using namespace std; void fun(intx=y;y=t;) int main() int a2=1, 2; fun(a1, a0); std:cout a0 ”,” a1 std:end1; return 0; 执行后的输出结果是 ( )。 ( A) 2,2 ( B) 1,1 ( C) 1,2 ( D) 2,1 14 在 C+语言中函数返回值的类型是由 ( )决定的。 ( A)调用该函数时系统临时 ( B) return语句中的表达式类型 ( C)定义该函数时所指定的函数类型 ( D)调用该函
7、数时 的主调函数类型 15 下面程序的运行结果是 ( )。 #inc1ude iostream h int x=5; int fun(int a) int c: cx*a; return c: void main() int x=3,a=4; x=x+fun(a); cout “x=“ x end1; ( A) x=15 ( B) x=17 ( C) x=23 ( D) x=25 16 分析下面程序,该程序的运行结果是 ( )。 #inc1ude iostream h c1ass TestClass public: static int m, TesK:lass () m+; TestClas
8、s (int n) m=n; static void test() m+; ; int TestClass:m=0; void main() TestClass A; TestClass B(3); A test(); TestClass:test(); cout “m=“ B m end1; ( A) m=3 ( B) m=4 ( C) m=5 ( D) m=6 17 下列说法中错误的是 ( )。 ( A)公有继承时基类中的 public成员在派生类中仍是 public的 ( B)公有继承时基类中的 private成员在派 生类中仍是 private的 ( C)私有继承时基类中的 publi
9、c成员在派生类中是 private的 ( D)保护继承时基类中的 public成员在派生类中是 protected的 18 下面关于构造函数和析构函数的描述,错误的是 ( )。 ( A)析构函数中调用虚函数采用静态联编 ( B)对虚析构函数的调用可以采用动态联编 ( C)当基类的析构函数是虚函数时,其派生类的析构函数也一定是虚函数 ( D)构造函数可以声明为虚函数 19 有如下程序: #inc1ude iostream using namespace std; c1ass TestClass public: TestClass ()cout “BASE“; ; c1ass TestClass1
10、:public TestClass public: TestClass1 ()cout “DERIVED“; ; int main ()TestClass1 x;return 0; 执行后的输出结果是 ( )。 ( A) BASE ( B) DERIVED ( C) BASEDERIVED ( D) DERIVEDBASE 20 设有以下定义和程序: #inc1ude iostream h c1ass TestClass1 pubitic: void showl0 cout “TestClass1“ end1; ; c1ass TestClass2:TestClass1 public: voi
11、d show2() cout “ TestClass2“ end1; ; c1ass TestClass3:protected TestClass2 public: void show3() cout “TestClass 3“ end1; ; void main() TestClass1 obj1; TestClass2 0bj2; TestClass3 0bj3; 则以下不合语法的调用语句是 ( )。 ( A) objl show1(); ( B) obj2 show1(); ( C) obj3 show1(); ( D) obj2 show2(); 21 下面程序段的正确输出是 ( )。
12、 int w4,x=3,y=2,z=1; cout“(w x?w:z y?z:x) end1; ( A) 0 ( B) 1 ( C) 2 ( D) 3 22 若变量都已正确说明,则以下程序段的输出结果是 ( ) a=2; b=3; printf(a b?“*a= n“:“#b= d“, a,b); ( A)没有正确的输出格式控制 ( B)输出为: *a=2 ( C)输出为: #b=2 ( D)输出为: *a=2#b=2 23 若执行以下程序时从键盘上输入 9,则输出结果是 ( )。 main() int n; cin n; if(n+ 10)cout n end1; elsecout nx e
13、nd1; ( A) 11 ( B) 10 ( C) 9 ( D) 8 24 以下程序的输出结果是 ( )。 ma:in() int a=4,b=5,c=0,d; d=!a ( A) 1 ( B) 0 ( C)非 0的数 ( D)一 1 25 给出下面程序输出结果 ( )。 #inc1ude iostream h void main() int *p1; int *p2= int b=20; p1= ( A) 10 ( B) 20 ( C) 40 ( D) 30 26 在下面的 4个关键字中用来说明虚函数的是 ( )。 ( A) virtual ( B) public ( C) protecte
14、d ( D) private 27 如果有以下定义及初始化: int a=3, *p= retum 0;后将输出 ( )。 ( A) 123*OK ( B) 123#OK ( C) 123*OK* ( D) 123#OK# 31 下列对模板的声明中,正确的是 ( )。 ( A) temp1ate T ( B) temp1ate c1ass T1 T2 ( C) temp1ate c1assT1,c1ass T2 ( D) temp1ate c1ass T1;c1ass T2 32 有如下程序: #inc1ude iostream using namespace std; c1ass AA in
15、t n; public: AA(int k):n(k) int get()retum n; int get()constreturn n+1; ; int main() AA a(5); const AA b(6); cout a get() b get(); return 0; 执行后的输出 结果是 ( )。 ( A) 55 ( B) 57 ( C) 75 ( D) 77 33 关于函数重载,下列叙述中错误的是 ( )。 ( A)重载函数的函数名必须相同 ( B)重载函数必须在参数个数或类型上有所不同 ( C)重载函数的返回值类型必须相同 ( D)重载函数的函数体可以有所不同 34 以下程序
16、的执行结果为 ( )。 #inc1ude iostream h c1ass Samp1e int n; public: Samp1e(int i)n=i; operator+0n+; 前缀重载运算符 operator+(int)n+=2; 后缀重载运算符 void disp() cout “n=“ n end1; ; void main() Samp1e A(2), B(2); A+: +B; A disp(); B disp(); ( A) n=4 n=3 ( B) n=1 n=2 ( C) n3 n=4 ( D) n=5 n=6 35 重载输入流运算符 “ ”必须使用的原型为 ( )。 (
17、 A) istream ( B) istream ( C) istream operator (istream,类名 ); ( D)类名 operator (istream,类名 ); 36 运算符函数调用格式的表达式 “y/x+”与表达 式 “y operator/(operator+(x,0)”的含义相同,由此可看出 ( )。 ( A) “ ”和 “+”都是作为成员函数重载的 ( B) “ ”和 “+”都是作为非成员函数重载的 ( C) “ ”是作为成员函数重载的, “+”是作为非成员函数重载的 ( D) “ ”是作为非成员函数重载的, “+”都是作为成员函数重载的 37 派生类的构造函数
18、的成员初始化列表中,不能包含 ( )。 ( A)基类的构造函数 ( B)派生类中子对象的初始化 ( C)基类中子对象的初始化 ( D)派生类中一般 数据成员的初始化 38 在下面的类定义中,横线处应填入的内容是 ( )。 c1ass Fred public: void print()cout data end1;) void setData(double d)data=d;) static int count, private: double data; ; count=0; /静态数据成员的定义 ( A) int ( B) staticint ( C) int Fred: ( D) stat
19、ic int Fred: 39 下列关于 this指针的叙述中,正确的是 ( )。 ( A)任何与类相关的函数都有 this指针 ( B)类的成员函数都有 this指针 ( C)类的友元函数都有 this指针 ( D)类的非静态成员函数才有 this指针 40 下列情况中,不会调用拷贝构造函数的是 ( )。 ( A)用一个对象去初始化同一类的另一个新对象时 ( B)将类的一个对象赋值给该类的另一个对象时 ( C)函数的形参是类的对象,调用函数进行形参和实参 结合时 ( D)函数的返回值是类的对象,函数执行返回调用时 二、基本操作题 41 使用 VC6打开考生文件夹下的源程序文件 modil c
20、pp,该程序运行时有错误,请改正错误,使得程序输出: Hello test 注意:不要改动 main函数,不能增行或删行,也不能更改程序的结构,错误的语句在 *error*的下面。 #inc1ude iostream *enror* temp1ate T void fun(T t) std:cout “test“ std:end1; *error* temp1ate bool void fun(bool t) std:cout (t? “Hello“: “Hi“) std:end1; int main() *error* bool flag= TRUE; fun(flag); fun(int)
21、flag); return 0; 三、简单应用题 42 使用 VC6打开考生文件夹下的源程序文件 mod12 cpp。请完成函数fun(intx),该函数功能是将 x的值转换成二进制数输出到屏幕,并且在函数中调用写函数 WriteFile()将结果输出到 modi2 txt文件中。 例如: x=13, 13的二进制数字为 1101,则输出到屏幕的为 1101。 注意:不要改动 main()函数,不得增行或删行,也不得更改程序的结构。 #inc1ude iostream #inc1ude fstream #inc1ude cmath using namespace std; void Wr:it
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 模拟 153 答案 解析 DOC
