【计算机类职业资格】计算机二级(C++)57及答案解析.doc
《【计算机类职业资格】计算机二级(C++)57及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】计算机二级(C++)57及答案解析.doc(21页珍藏版)》请在麦多课文档分享上搜索。
1、计算机二级(C+)57 及答案解析(总分:4230.00,做题时间:90 分钟)一、选择题(每小题 2分,共 70分) 下列各(总题数:60,分数:4200.00)1.下列叙述中正确的是_。 (分数:70.00)A.程序设计就是编制程序B.程序的测试必须由程序员自己去完成C.程序经调试改错后还应进行再测试D.程序经调试改错后不必进行再测试2.下列关于模板的说法正确的是( )。(分数:70.00)A.模板的实参在任何时候都可以省略B.类模板与模板类所指的是同一概念C.类模板的参数必须是虚拟类型的D.类模板中的成员函数全部都是模板函数3.对于重载的运算符 ,它是一个( )。(分数:70.00)A.
2、RELEASE MEMORYB.RELEASE ALL LIKEA*C.RELEASE MEMORY LIKE A*D.CLEAR MEMORY LIKE A*4.下面关于数组的描述错误的是( )。(分数:70.00)A.在 C+语言中数组的名字就是指向该数组第一个元素的指针B.长度为 n的数组,下标的范围是 0n-1C.数组的大小必须在编译时确定D.数组只能通过值参数和引用参数两种方式传递给函数5.下列有关内联函数的叙述中,正确的是_。(分数:70.00)A.内联函数在调用时发生控制转移B.内联函数必须通过关键字 inline 来定义C.内联函数是通过编译器来实现的D.内联函数体的最后一条语
3、句必须是 rennin 语句6.决定 C+语言中函数的返回值类型的是( )。(分数:70.00)A.return语句中的表达式类型B.调用该函数时系统随机产生的类型C.调用该函数时的主调用函数类型D.在定义该函数时所指定的数据类型7.下列描述中,抽象类的特性是( )。(分数:70.00)A.可以说明虚函数B.可以定义友元函数C.可以进行构造函数重载D.不能说明其对象8.下列运算符不能重载为友元函数的是【 】(分数:70.00)A.= ( ) -B.+ - +-C. = 1;i+) f*=i;D.f=1; for(i=n;i=2;i-) f*=i;23.以下能正确定义且赋初值的语句是_。 (分数
4、:70.00)A.int n1=n2=10;B.char c=32;C.float f=f+1.1;D.double x=12.3E2.5;24.设有程序段 int k=10; while(k=0)k=k-1; 则下面描述中正确的是( )。(分数:70.00)A.0B.1C.2D.525.假定 int类型变量占用两个字节,其有定义 int x l0= 0,2,4 ;,则数组 x在内存中所占字节数是( )。(分数:70.00)A.3B.6C.10D.2026.对长度为 n的线性表进行顺序查找,在最坏情况下所需要的比较次数为_。 (分数:70.00)A.log2nB.n/2C.nD.n+127.关
5、于友元的概念错误的是( )。(分数:70.00)A.友元函数没有 this指针B.调用友元函数时必须在它的实参中给出要访问的对象C.一个类的成员函数也可以作为另一个类的友元函数D.只能在类的公有段声明友元28.以下叙述中正确的是_。 (分数:70.00)A.预处理命令行必须位于 C 源程序的起始位置B.在 C 语言中,预处理命令行都以“#“开头C.每个 C 程序必须在开头包含预处理命令行:#includeD.C 语言的预处理不能实现宏定义和条件编译的功能29.拷贝构造函数的参数一般是( )。(分数:70.00)A.某对象名B.某对象成员名C.某对象的引用名D.指向对象的指针名30.以下叙述中错
6、误的是_。 (分数:70.00)A.C 语句必须以分号结束B.复合语句在语法上被看作一条语句C.空语句出现在任何位置都不会影响程序运行D.赋值表达式末尾加分号就构成赋值语句31.若有说明 int a34;,则 a数组元素的非法引用是( )。(分数:70.00)A.123B.2.5C.-12D.156332.设变量 a是 int型,f 是 double型,i 是 float型,则表达式 10 + a + i * f 值的数据类型是( )。(分数:70.00)A.intB.floatC.doubleD.不确定33.下列关于输入流类成员函数 getline( )的描述中,错误的是_。(分数:70.0
7、0)A.该函数是用来读取键盘输入的字符串的B.该函数读取的字符串长度是受限制的C.该函数读取字符串时,遇到终止符便停止D.该函数读取字符串时,可以包含空格34.下列运算符中,在 C+语言中不能重载的是( )。(分数:70.00)A.sleep( )B.yield( )C.interrupt( )D.stop( )35.下列叙述中正确的是【 】(分数:70.00)A.数据库系统是一个独立的系统,不需要操作系统的支持B.数据库设计是指设计数据库管理系统C.数据库技术的根本目标是要解决数据共享的问题D.数据库系统中,数据的物理结构必须与逻辑结构一致36.以下不正确的定义语句是( )。(分数:70.0
8、0)A.doublex5=20,40,60,80,100;B.inty5=0,1,3,5,7,9;C.charcl=1,2,3,4,5;D.charc2:/x1O,/xa,/x8;37.对于类定义 class A public: virtual void func1( ) void func2( ) ; class B:public A public: void func1( )cout“class B func 1“endl; virtual void func2( )cout“class B func2“endl; ; 下面正确的叙述是( )。 (分数:70.00)A.A:func2( )
9、和 B:func1( )都是虚函数B.A:func2( )和 B:func1( )都不是虚函数C.B:func1( )是虚函数,而 A:func2( )不是虚函数D.B:func1( )不是虚函数,而 A:func2( )是虚函数38.下列程序的输出结果是( )。 #include“ iostream“ using namespace std; int Max(int a,int b) if(a b) else return a; else retum b; void main( ) int m,n; m=10,n=5; int max=Max(m,n); cout max end1; (分数
10、:70.00)A.单项索引文件B.复合索引文件C.结构化复合索引文件D.非结构化复合索引文件39.有以下程序 main() union char ch2; int d; s; s.d=0x4321; printf(“%x,%x/n“,s.ch0,s.ch1); 在 16位编译系统上,程序执行后的输出结果是_。 (分数:70.00)A.21,43B.43,21C.43,00D.21,0040.有以下程序: point(char *p)p+=3; main() char b4=a,b,c,d,*p=b; point(p);printf(“%c/n“,*p); 程序运行后的输出结果是_。 (分数:7
11、0.00)A.aB.bC.cD.d41.下列关于虚基类的描述,错误的是( )。(分数:70.00)A.SELECT * FROM订购单 WHERE供应商号 NULLB.SELECT * FROM订购单 WHERE供应商号=NULLC.SELECT * FROM订购单 WHERE供应商号 IS NULLD.SELECT * FROM订购单 WHERE供应商号 IS NOT NULL42.执行语句 for(i=1;i+ 4;);,后变量 i的值是(分数:70.00)A.3B.4C.5D.不定43.有以下程序 int f1(int x,int y)return xy?x:y; int f2(int
12、x,int y)return xy?y:x; main() int a=4,b=3,c=5,d=2,e,f,g; e=f2(f1(a,b),f1(c,d); f=f1(f2(a,b),f2(c,d); g=a+b+c+d-e-f; printf(“%d,%d,%d/n“,e,f,g); 程序运行后的输出结果是_。 (分数:70.00)A.4,3,7B.3,4,7C.5,2,7D.2,5,744.下列程序的输出结果是( )。 #includeiostreamh class Myclass public:Myclass(int i=0,intj=0) x=i; y=j; void show( )
13、cout “x=“ x “ “ “y=“ y end1; void show( )const cout “x=“ “ “ “y= y end1; privated: int x; int y; ; void main( ) Myclass my1(3,4); const my2(7,8); my1show( );my2show( ); (分数:70.00)A.x=4,y=3;x=7,y=8B.x=3,y=4;x=7,y=8C.x=7,y=8;x=4,y=3D.x=8,y=7;x=7,y=845.下列有关内联函数的叙述中,正确的是【 】(分数:70.00)A.内联函数在调用时发生控制转移B.内联
14、函数必须通过关键字 inline来定义C.内联函数是通过编译器来实现的D.内联函数函数体的最后一条语句必须是 return语句46.下面程序输出的结果是( )。 #includeiostream.h voidmain( ) inti; inta33:1,2,3,4,5,6,7,8,9; for(i=0;iA.定义了一个名为 a的一维数组B.a数组有 3个元素C.a数组的元素的下标为 1-3D.数组中的每一个元素都是整型47.若有说明语句 char a =“It is mine“; char *p=“It is mine“; 则以下不正确的叙述是( )。 (分数:70.00)A.continue
15、语句用于循环体中,结束循环B.continue语句用于循环体中,它使执行流跳出循环体中尚未执行的语句,并进行下一循环判断C.continue可以用于 if语句中D.continue语句不能代替 break语句48.关于 continue语句叙述不正确的是( )。(分数:70.00)A.continue语句用于循环体中,结束循环B.continue语句用于循环体中,它使执行流跳出循环体中尚未执行的语句,并进行下一循环判断C.continue可以用于 if语句中D.continue语句不能代替 break语句49.有以下程序: main() int a10=1,2,3,4,5,6,7,8,9,10
16、,*p= printf(“%d/n“,*p+*q); 程序运行后的输出结果是_。 (分数:70.00)A.16B.10C.8D.650.有以下程序: #include main() FILE *fp; int i,k,n; fp=fopen(“data.dat“,“w+“); for(i=1;iA.0 0B.123 45C.1 4D.1 251.下列语句不能够用于打开 C根目录下文件 testtxt 的语句是( )。(分数:70.00)A.3B.6C.10D.2052.下面叙述不正确的是( )。(分数:70.00)A.12AB34CDB.12ab34CDC.12ab34cdD.12AB34cd
17、53.在 C+语言中,数据封装要解决的问题是( )。(分数:70.00)A.start( ),stop( )和 run( )B.actionPerformed( )C.run( )D.init( )54.判断字符型变量 ch是否为大写英文字母,应使用表达式【 】(分数:70.00)A.chA scanf(“%f%f%f“, if(= 2)printf(“YES/n“); /*a、b、c 能构成三角形*/ else printf(“NO/n“); /*a、b、c 不能构成三角形*/ (分数:1.50)填空项 1:_64.算法复杂度主要包括时间复杂度和 1 复杂度。(分数:1.50)填空项 1:_
18、65. 1是 C+语言程序的入口。(分数:1.50)填空项 1:_66.数据结构分为线性结构和非线性结构,带链的队列属于 1 。(分数:1.50)67.语句 cout /n还可表示为 1。(分数:1.50)填空项 1:_68.若已知 a=10,b=20,则表达式 l a b 的值为 1。(分数:1.50)填空项 1:_69.已知递归函数 f的定义如下 int f(int n) if(n B.+ - +-C. = ,赋值运算符,( )和 是不能够重载为友元函数的运算符。对双目运算符,友元函数有两个参数;对单目运算符,友元函数有一个参数。9.有以下程序: main() int p8=11,12,1
19、3,14,15,16,17,18,i=0,j=0; while(i+A.42B.45 C.56D.60解析:本程序的作用是求除 p0外的其他奇数的和。10.若有语句 char *line5;,以下叙述中正确的是_。 (分数:70.00)A.定义 line 是一个数组,每个数组元素是一个基类型为 char 的指针变量 B.定义 line 是一个指针变量,该变量可以指向一个长度为 5 的字符型数组C.定义 line 是一个指针数组,语句中的*号称为间址运算符D.定义 line 是一个指向字符型函数的指针解析:由于运算符 优先级比*高,所以“char *line5;”相当于“char * (line
20、5);”,表示 line 是一 个数组,每个数组元素是一个基类型为 char 的指针变量。11.在结构化方法中,用数据流程图(DFD) 作为描述工具的软件开发阶段是【 】(分数:70.00)A.可行性分析B.需求分析 C.详细设计D.程序编码解析:结构化分析方法是结构化程序设计理论在软件需求分析阶段的运用。而结构化分析就是使用数据流图(DFD) 、数据字典(DD) 、结构化英语、判定表和判定树等工具,来建立一种新的、称为结构化规格说明的目标文档。所以数据流程图是在需求分析阶段使用的。12.下列哪个是 C+语言的有效标识符?(分数:70.00)A._Nol B.No1C.12345D.int解析
21、:标识符是一个以字母或下划线开始的,由字母、下划线和数字组成的字符串,标识符不能与任意关键字同名。13.下面程序的结果为( )。 #includeiostream.h intC; classA private: inta; staticintb; public: A( )a=0;c=0; voidseta( )a+; voidsetb( )b+; voidsetc( )c+; voiddisplay( )couta“b“c; ; intA:b=0; voidmain( ) Aa1,a2; a1.seta( ); a1.setb( );a1.setc( ); a2.seta( ); a2,set
22、b( ); a2.setc( ); a2.display( ); (分数:70.00)A.2 3 4 3 4 5 B.1 2 3 3 4 5C.1 2 3 2 4 6D.2 3 4 4 5 6解析:a 数组的元素的下标应为 0-2,注意数组的下标从零开始。14.下面程序的运行结果是( )。 #includeiostreamh class base protected: int a; public: base( )cout“0“; ; class basel:virtual base public: basel( )cout“1“; ; class base2:virtual base publ
23、ic: base2( )cout“2“; ; class derived:public basel,public base2 public: derived( )cout“3“; ; void main( ) derived obj; coutendl; (分数:70.00)A.5B.3C.2 D.0解析:本题考查三目运算符“?:”。三目运算符的表达式为(表达式 1)?(表达式 2):(表达式 3),运算过程是当(表达式 1)的值为真时,求(表达式 2)的值为整个表达式的值;如果(表达式 1)的值为假,则求(表达式 3)的值为整个表达式的值。题中,表达式 x12 的结果为假,所以执行的语句是
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 C57 答案 解析 DOC
