【计算机类职业资格】国家计算机二级(C++)94及答案解析.doc
《【计算机类职业资格】国家计算机二级(C++)94及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】国家计算机二级(C++)94及答案解析.doc(14页珍藏版)》请在麦多课文档分享上搜索。
1、国家计算机二级(C+)94 及答案解析(总分:460.00,做题时间:120 分钟)一、选择题(每小题 2分,共 70分) 下列各(总题数:35,分数:70.00)1.下面程序的运行结果是( )。 #ncludeiostream.h int fun(inta,int n) int result=1; for(int i=1;in;+) result=result*ai; return result; void main( ) int a3 =3,4,5; coutfun(a,3)endl; (分数:2.00)A.2B.0C.-2D.12.有如下程序: #includeiostreamh lon
2、g fib(int n) if(n 2) return(fib(n-1)+fib(n-2) ); else return(2); void main( ) cout fib(3); 该程序的输出结果是( )。 (分数:2.00)A.2B.4C.6D.83.在下列关键字中,不能用来表示继承方式的是(分数:2.00)A.privateB.staticC.publicD.protected4.有以下程序段: typedef struct NODE int num; struct NODE *next; OLD; 以下叙述中正确的是_。 (分数:2.00)A.以上的说明形式非法B.NODE 是一个结构
3、体类型C.OLD 是一个结构体类型D.OLD 是一个结构体变量5.下面叙述不正确的是( )。(分数:2.00)A.12AB34CDB.12ab34CDC.12ab34cdD.12AB34cd6.设有如下关系表 (分数:2.00)A.T=RSB.T=RSC.T=RSD.T=R/S7.结构化程序设计的基本原则不包括(分数:2.00)A.多态性B.自顶向下C.模块化D.逐步求精8.下列程序的执行结果为( )。 # include iostreamh void main ( ) int a=3,b=0; int * p=a; b= +a+; cout * p “,“ b endl; (分数:2.00)
4、A.选项卡B.文本框控件C.列表框或组合框控件D.选项组控件9.下面程序的功能是把 316表示为两个加数的和,使两个加数分别能被 13和 11整除,在划线处应填入的是( )。 #includeiostream.h voidmain( ) inti=0,j,k; doi+;k=316-13*i;while(_); j=k/11; cout“316=13*“i“+11*“j; (分数:2.00)A.k/1lB.k%11C.k/11=0D.k%11=010.下列有关类成员的叙述中,正确的是(分数:2.00)A.友元函数是类的成员函数B.类成员的默认访问权限是私有的C.类成员函数必须声明为公有的D.类
5、的静态数据成员不能是常成员11.如果类 A被说明成类 B的友元,则( )。(分数:2.00)A.类 A的成员即类 B的成员B.类 B的成员即类 A的成员C.类 A的成员函数不得访问类 B的成员D.类 B不一定是类 A的友元12.有以下程序: main() char s=“159“,*p; p=s; printf(“%c“,*p+);printf(“%c“,*p+); 程序运行后的输出结果是_。 (分数:2.00)A.15B.16C.12D.5913.下面关于模板的描述,错误的是( )。(分数:2.00)A.函数模板和类模板的参数可以是任意的数据类型B.类模板不能直接使用,必须先实例化为相应的模
6、板类,然后定义了模板类的对象后才能使用C.函数模板不能直接使用,需要实例化为模板函数后才能使用D.类模板的成员函数都是模板函数14.下列程序的输出结果是( )。 # include iostreamh int min( int a,int b) if(a b)return a; else return b; return 0 void main ( ) cout min(1,min(2,3) endl; (分数:2.00)A.0B.1C.2D.315.只能作为成员函数重载的是( )。(分数:2.00)A.类创建时B.创建对象时C.删除对象时D.不自动调用16.有以下程序: point(char
7、 *p)p+=3; main() char b4=a,b,c,d,*p=b; point(p);printf(“%c/n“,*p); 程序运行后的输出结果是_。 (分数:2.00)A.aB.bC.cD.d17.关于虚函数下面说的正确的是(分数:2.00)A.可以被三种类所引用:该类自身、与它在同一个包中的其他类、在其他包中的该类的B.可以被两种类访问和引用:该类本身、该类的所有子类C.只能被该类自身所访问和修改D.只能被同一个包中的类访问18.有以下结构体说明和变量定义,如图所示: (分数:2.00)A.P-next=q-next;B.p-next=p-next-next;C.p-next=r
8、;D.p=q-next;19.以下四个程序中,完全正确的是_。 (分数:2.00)A.B.C.D.20.下列关于多态性的描述,错误的是( )。(分数:2.00)A.INDEXON籍贯,学号 TO JGXHB.INDEXON籍贯+学号 TO JGXHC.INDEXON籍贯,STR(学号,4)TO JGXHD.INDEXON籍贯+STR(学号,4)TO JGXH21.this指针是 C+语言实现什么的一种机制?(分数:2.00)A.抽象B.封装C.继承D.重载22.下面程序段的运行结果是( )。 #includeiostreamh void main( ) char*s=“abcde“; S+=2
9、; coutint *y;*pt; int a=1,2,b=3,4; struct st c2=10,a,20,b; pt=c; 以下选项中表达式的值为 11的是_。(分数:2.00)A.*pt-yB.pt-xC.+pt-xD.(pt+)-x28.一个类的友元函数能够访问该类的( )。(分数:2.00)A.私有成员B.保护成员C.公有成员D.所有成员29.对以下说明语句的正确理解是( )。 inta10=6,7,8,9,10; (分数:2.00)A.公有类型B.私有类型C.保护类型D.友元类型30.以下定义数组中错误的是( )。(分数:2.00)A.查询B.数据访问页C.窗体D.报表31.对于
10、模板定义关键字 class和 typename说法不正确的是( )。(分数:2.00)A.程序中的 class并不能都替换为 typenameB.class和 typename都可互相替换C.程序中的 typename都能替换为 classD.程序中的部分 class可以替换为 typename32.下列符号中,正确的 C+标识符是_。(分数:2.00)A.enumB.2bC.foo-9D._3233.下面程序的运行结果为( )。 # include iostreamh class A int num; public: A(inti)hum=i; A(Aa)num=anum+; void pr
11、int( )cout num; ; void main( ) Aa(1),b(a); aprint( ); bprint( ); (分数:2.00)A.显示“打开文件”对话框B.显示“保存文件”对话框C.显示“字体”对话框D.显示“打印”对话框34.下列关于构造函数说法不正确的是( )。(分数:2.00)A.构造函数必须与类同名B.构造函数可以省略不写C.构造函数必须有返回值D.在构造函数中可以对类中的成员进行初始化35.下面程序的功能是把 316表示为两个加数的和,使两个加数分别能被 13和 11整除,在划线处应填入的是( )。 #includeiostream.h voidmain( )
12、inti=0,j,k; doi+;k=316-13*i;while(_); j=k/11; cout“316=13*“i“+11*“j; (分数:2.00)A.7B.8C.11D.12二、填空题(每空 2分,共 30分)(总题数:13,分数:390.00)36.在两种基本测试方法中, 1 测试的原则之一是保证所测模块中每一个独立路径至少要执行一次。(分数:30.00)填空项 1:_37.创建对象数组时,对数组的每一个元素都将调用一次构造函数,如果没有显式给出数组元素的初值,则调用缺省的构造函数。下列程序涉及到对象数组的创建和单个对象的创建其输出结果是 1。 #include using nam
13、espace std; class Foo public: Foo(int x)outnext; while(= 1 ) printf(“%s/n“,p-sub);p= 2 ; main3 Node *hd; hd=fun4; disp(hd);printf(“/n“); (分数:30.00)填空项 1:_41.请按下面注释的提示,将类 B的构造函数定义补充完整。 C1assA int a; public: A(int aaO)aaa; ; class B:public A int b; A c; public: /用 aa初始化基类 A,用 aa1 初始化类对象成员 c B(int aa:
14、1baa2 ; (分数:30.00)填空项 1:_42.假设 int a=1,b=2;则表达式 a+-b的值为 1。(分数:30.00)填空项 1:_43.将 x+y中的+运算符用友元函数重载应写为 1。(分数:30.00)填空项 1:_44.程序测试分为静态分析和动态测试。其中 1 是指不执行程序,而只是对程序文 本进行检查,通过阅读和讨论,分析和发现程序中的错误。(分数:30.00)填空项 1:_45.静态成员函数可以直接访问类的 1 成员,不能直接访问类的 2 成员。(分数:30.00)填空项 1:_46.下列程序的输出结果是 1。 #inCludeiostream using name
15、space std; class Test public: Test2 cnt; Test3cnt; static int Count4 return cnt; private: static int cnt; ; int Test:cnt0; int main5 coutTest:Count6“; Test t1,t2; Test*pT3new Test; Test*pT4new Test; coutTest:Count7; delete pT4; delete pT3; coutTest:Count8endl; return 0; (分数:30.00)填空项 1:_47.设置虚基类的目的是
16、 1,通过 2 表示虚基类。(分数:30.00)填空项 1:_48.以下程序的输出结果是 1。 #includeiostreamh voidfun( ) staticinta=0; a+=2; couta“; voidmain( ) intcc; for(cc=1;cc4;cc+) fun( ); coutendl; (分数:30.00)填空项 1:_国家计算机二级(C+)94 答案解析(总分:460.00,做题时间:120 分钟)一、选择题(每小题 2分,共 70分) 下列各(总题数:35,分数:70.00)1.下面程序的运行结果是( )。 #ncludeiostream.h int fun
17、(inta,int n) int result=1; for(int i=1;in;+) result=result*ai; return result; void main( ) int a3 =3,4,5; coutfun(a,3)endl; (分数:2.00)A.2B.0 C.-2D.1解析:单目的+运算优先级高于双目的+运算,不过+的结合性是自右向 左的,而+是自左至右的,所以上面的两个表达式都是先计算 a+b的值之后,a 再自加 1。2.有如下程序: #includeiostreamh long fib(int n) if(n 2) return(fib(n-1)+fib(n-2)
18、); else return(2); void main( ) cout fib(3); 该程序的输出结果是( )。 (分数:2.00)A.2B.4 C.6D.8解析:fib(3)=fib(2)+fib(1),而 fib(2)的返回值为 2,fib(1)的返回值也为 2,故输出的 fib(3)的值为4。3.在下列关键字中,不能用来表示继承方式的是(分数:2.00)A.privateB.static C.publicD.protected解析:在 C+中继承主要有三种关系:public、protected 和 private。这三种继承关系中 public继承是最为常用的一种继承关系。4.有以下
19、程序段: typedef struct NODE int num; struct NODE *next; OLD; 以下叙述中正确的是_。 (分数:2.00)A.以上的说明形式非法B.NODE 是一个结构体类型C.OLD 是一个结构体类型 D.OLD 是一个结构体变量解析:typedef 关键字用于声明一个新的类型名代替已有的类型名。本题中如果没有用 typedef 进行定义的 话,则 struct NODE 为结构体类型,现在用 typedef 定义后,相当于用 OLD 代表了 struct NODE 这一结构体 类型,故 OLD 为结构体类型。5.下面叙述不正确的是( )。(分数:2.00
20、)A.12AB34CD B.12ab34CDC.12ab34cdD.12AB34cd解析:ROUND( )函数在保留指定的小数位数时,要做四舍五入运算,保留小数点后两位,结果为12346,是一个数值型数据。LEN( )函数只能用来求字符串的长度,本题中 ROUND( )的函数值为数值型,函数类型不匹配,系统报错。6.设有如下关系表 (分数:2.00)A.T=RSB.T=RS C.T=RSD.T=R/S解析:从图中可以看出,关系 T 是关系 R 和关系 S 的简单合并,而合并的符号为,所以答案为 T=RS。7.结构化程序设计的基本原则不包括(分数:2.00)A.多态性 B.自顶向下C.模块化D.
21、逐步求精解析:结构化程序设计的原则包括:“自顶而下,逐步求精”的设计思想,“独立功能,单出、入口”的模块化设计等。多态性是面向对象程序语言的特征。8.下列程序的执行结果为( )。 # include iostreamh void main ( ) int a=3,b=0; int * p=a; b= +a+; cout * p “,“ b endl; (分数:2.00)A.选项卡B.文本框控件C.列表框或组合框控件 D.选项组控件解析:在 Visual Basic中,定义变量的关键字为 Dim、Static、Redim、Public 或 Private,它们在使用上是不同的,Dim 用于标准模
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 国家 二级 C94 答案 解析 DOC
