[计算机类试卷]国家二级(C++)笔试模拟试卷244及答案与解析.doc

上传人:fuellot230 文档编号:502708 上传时间:2018-11-29 格式:DOC 页数:20 大小:79.50KB
下载 相关 举报
[计算机类试卷]国家二级(C++)笔试模拟试卷244及答案与解析.doc_第1页
第1页 / 共20页
[计算机类试卷]国家二级(C++)笔试模拟试卷244及答案与解析.doc_第2页
第2页 / 共20页
[计算机类试卷]国家二级(C++)笔试模拟试卷244及答案与解析.doc_第3页
第3页 / 共20页
[计算机类试卷]国家二级(C++)笔试模拟试卷244及答案与解析.doc_第4页
第4页 / 共20页
[计算机类试卷]国家二级(C++)笔试模拟试卷244及答案与解析.doc_第5页
第5页 / 共20页
点击查看更多>>
资源描述

1、国家二级( C+)笔试模拟试卷 244及答案与解析 1 2 下列叙述中,不属于测试的特征的是 ( A)测试的挑剔性 ( B)完全测试的不可能性 ( C)测试的可靠性 ( D)测试的经济性 3 设有两个串 p和 q,求 q在 p中首次出现位置的运算称作 ( A)连接 ( B)模式匹配 ( C)求子串 ( D)求串长 4 5 人们已经提出了许多种类型的数据依赖,其中最重要的是函数依赖和 ( )。 ( A)数据依赖 ( B)多值依赖 ( C)单值依赖 ( D)数值依赖 6 对二叉树从 1开始进行连续编号,要求每个结点的编号大于其左右孩子的编号,同一个结点的左右孩子中,其左孩子的编号小于其右孩子的编号

2、,则可采用 _ 遍历实现编号。 ( A)无序 ( B)中序 ( C)后序 ( D)从根开始的层次遍历 7 有以下程序 #include iostream.h void main() int a=5, b=0, c=0; if(a=b+c)cout “*“ endl: else cout “$“ endl; 下列选项叙述正确的是 ( )。 ( A)有语法错不能通过编译 ( B)可以通过编译但不能通过连接 ( C)输出 * ( D)输出 $ 8 设树 T的度为 4,其中度为 1, 2, 3, 4的结点个数分别为 4, 2, 1, 1。则 T中的叶子结点数为 ( A) 5 ( B) 6 ( C) 7

3、 ( D) 8 9 下列特征中不是面向对象方法的主要特征的是 ( )。 ( A)多态性 ( B)继承 ( C)封装性 ( D)模块化 10 耦合性和内聚性是对模块独立性度量的两个标准。下列 叙述中正确的是 ( A)提高耦合性降低内聚性有利于提高模块的独立性 ( B)降低耦合性提高内聚性有利于提高模块的独立性 ( C)耦合性是指一个模块内部各个元素间彼此结合的紧密程度 ( D)内聚性是指模块问互相连接的紧密程度 11 面向对象程序设计将数据和什么放在一起,作为一个相互依存、不可分割的整体来处理 ? ( A)对数据的操作 ( B)信息 ( C)数据隐藏 ( D)数据抽象 12 若有以下程序: #i

4、nclude iostream using namespaces std; class A public: A() A(int i) xl=i; void dispa() cout “x1=“ x1 “, “; private: int x1; ; class B: public A public: B() B(int i): A(i+10) x2=i; void dispb() dispa(); cout “x2=“ x2 endl; private: int x2; ; int main) B b(2); b dispb(): return 0; 程序运行后的输出结果是 ( A) x1=1

5、0,x2=2 ( B) x1=12,x2=10 ( C) x1=12,x2=2 ( D) x1=2,x2=2 13 下列关于继承的描述中,错误的是 ( )。 ( A)析构函数不能被继承 ( B)派生类是基类的组合 ( C)派生类的成员除了它自己的成员外,还包含了它的基类的成员 ( D)派生类中继承的基类成员的访问权限到派生类保持不变 14 C+语言中类定义中默认的访问权限是 ( A) public ( B) protected ( C) private ( D) default 15 C+语言中 在 C语言的基础上增加的特性不包括 ( )。 ( A)结构 ( B)引用 ( C)类和对象 ( D

6、)静态成员函数 16 语句 ofstream f(“SALARY. DAT“, ios: :app | ios: :binary) ;的功能是建立流对象f,试图打开文件 SALARY.DAT并与之连接,并且 ( A)若文件存在,将文件写指针定位于文件尾 ;若文件不存在,建立一个新文件 ( B)若文件存在,将其置为空文件 ;若文件不存在,打开失败 ( C)若文件存在,将文件写指针定位于文 件首 ;若文件不存在,建立一个新文件 ( D)若文件存在,打开失败 ;若文件不存在,建立一个新文件 17 设 int a 1, b 2;,则 (a ) b和 a b这两个表达式的值分别为 ( A) 3,3 (

7、B) 3,4 ( C) 4,3 ( D) 4,4 18 下列选项中,不是 C+关键字的是 ( )。 A) class B) function C) friend D) virtual 19 关于类和对象的说法,不正确的是 ( )。 ( A)类是对象的类,对象是类的对象 ( B)系统不为类分配内 存空间,而为对象分配内存空间 ( C)类和对象一样 ( D)类可以看作数据类型,对象也可以叫做类的实体、实例等 20 关于派生类的说法,不正确的是 ( )。 ( A)派生类能够通过继承关键字改变对基类的函数成员的存取权限 ( B)派生类可以拥有自己的新成员 ( C)派生类可重载已有的函数成员 ( D)派

8、生类无法给基类的数据成员初始化 21 下面关于友元的描述中,错误的是 ( )。 ( A)友元函数可以访问该类的私有数据成员 ( B)一个类的友元类中的成员函数都是这个类的友元函数 ( C)友元 可以提高程序的运行效率 ( D)类与类之间的友元关系可以继承 22 关于静态数据成员的描述中正确的是 ( )。 ( A)类的静态数据成员不是类的所有对象共享的数据 ( B)类的静态数据成员不能被类的成员函数调用 ( C)类的静态数据成员不能被类的构造函数调用 ( D)类的静态数据成员必须进行初始化 23 对于任意一个类,析构函数的个数最多为 _。 ( A) 0 ( B) 1 ( C) 2 ( D) 3

9、24 _ 给出了数据库物理存储结构与物理存取方法 ( A)概念模式 ( B)外 模式 ( C)子模式 ( D)物理模式 25 假定要对类 AB定义加号操作符重载成员函数,实现两个 AB类对象的加法,并返回相加结果,则该成员函数的声明语句为 ( )。 ( A) AB operator+(AB class MyClass int m; publ i c: static int n; MyClass ( ) m = 0; void setvalue() m+; n+; void output () cout“m=“ m , n=“ n end1; ; int MyClass : n=0; int m

10、ain() MyClass obj1, obj2; obj1.setvalue(); objl.output(); obj2.setvalue(); obj2.output(); return 0; ( A) m= 1 ,n= 1 换行 m= 1 ,n=1 ( B) m= 1 ,n= 1 换行 m=1 ,n=2 ( C) m=1,n=1换行 m=2,n=1 ( D) m=1,n=1换行 m=2,n=2 28 C+语言中, while循环和 do-while循环的主要区别是 ( )。 ( A) do-while的循环体至少无条件执行一次 ( B) while的循环控制条件比 do-while的循

11、环控制条件严格 ( C) do-while允许从外部转到循环体内 ( D) do-while的循环体不能是复合语句 29 设有 a、 b、 c、 d、 m、 n均为 int型变量,且 a=5、 b=6、 c=7、 d=8、 m=2、n=2,则逻辑表达式 (m=a B) i2;i+)pi=chi; for(i=0; i 2;i+) for(j=0; pij 0;j+=2) s=10*s+pij 0; ( A) 69825 ( B) 63825 ( C) 6385 ( D) 693825 32 下面程序的运行结果是 #include iostream.h int fun ( int a , int

12、 n) int result=1; for(int i=1;i n; i+) result=result*ai; return result; void main( ) int a3=3, 4, 5; cout fun(a, ( A) 12 ( B) 15 ( C) 20 ( D) 60 33 以下选项中,与 k=n+完全等价的表达式是 ( A) k n, n n+1 ( B) n n+1, k n ( C) k=+n ( D) k+=n+1 34 有以下程序 main( ) int i=0,s=0;do if(i%2) i+ +; continue; i+; s+=i; while(i 7)

13、cout s end1; 执行后输出结果是 ( A) 16 ( B) 12 ( C) 28 ( D) 21 35 下列有关析构函数的调用顺序是 ( )。 ( A)先执行基类的构造函数,然后执行派生类的析构函数 ( B)先执行派生类的构造函数,然后执行基类的构造函数 ( C)析构函数在派生类与基类中同时执行 。 ( D)只执行派生类的构造函数,不执行基类的构造函数 36 软件需求规格说明书应具有完整性、无歧义性、正确性、可验证性、可修改性等特性,其中最重要的是【 】。 37 DBMS的数据控制功能包括完整性控制、并发控制、安全性控制和【 】。 38 一个类可以从直接或间接的祖先中继承所有属性和方

14、法。采用这个方法提高了软件的 _。 39 衡量模块独立性的两个重要度量标准是耦合性和内聚性。其中【 】用于度量模块间互相连接的紧密程度。 40 在面向对象的程序设计中,用来请求对象执行某一 处理或回答某些信息的要求称为【 】。 41 下面程序的运行结果是 _。 #include iostream using namespace std; class count static int n; public: count() n+; static int test() for(int i=0; i 4; i+) n+; return n; ; int count: n=0; int main() c

15、out count: test() “ “; count c1, c2; cout count : test() endl; return 0; 42 _是 C+语言程序的入口。 43 已知有函数 f的定义如下: int f() static int s 0; s+=2; return s; 则在某程序中第 2次执行函数调用语句 “f(); ”时,函数 f的返回值是 _。 44 下列函数的功能是判断字符串 str是否对称,对称则返回 true,否则返回 false。请在横线处填内容,实现该函数。 bool fun(char*str) int i=0,j=0; while(strj)j+; fo

16、r(j-; i= 【试题解析】 此题考查的是 while循环语句和 for循环语句。题中函数的功能是判断字符串是否对称。从字符串两端依次比较各个字符是否相同, for循环结束后,当 i=j表明字符串对称,否则说明不对称。 45 【正确答案】 0 0*0 O*0 0*0 46 【正确答案】 25, 67 47 【正确答案】 2 【试 题解析】 因为运算符 +和 -都是右结合的且优先级高于双目运算符 +,所以上式的运算顺序为先 a+, -b,再 a+b,最后 a自加 1。 48 【正确答案】 拷贝构造 【试题解析】 本题考查的是拷贝构造函数的定义,它是一种特殊的成员函数,作用是使用一个已知的对象来初始化一个被创建的同类的对象,定义格式是类名 :拷贝构造函数名 (类名 &引用名 )。 49 【正确答案】 template classT T DBL(T n)return n+n; 【试题解析】 本题考核函数模板的使用。函数模板的一 般说明形式如下:template类型形参表返回类型函数名 (形参表 )/函数体 )。函数调用方式为:函数名 (实参表 );。形参表中的类型以实参表中的实际类型为依据。由此易得答案。 50 【正确答案】 protected 【试题解析】 protected:可以被该类中的函数、子类的函数以及其友元函数访问。但不能被该类的对象访问。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试资料 > 职业资格

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1