[计算机类试卷]国家二级(C++)机试模拟试卷179及答案与解析.doc
《[计算机类试卷]国家二级(C++)机试模拟试卷179及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级(C++)机试模拟试卷179及答案与解析.doc(30页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级( C+)机试模拟试卷 179及答案与解析 一、选择题 1 程序流程图中带有箭头的线段表示的是 ( )。 ( A)图元关系 ( B)数据流 ( C)控制流 ( D)调用关系 2 结构化程序设计的基本原则不包括 ( )。 ( A)多态性 ( B)自顶向下 ( C)模块化 ( D)逐步求精 3 软件设计中模块划分应遵循的准则是 ( )。 ( A)低内聚低耦合 ( B)高内聚低耦合 ( C)低内聚高耦合 ( D)高内聚高耦合 4 在软件开发中,需求分析阶段产生的主要文档是 ( )。 ( A)可行性分析报告 ( B)软件需求规格说明书 ( C)概要设计说明书 ( D)集成测试计划 5 算法的有
2、穷性是指 ( )。 ( A)算法程序的运行时间是有限的 ( B)算法程序所处理的数据量是有限的 ( C)算法程序的长度是有限的 ( D)算法只能被有限的用户使用 6 对长度为 n的线性表排序,在最坏情况下,比较次数不是 n(n一 1) 2的排序方法是 ( )。 ( A)快速排序 ( B)冒泡排序 ( C)直接插入排序 ( D)堆排序 7 下列关于栈的叙述正确的是 ( )。 ( A)栈按 “先进先出 ”组织数据 ( B)栈按 “先进后出 ”组织数据 ( C)只能在栈底插入数据 ( D)不能删除数据 8 在数据库设计中,将 ER图转换成关系数据模型的过程属于 ( )。 ( A)需求分析阶段 ( B
3、)概念设计阶段 ( C)逻辑设计阶段 ( D)物理设计阶段 9 有三个关系 R、 S和 T如下:由关系 R和 S通过运算得到关系 T,则所使用的运算为 ( )。 ( A)并 ( B)自然连接 ( C)笛卡尔积 ( D)交 10 设有表示学生选课的三张表,学生 S(学号,姓名,性别,年龄,身份 证号 ),课程 C(课号,课名 ),选课 SC(学号,课号,成绩 ),则表 SC的关键字 (键或码 )为( )。 ( A)课号,成绩 ( B)学号,成绩 ( C)学号,课号 ( D)学号,姓名,成绩 11 下列语句中,错误的是 ( )。 ( A) const int buffer 256; ( B) co
4、nst int temp; ( C) const double*point; ( D) const double*rt new double(5 5); 12 有如下程序: int x 3: do x 2: cout x: while(!( x); 执行这个程序的输出结果是 ( )。 ( A) 1 ( B) 3 0 ( C) 1 2 ( D)死循环 13 有如下程序: #include using namespace std; int main() int*p; *p 9; cout “The value at p: “ *p; return 0: 编译运行程序将出现的情况是 ( )。 ( A
5、)编译时出现语法错误,不能生成可执行文件 ( B)运行时一定输出: The value at p: 9 ( C)运行时一定输出: The value at p: *9 ( D)运行时有可能出错 14 if语句的语法格式可描述为: 格式 1: if() 或 格式 2: if() else 关于上面的语法格式,下列表述中错误的是 ( )。 ( A) 部分可以是一个 if语句,例如 if(if(a 0) ( B) 部分可以是一个 if语句,例如 if()if() ( C)如果在 前加上逻辑非运算符 !并交换 和 的位置,语句功能不变 ( D) 部分可以是一个循环语句,例如 if()while() 1
6、5 下列符号中,正确的 C标识符是 ( )。 ( A) enum ( B) 2b ( C) foo 9 ( D) _32 16 下列关于 C+函数的说明中,正确的是 ( )。 ( A)内联函数就是定义在另一个函数体内部的函数 ( B)函数 体的最后一条语句必须是 return语句 ( C)标准 C要求在调用一个函数之前,必须先声明其原型 ( D)编译器会根据函数的返回值类型和参数表来区分函数的不同重载形式 17 运算符重载是对已有的运算符赋予多重含义,因此 ( )。 ( A)可以对基本类型 (如 int类型 )的数据,重新定义 “ ”运算符的含义 ( B)可以改变一个已有运算符的优先级和操作数
7、个数 ( C)只能重载 C中已经有的运算符,不能定义新运算符 ( D) C中已经有的所有运算符都可以重载 18 下列有关内联函数的叙述中,正确的 是 ( )。 ( A)内联函数在调用时发生控制转移 ( B)内联函数必须通过关键字 inline来定义 ( C)内联函数是通过编译器来实现的 ( D)内联函数函数体的最后一条语句必须是 return语句 19 下列运算符不能重载为友元函数的是 ( )。 ( A) ( )( ) ( B) ( C) ( D) * 20 有如下程序: #include using namespace std; int main() void function(double
8、 val); double val; function(val); cout val: return 0; void function(double val) val 3; 编译运行这个程序将出现的情况是 ( )。 ( A)编译出错,无法运行 ( B)输出: 3 ( C)输出: 3 0 ( D)输出一个不确定的数 21 下面是重载为非成员函数的运算符的函数原型,其中错误的是 ( )。 ( A) Fraction operator (Fraction, Fraction); ( B) Fraction operator (Fraction); ( C) Fraction& operator (F
9、raction&, Fraction); ( D) Fraction& operator (Fraction&, Fraction); 22 有如下类定义: class MyClass public: _ private: int data; ; 若要为 MyClass类重载流输入运算符 “ ”,使得程序中可以 “cin obj; ”的形式改变 MyClass类的对象 obj中数据成员 data的值,则横线处的声明语句应为( )。 ( A) friend istream& operator (istream& is, MyClass& a); ( B) friend istream& oper
10、ator (istream& is, MyClass a); ( C) istream& operator (istream& is, MyClass& a); ( D) istream& operator (istream& is, MyClass a); 23 由于常对象不能被更新,因此 ( )。 ( A)通过常对象只能调用它的常成员函数 ( B)通过常对象只能调用静态成员函数 ( C)常对象的成员都是常成员 ( D)通过常对象可以调用任何不改变对象值的成员函数 24 有如下类定义: class AA int a: public: int getRef()const return &a;
11、int getValue()constreturn a; void set(int n)consta n; friend void show(AA aa)constcout a; ; 其中四个函数的定义中正确的是 ( )。 ( A) ( B) ( C) ( D) 25 下列关于 this指针的描述中,正确的是 ( )。 ( A)类的成员函数都有 this指针 ( B)类的友元函数都有 this指针 ( C)任何与类相关的函数都有 this指针 ( D)类的非静态成员函数都有 this指针 26 下列关于虚函数的说明中,正确的是 ( )。 ( A)从虚基类继承的函数都是虚函数 ( B)虚函数不得
12、是静态成员函数 ( C)只能通过指针或引用调用虚函数 ( D)抽象类中的成员函数都是虚函数 27 下列关于基类和派生类关系的叙述中,正确的是 ( )。 ( A)每个类最多 只能有一个直接基类 ( B)派生类中的成员可以访问基类中的任何成员 ( C)基类的构造函数必须在派生类的构造函数体中调用 ( D)派生类除了继承基类的成员,还可以定义新的成员 28 有如下类定义: class B public: void funl() private: void fun2() protected: void fun3() ; class D: public B protected: void fun4()
13、; 若 obj是类 D的对象,则下列语句中不违反访问控制权限的是 ( )。 ( A) obj funl(); ( B) obj fun2(); ( C) obj fun3(); ( D) obj fun4(); 29 有如下类定义: class Foo public: Foo(int v): value(v) Foo() private: Foo() int value 0; ; 其中存在语法错误的行是 ( )。 ( A) ( B) ( C) ( D) 30 有如下类定义: class Point int xx, yy; public: Point(): xx(0), yy(0) Point(
14、int x, int y 0): xx(x), yy(y) ; 若执行语句 Point a(2), b3, *c4; 则 Point类的构造函数被调用的次数是 ( )。 ( A) 2次 ( B) 3次 ( C) 4次 ( D) 5次 31 有如下类定义: class Test public: Test()a 0; c 0; int f(int a) constthis ava; static int g() return a; void h(int b) Test b b; ; private: int a; static int b; const int c; ; int Test b 0;
15、 在标注号码的行中,能被正确编译的是 ( )。 ( A) ( B) ( C) ( D) 32 有如下类声明: class SAMPLE int n; public: SAMPLE(int i 0): n(i) void setValue(int n0); ; 下列关于 getValue成员函数的定义中,正确的是 ( )。 ( A) SAMPLE etValue(int n0)n n0; ( B) void SAMPLE setValue(int n0)n n0; ( C) void setValue(int n0)n n0; ( D) setVaue(int n0)n n0; 33 有如下程序
16、: #include iostream using namespaee std; class A public: A() cout “A“; A()couy A ; ; class B: public A A*P; public: B()cout “B“; p new A(); B()cout “ B“; delete p; ; int main() B obi; return 0; 执行这个程序的输出结果是 ( )。 ( A) BAA A B A ( B) ABA B A A ( C) BAA B A A ( D) ABA A B A 34 有如下程序: #include iostream
17、using namespace std; elas Base private: void funl()eonstcout “fun1“; protected: void fun2()constcout “fun2“; public: void fun3()eonstcout “fun3“; ; class Derived; protected Base public: void fun4()constcout “fun4“; ; int main() Derived obj; obj funl(); obj fun2(); obj flun3(); obj fun4(); return 0;
18、其中有语法错误的语句是 ( )。 ( A) ( B) ( C) ( D) 35 有如下程序: #include using namespaee std; class Basel public: Basel(int d)cout d; Basel() ; class Base2 public: Base2(int d)cout d; Base2() ; Class Derived: public Base1, Base2 public: Derived(int a, int b, int c, int d): Basel(b), Base2(a), bl(d), b2(c) private: i
19、nt b1: int b2; ; int main() Derived d(1, 2, 3, 4); return 0; 执行这个程序的输出结果是 ( )。 ( A) 1234 ( B) 2134 ( C) 12 ( D) 21 36 有如下程序: #include using namespace std; class Base public: void funl()cout “Base n“; virtual void fun2()cout “Base n“; ; class Derived: public Base public: void funl()cout “Derived n“;
20、void flun2()cout “Derived n“; ; void f(Base&b)b funl(); b fun2(); int main() Derived obj; f(obj); return 0; 执行这个程序的输出结果是 ( )。 ( A) Base Base ( B) Base Derived ( C) Derived Base ( D) Derived Derived 37 模板对类型的参数化提供了很好的支持,因此 ( )。 ( A)类模板的主要作用是生成抽象类 ( B)类模板实例化时,编译器将根据给出的模板实 参生成一个类 ( C)在类模板中的数据成员都具有同样类型
21、( D)类模板中的成员函数都没有返回值 38 有如下函数模板: template typename T, typename U T cast(U u) return u; 其功能是将 U类型数据转换为 T类型数据。已知 i为 int型变量,下列对模板函数 cast的调用中正确的是 ( )。 ( A) cast(i); ( B) cast (i); ( C) cast char*, int (i); ( D) cast double, int (i); 39 要建立文件流并打开当前目录下的文件 file dat用于输入,下列语句中错误的是 ( )。 ( A) ifstream fin ifstr
22、eam open(“file dat“); ( B) ifstream*fin new ifstrem(“file dat“); ( C) ifstreoJn fin; fin open(“file dat“); ( D) ifstream*fin new ifstream(); fin open(“file dat“); 40 当使用 ifstream流类定义一个流对象并打开一个磁盘文件时,文件的默认打开方式为 ( )。 ( A) ios_base in ( B) ios_base in ios_base out ( C) ios_base out ( D) ios_base in & io
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 模拟 179 答案 解析 DOC
