【计算机类职业资格】国家计算机二级(C++)95及答案解析.doc
《【计算机类职业资格】国家计算机二级(C++)95及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】国家计算机二级(C++)95及答案解析.doc(13页珍藏版)》请在麦多课文档分享上搜索。
1、国家计算机二级(C+)95 及答案解析(总分:460.00,做题时间:120 分钟)一、选择题(每小题 2 分,共 70 分) 下列各(总题数:35,分数:70.00)1.有以下程序 main() union char ch2; int d; s; s.d=0x4321; printf(“%x,%x/n“,s.ch0,s.ch1); 在 16 位编译系统上,程序执行后的输出结果是_。 (分数:2.00)A.21,43B.43,21C.43,00D.21,002.有如下程序 #include #include using namespace std; int main() countPrint(
2、); delete ptr; return 0; ) 程序的输出结果是 (分数:2.00)A.IBB.iDC.2BD.2D4.对表达式 for(表达式 1;表达式 3)可理解为( )。(分数:2.00)A.for(表达式 1;0;表达式 3)B.for(表达式 1;1;表达式 3)C.for(表达式 1;表达式 3;)D.for(;表达式 3)5.有以下类定义 classPoint public: Point(int x0,int y0)_xx;_yy; void Move (int xOff,int yOff _x xOff;_yyOff void Print() const cout(_x
3、,_y)endl; private: int_x_y; ; 下列语句中会发生编译错误的是【 】 (分数:2.00)A.Pointpt;pt;Print();B.const Point pt;pt.Print();C.Pointpt;pt.Move(1,2);D.const Point pt;pt.Move(1,2);6.下列描述正确的是( )。(分数:2.00)A.表示 m n 为 true 或 m n 为 true 的表达式为 m n m nB.switch 语句结构中必须有 default 语句C.if 语句结构中必须有 else 语句D.如果至少有一个操作数为 true,则包含“”运算符
4、的表达式为 true7.下列语句不能够用于打开 C 根目录下文件 testtxt 的语句是( )。(分数:2.00)A.3B.6C.10D.208.有以下程序: #include main() FILE *fp; int i,k,n; fp=fopen(“data.dat“,“w+“); for(i=1;iA.0 0B.123 45C.1 4D.1 29.设有数组定义:chararray:“China“;,则数组 array 所占的空间为( )。(分数:2.00)A.4 个字节B.5 个字节C.6 个字节D.7 个字节10.下列符号中能够作为 C+标识符的是(分数:2.00)A.constB.
5、2aC.-shapeD.-count11.表示在输出时显示小数位,和在文件输入时判断文件尾的函数分别是( )。(分数:2.00)A.6B.7C.8D.912. 下列选项中不符合良好程序设计风格的是【 】(分数:2.00)A.源程序要文档化B.数据说明的次序要规范化C.避免滥用 goto 语句D.模块设计要保证高耦合、高内聚13.以下函数调用语句中含有参数的个数是( )。 excc(v1,v2),(v2,v3,v4),v6); (分数:2.00)A.3B.4C.5D.614.关于静态数据成员的描述中正确的是( )。(分数:2.00)A.“=a+b+c/3”B.“(a+b+c)/3”C.“=(a+
6、b+c)/3”D.以上表达式均错15.下面程序的运行结果是( )。 #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.116.数据库设计的四个阶段是:需求分析、概念设计、逻辑设计和【 】(分数:2.00)A.编码设计B.测试阶段C.运行阶段D.物理设计17.对于一个类定义,下列叙述中错误的是(分数:2.00)
7、A.如果没有定义拷贝构造函数,编译器将生成一个拷贝构造函数B.如果没有定义缺省的构造函数,编译器将一定生成一个缺省的构造函数C.如果没有定义构造函数,编译器将生成一个缺省的构造函数和一个拷贝构造函数D.如果已经定义了构造函数和拷贝构造函数,编译器不会生成任何构造函数18.函数 fun 的返回值是( )。 fun(char*a,char*b) intnum=0,n=0; while(*(a+num)!=/0)num+; while(bn)*(a+num)=bn;num+;n+; returnnum; (分数:2.00)A.字符串 a 的长度B.字符串 b 的长度C.字符串 a 和 b 的长度之差
8、D.字符串 a 和 b 的长度之和19.下列程序的输出结果是( )。 # 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.15B.25C.35D.4520.设有如下关系表 (分数:2.00)A.T=RSB.T=RSC.T=RSD.T=R/S21.软件调试的目的是(分数:2.00)A.发现错误B.改正错误C.改善软件的性能D.验证软件的正确性22.在深度为 7 的满二叉树中,叶子结点
9、的个数为_。 (分数:2.00)A.32B.31C.64D.6323.数据库设计的根本目标是要解决_。 (分数:2.00)A.数据共享问题B.数据安全问题C.大量数据存储问题D.简化数据维护24.以下哪个不是 C+语言中的有效标识符?(分数:2.00)A.34aB._ABC.A_BD.A2525.下列运算符中,不能被重载的是(分数:2.00)A. ; void main( ) A a,b3,* c; C=b; cout i endl; (分数:2.00)A.该宏组由 macro1 和 macro2 两个宏组成B.宏 macor1 由两个操作步骤(打开窗体、关闭窗体)组成C.宏 macro1 中
10、 OpenForm 命令打开的是教师自然情况窗体D.宏 macro2 中 Close 命令关闭了教师自然情况和教师工资两个窗体28.以下程序的功能是进行位运算: main() unsigned char a,b; a=73; b=4 printf(“%d %d/n“,a,b); 程序运行后的输出结果是_。 (分数:2.00)A.4 3B.7 3C.7 0D.4 029.在语句 cindata;中,cin 是(分数:2.00)A.C+的关键字B.类名C.对象名D.函数名30.下列叙述中正确的是(分数:2.00)A.程序执行的效率与数据的存储结构密切相关B.程序执行的效率只取决于程序的控制结构C.
11、程序执行的效率只取决于所处理的数据量D.以上三种说法都不对31.表示在输出时显示小数位,和在文件输入时判断文件尾的函数分别是( )。(分数:2.00)A.showbase( )和 eof( )B.showpoint( )和 eof( )C.showpoint( )和 bad( )D.showpoint( )和 good( )32.有如下定义: int a51,3,5,7,9, * p=a;下列表达式中不能得到数值 5 的是(分数:2.00)A.a2B.a3C.*(p+2)D.*p+433.有如下程序: #include“iostreamh“ void main( ) int x=1,a=0,b
12、=0; switch(x) case 0:b+; case 1:a+; case 2:a+;b+; cout “a=“ a “,“ “b=“ b; 该程序的输出结果是( )。 (分数:2.00)A.a=2,b=1B.a=1,b=1C.a=1,b=0D.a=2,b=234.下面程序的运行结果为( )。 #includeiostreamh void main( ) char a=,3; switch(a) case3:cout “3“; case2:cout “2“;break; default:cout “1“; (分数:2.00)A.switch(a+b);B.switch(a+b*3.0)C
13、.switch aD.switch(ab)35.下列有关继承和派生的叙述中,正确的是_。(分数:2.00)A.如果一个派生类私有继承其基类,则该派生类对象不能访问基类的保护成员B.派生类的成员函数可以访问基类的所有成员C.基类对象可以赋值给派生类对象D.如果派生类没有实现基类的一个纯虚函数,则该派生类是一个抽象类二、填空题(每空 2 分,共 30 分)(总题数:13,分数:390.00)36.C+程序是从 1 函数开始执行的。(分数:30.00)填空项 1:_37.下面程序的输出结果是 1。 #includeiostream.h void main2 int a6=1,2,3,4,5,6; f
14、or(int i=0;i填空项 1:_38.语句 cout /n还可表示为 1。(分数:30.00)填空项 1:_39. 1 是 C+语言程序的入口。(分数:30.00)填空项 1:_40.表达式 xoperator+(yoperator+(0)还可以写成 1。(分数:30.00)填空项 1:_41.以下程序的结果为 1。 #include”iostreamh” templatetypename T T total(T * data) T s=0; while( * data) s+= * data +; return s; int main2 int x = 2,4,6,8,0,12,14,
15、16,18 ; cout total(x); return 0; cout end1; (分数:30.00)填空项 1:_42.指针数组是由 1 构成的数组。 (分数:30.00)填空项 1:_43.下面程序的运行结果是 1 和 2。 #includeiostreamh #define N 10 #define s(x)x * x #define f(x)(x * x) void main3 int i1,i2; i1=1000/s(N);i2=1000/f(N); cout i1 “ “ i2; (分数:30.00)填空项 1:_44.要采用“cin,tout”进行输入输出时,必须包含的头文
16、件是 1。(分数:30.00)填空项 1:_45.以下程序的输出结果是 1。 #includeiostreamh unsignedfun(unsignednum) unsignedk=1; do k * =num%10;num/=10;while(num); returnk; voidmain( ) unsignedn=26; coutfun(n)endl; (分数:30.00)填空项 1:_46.下列程序的输出结果是 1 #includeiostream using namespace std; templatetypenameT Tfun(Ta,TB) return (aB) ?a:b;
17、int main 2 coutfun(3,6),fun(3.14F,6.28F)end1; return 0; (分数:30.00)填空项 1:_47.开发一个 C+语言程序的步骤通常包括编辑、 1、链接、运行和调试。(分数:30.00)填空项 1:_48.以下程序的输出结果是 1。 #includeiostreamh void main2 int a=0; a+ =(a=8); cout a; (分数:30.00)填空项 1:_国家计算机二级(C+)95 答案解析(总分:460.00,做题时间:120 分钟)一、选择题(每小题 2 分,共 70 分) 下列各(总题数:35,分数:70.00)
18、1.有以下程序 main() union char ch2; int d; s; s.d=0x4321; printf(“%x,%x/n“,s.ch0,s.ch1); 在 16 位编译系统上,程序执行后的输出结果是_。 (分数:2.00)A.21,43 B.43,21C.43,00D.21,00解析:此题考核的是共用体的特征。int 类型变量和字符数组 ch 共用两个字节的相同的存储单元,通常 ch0位于低字节,ch1位于高字节,所以 s.ch0=21,s.ch1=43。2.有如下程序 #include #include using namespace std; int main() coun
19、tPrint(); delete ptr; return 0; ) 程序的输出结果是 (分数:2.00)A.IBB.iD C.2BD.2D解析:派生类的构造函数首先要调用基类的构造函数,对基类成员初始化,然后对派生类中新增的成员初始化。 4.对表达式 for(表达式 1;表达式 3)可理解为( )。(分数:2.00)A.for(表达式 1;0;表达式 3)B.for(表达式 1;1;表达式 3) C.for(表达式 1;表达式 3;)D.for(;表达式 3)解析:本题中,若要保证 for 表达式能正常进行,首先要保证第 2 个表达式的条件判断值应该为真,从而保证循环进行。5.有以下类定义 c
20、lassPoint public: Point(int x0,int y0)_xx;_yy; void Move (int xOff,int yOff _x xOff;_yyOff void Print() const cout(_x,_y)endl; private: int_x_y; ; 下列语句中会发生编译错误的是【 】 (分数:2.00)A.Pointpt;pt;Print();B.const Point pt;pt.Print();C.Pointpt;pt.Move(1,2);D.const Point pt;pt.Move(1,2); 解析:本题考核常对象、常数据成员与常成员函数。
21、如果将一个对象说明为常对象,则通过该常对象只能调用它的常成员函数,不能调用其他的成员函数,D 选项中对象 pt 为常对象,而成员函数 Move()不是常成员函数,所以这样调用会发生编译错误。6.下列描述正确的是( )。(分数:2.00)A.表示 m n 为 true 或 m n 为 true 的表达式为 m n m nB.switch 语句结构中必须有 default 语句C.if 语句结构中必须有 else 语句D.如果至少有一个操作数为 true,则包含“”运算符的表达式为 true 解析:本题主要考查 C+语言的基本语法,选项 A)中应该为 mn|mn;选项 B)中 default 语句
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 国家 二级 C95 答案 解析 DOC
