【计算机类职业资格】二级C++-209及答案解析.doc
《【计算机类职业资格】二级C++-209及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++-209及答案解析.doc(18页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C+-209 及答案解析(总分:89.00,做题时间:90 分钟)一、选择题(总题数:35,分数:61.50)1.有如下程序: #include iostream using namespace std; class BASE char c; public: BASE(char n):c(n) virtual BASE()coutc; ; class DERIVED:public BASE char c; public: DERIVED(char n):BASE(n+1),c(n) DERIVED() coutc; ; int main() DERIVED(“X“); return 0;
2、 执行上面的程序将输出_。(分数:2.50)A.XYB.YXCXDY2.有如下类定义: class MyBase int k; public: MyBase(int n=0): k(n) int value()const return k; ; class MyDefived: MyBase int j; public: MyDefived(int i): j(i) int getK()const return k; int getJ()const return j; ; 编译时发现有一处语法错误,对这个错误最准确的描述是_。(分数:1.00)A.函数 getK 试图访问基类的私有成员变量 k
3、B.在类 MyDerived 的定义中,基类名 MyBase 前缺少关键字 public、protected 或 privateC.类 MyDerived 缺少一个无参的构造函数D.类 MyDefived 的构造函数没有对基类数据成员 k 进行初始化3.下列关于类和对象的叙述中,错误的是_。(分数:1.00)A.一个类只能有一个对象B.对象是类的具体实例C.类是对某一类对象的抽象D.类和对象的关系是一种数据类型与变量的关系4.若有以下的定义, int a =1,2,3,4,5,6,7,8,9,10,*p=a;则值为 3 的表达式是 _。(分数:2.00)A.p+=2,*(p+)B.p+=2,*
4、+pC.p+=3,*p+D.p+=2,+*p5.当使用 fstream 流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为 _ 。(分数:1.00)A.ios:inB.ios: outC.ios:in lios:outD.以上都不对6.在类中重载赋值运算符时,应将其声明为类的_。(分数:2.00)A.静态函数B.友元函数C.成员函数D.构造函数7.模板对类型的参数化提供了很好的支持,因此_。(分数:1.00)A.类模板的主要作用是生成抽象类B.类模板实例化时,编译器将根据给出的模板实参生成一个类C.在类模板中的数据成员都具有同样类型D.类模板中的成员函数都没有返回值8.下列字符串中,
5、正确的 C 抖标识符是 _ 。(分数:2.00)A.foo-1B.2bC.newD._2569.若要对类 BigNumber 中重载的类型转换运算符 long 进行声明,下列选项中正确的是_。(分数:2.50)A.operator long()const;B.operator long(BigNumber);C.long operator long()const;D.long operator long(BigNumber);10.以下哪个不是 C+语言中的有效标识符?(分数:2.00)A.34aB._ABC.A_BD.A2511.C+语言做了很多改进,下列描述中 _ 使得 C 语言发生了质变
6、,即从面向过程变成面向对象。(分数:2.00)A.增加了一些新的运算符B.允许函数重载,并允许设置默认参数C.规定函数说明必须用原型D.引进类和对象的概念12.当执行以下程序时,_ 是正确的 k=1; do k=k*k; while(!k)(分数:2.00)A.循环体将执行一次B.循环体将执行两次C.循环体将执行无限次D.系统将提示有语法错误13.有如下类声明: class Base protected; int amount; public; Base(int n=0):amount(n) int getAmount()constreturn amount; ; class Derived:
7、public Base protected; int value; public; Derived(int m,int n):value(m).Base(n) Int getData()constreturn value+amount; ; 己知 x 是一个 Derived 对象,则下列表达式中正确的是_。(分数:2.00)A.value+x.getAmount()B.getData()-x.gctAmount()C.getData()-x.amountD.value+x.amount14.需求分析阶段的任务是确定_。(分数:1.00)A.软件开发方法B.软件开发工具C.软件开发费用D.软件系
8、统功能15.下列_是 C+语言的有效标识符。(分数:1.00)A._No1B.No. 1C.12345D.int16.下列函数模板的定义中,合法的是_。(分数:1.00)A.template typename T T abs(T x) return x0? -x:x;B.template class T T abs(T x) return x0? -x:x;C.template T class T abs(T x)return x0? -x:x;D.template T abs(T x)return x0? -x:x;17.有关构造函数的叙述不正确的是(分数:2.00)A.构造函数名必须和类名
9、一致B.构造函数在定义对象时自动执行C.构造函数无任何函数类型D.在一个类中构造函数有且仅有一个18.设有关键码序列(16,9,4,25,15,2,13,18,17,5,8,24),要按关键码值递增的次序排序,采用初始增量为 4 的希尔排序法,一趟扫描后的结果为 _ 。(分数:2.00)A.(15,2,4,18,16,5,8,24,17,9,13,25)B.(2,9,4,25,15,16,13,18,17,5,8,14)C.(9,4,16,15,2,13,18,17,5,8,24,15)D.(9,16,4,25,2,15,13,18,5,17,8,24)19.下列叙述中,不属于软件需求规格说明
10、书的怍用的是_。(分数:1.00)A.便于用户、开发人员进行理解和交流B.反映出用户问题的结构,可以作为软件开发工作的基础和依据C.作为确认测试和验收的依据D.便于开发人员进行需求分析20.算法的有穷性是指_。(分数:2.50)A.算法程序的运行时间是有限的B.算法程序所处理的数据量是有限的C.算法程序的长度是有限的D.算法只能被有限的用户使用21.结构化分析方法是面向 _ 的自顶向下、逐步求精进行需求分析的方法。(分数:2.00)A.对象B.数据结构C.数据流D.目标22.有两个关系 R 和 T 如下所示: (分数:2.50)A.选择B.投影C交D并23.以下定义数组中错误的是(分数:2.0
11、0)A.int a10;B.int a2120;C.int a20;D.int a;24.有如下函数模板定义: templatetypename T1,typename T2 T1 FUN(T2 n)return n*5.0; 若要求以 int 型数据 9 作为函数实参调用该模板,并返回一个 double 型数据,则该调用应表示为_。(分数:2.50)A.FUN(9)B.FUN9C.FUNdouble(9)D.FUN9(double)25.以下程序的输出结果是 _ 。 min() int i=0,a=0; while(i20) for(;) if(i%10)=0)break; else i-;
12、 i+=11;a+=i; coutaendl; (分数:2.00)A.21B.32C.33D.1126.不合法的 main 函数命令行参数表示形式是(分数:1.00)A.main(inta,char*c)B.main(int arc,char * * arv)C.main(int argc,char * argv)D.main(int argv,char * argc)27.对于通过公有继承定义的派生类,若其成员函数可以直接访问基类的某个成员,说明该基类成员的访问权限是_。(分数:2.50)A.公有或私有B.私有C.保护或私有D.公有或保护28.下面关于 this 指针的说法中错误的是 _ 。
13、(分数:2.00)A.this 指针是一种隐含指针,存在于每个类的非静态成员函数中B.它是成员函数所属对象的指针C.通过 this.成员变量的形式可以访问类中的数据成员D.成员函数访问类中的数据成员格式可写成:this-成员变量29.以下程序的输出结果是 _ 。 #includeiostream.h main() int m=5; if(m+5) coutm; else coutm-; (分数:2.00)A.7B.6C.5D.430.有如下程序: #includeiostream using namespace std; class TV public: TV(int s=41):size(s
14、) void Print()cout“/“N“size; void Print() constcout“/“C“size; void Print(int s)cout“/“S“size; private: int size; ; int main() TV rooml; const TV room2(54); rooml.Print(); room2.Print(); return 0; 运行时的输出结果是_。(分数:1.00)A./N41/C54B./N41/S54C./C41/N54D./C41/C5431.有关构造函数的说法不正确的是 _ 。(分数:1.00)A.构造函数名字和类的名字一
15、样B.构造函数在说明类变量时自动执行C.构造函数无任何函数类型D.构造函数有且只有一个32.在数据库系统中,把具有以下特征中之 _ 两个特征的数据模型称为网状模型。(分数:2.00)A.允许有一个以上的结点没有双亲B.有且仅有一个结点无双亲C.根以外的结点有且仅有一个双亲D.一个结点可以有多个双亲33.关于关键字 class 和 typename,下列描述正确的是 _ 。(分数:2.00)A.程序中所有的 class 都可以替换为 typenameB.程序中所有的 typename 都可以替换为 classC.A 和 B 都可以D.A 和 B 都不可以34.下列对派生类的描述中,错误的是_。(
16、分数:2.50)A.一个派生类可以作为另一个派生类的基类B.派生类至少有一个基类C.派生类的默认继承方式是 privateD.派生类只继承了基类的公有成员和保护成员35.一个教师可讲授多门课程,一门课程可由多个教师讲授。则实体教师和课程间的联系是_。(分数:1.00)A.1:1 联系B.1:m 联系C.m:1 联系D.m:n 联系二、填空题(总题数:15,分数:27.50)36.执行“coutchar(A+2)end1;”语句后,得到的输出结果为 _ 1_ 。 (分数:2.00)37.表达式 c3=c1.operator+(c2)或 c3=operator+(c1,c2)还可以表示为 _ 1_
17、 (分数:1.00)38.在 C+中,打开一个文件,就是将这个文件与一个 _ 1_ 建立关联;关闭一个文件,就是取消这种关联。 (分数:2.00)39.在 C+中封装性、继承性和 _ 1_ 是面向对象思想的主要特征。 (分数:2.00)40.数学表达式 (分数:2.00)41.在 C+中,若需要在程序文件中进行标准输入输出操作,则必须在开始处加入预处理命令#includeiostream.h,若使用到数学库中的函数时,要在源程序的开始处加入预处理命令 _ 1_ 。 (分数:2.00)42.若要将函数“void FriFun();”声明为类 MyClass 的友元函数,则应在类 MyClass
18、的定义中加入语句 1。 (分数:2.00)43.在深度为 7 的满二叉树中,度为 2 的结点个数为 1。 (分数:2.00)44.利用成员函数对双目运算符重载,其左操作数为 1,右操作数为 2。 (分数:1.00)45.数据的逻辑结构在计算机存储器内的表示,称为数据的 _ 1_ 。 (分数:2.00)46.下面程序的运行结果是: 1。(假设输入的值为24;4) #include iostream.h using namespace std; int Factor(int, int int main() int number, squared, cubed, error; cout“Enter
19、a number (0-20):“; cinnumber; error=Factor(number, squared, cubed); if(error) cout“Error encountered!/n“; else cout “Number: “number endl; cout “Squared: “squared endl; cout “Cubed:“ cubed endl; return 0; int Factor(int n, int rSquared=n*n; rCubed=n*n*n; return 0; (分数:2.50)47.在类中, 1 成员为类的所有对象所共享。 (分
20、数:2.00)48.在 C+流类库中,根基类为 _ 1_ 。 (分数:2.00)49.以下程序的功能是输出 1 至 100 之间每位数的乘积大于每位数的和的数,例如对于数字 12,有1*21+2,故不输出该数:对于 27,有 2*72+7,故输出该数。请填空。 #includeiostream.h void main() int n,k=1,s=o,m; for (n=1:n=100:n+= k=1;s=0; 1, while 2 k*=m10;s+=m10; 3; if(ks)coutn: (分数:1.00)50.声明长度为 10 的 float 型数组 a,且初始化为 0 的语句是 _ 1
21、_ 。 (分数:2.00)二级 C+-209 答案解析(总分:89.00,做题时间:90 分钟)一、选择题(总题数:35,分数:61.50)1.有如下程序: #include iostream using namespace std; class BASE char c; public: BASE(char n):c(n) virtual BASE()coutc; ; class DERIVED:public BASE char c; public: DERIVED(char n):BASE(n+1),c(n) DERIVED() coutc; ; int main() DERIVED(“X“
22、); return 0; 执行上面的程序将输出_。(分数:2.50)A.XY B.YXCXDY解析:2.有如下类定义: class MyBase int k; public: MyBase(int n=0): k(n) int value()const return k; ; class MyDefived: MyBase int j; public: MyDefived(int i): j(i) int getK()const return k; int getJ()const return j; ; 编译时发现有一处语法错误,对这个错误最准确的描述是_。(分数:1.00)A.函数 getK
23、 试图访问基类的私有成员变量 k B.在类 MyDerived 的定义中,基类名 MyBase 前缺少关键字 public、protected 或 privateC.类 MyDerived 缺少一个无参的构造函数D.类 MyDefived 的构造函数没有对基类数据成员 k 进行初始化解析:解析 默认继承方式为私有继承,私有继承将基类的公用成员和保护成员都变为了私有成员,基类的私有成员依然属于基类私有,派生类不能访问基类的私有成员。所以 A 选项正确。3.下列关于类和对象的叙述中,错误的是_。(分数:1.00)A.一个类只能有一个对象 B.对象是类的具体实例C.类是对某一类对象的抽象D.类和对象
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 C209 答案 解析 DOC
