【计算机类职业资格】国家计算机二级(C++)82及答案解析.doc
《【计算机类职业资格】国家计算机二级(C++)82及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】国家计算机二级(C++)82及答案解析.doc(14页珍藏版)》请在麦多课文档分享上搜索。
1、国家计算机二级(C+)82 及答案解析(总分:460.00,做题时间:120 分钟)一、选择题(每小题 2 分,共 70 分) 下列各(总题数:35,分数:70.00)1.有如下 4 个语句: countAsetfill(x)leftsetw(7)Bendl; countsetfill(x)leftsetw(7)ABendl; countAsetfill(*)rightsetw(7)Bendl; countsetfill(x)rightsetw(7)ABendl; 其中能显示 A * * * * * * B 的是 (分数:2.00)A.和B.和C.和D.和2.有以下程序 void fun1(c
2、har *p) char *q; q=p; while(*q!= /0) (*q)+;q+; main() char a=“Program “,*p; p=fun1(p); printf(“%s/n“,a); 程序执行后的输出结果是_。 (分数:2.00)A.ProhsbnB.PrphsbnC.ProgsbnD.Program3.有以下程序 main() int y=10; while(y-);printf(“y=%d/n“,y); 程序执行后的输出结果是_。(分数:2.00)A.y=0B.y=-1C.y=1D.while4.关于函数重载,下列叙述中错误的是(分数:2.00)A.重载函数的函数
3、名必须相同B.重栽函数必须在参数个数或类型上有所不同C.重栽函数的返回值类型必须相同D.重栽函数的函数体可以有所不同5.有以下程序 main() int c=35;printf(“%d/n“,c 程序运行后的输出结果是_。 (分数:2.00)A.0B.70C.35D.16.以下哪个特征不是面向对象思想中的主要特征?(分数:2.00)A.只能读B.只能用来编辑C.可以读也可以编辑D.对编辑框设置无效7.下列程序是用来判断数组中特定元素的位置所在,则输出结果为( )。 #includeconioh #includeiostreamh int fun(in *s,int t,int *k) int
4、i; * k=0; for(i=0;i t;i+) if(s *k si) *k=i; return S *k; void main( ) int a10= 876,675,896,101,301,401,980,431,451,777 ,k; fun(a,10, float f=7;,则以下选项中错误的表达式是_。 (分数:2.00)A.k=k=kB.-k+C.k%int(f)D.k=f=m9.函数模板:template T add(T x,T y) return x+y; 下列对 add 函数的调用不正确的是( )。 (分数:2.00)A.Person(n,a);B.this(Person
5、(n,a) );C.this(n,a);D.this(name,age);10.关于虚函数下面说的正确的是(分数:2.00)A.若在重定义虚函数时使用了 virtual,则该重定义函数还是虚函数B.虚函数不能声明为友元C.子类必须重定义父类的虚函数D.虚函数不能是 static 的11.在一个派生类对象结束其生命周期时【 】(分数:2.00)A.先调用派生类的析构函数后调用基类的析构函数B.先调用基类的析构函数后调用派生类的析构函数C.如果基类没有定义析构函数,则只调用派生类的析构函数D.如果派生类没有定义析构函数,则只调用基类的析构函数12.C+语言中用于定义类的关键字是( )。(分数:2.
6、00)A.友元函数没有 this 指针B.调用友元函数时必须在它的实参中给出要访问的对象C.一个类的成员函数也可以作为另一个类的友元函数D.只能在类的公有段声明友元13.数据库 DB、数据库系统 DBS、数据库管理系统 DBMS 之间的关系是_。 (分数:2.00)A.DB 包含 DBS 和 DBMSB.DBMS 包含 DB 和 DBSC.DBS 包含 DB 和 DBMSD.没有任何关系14.有如下程序: #includeiostreamh long fib(int n) if(n 2) return(fib(n-1)+fib(n-2) ); else return(2); void main
7、( ) cout fib(3); 该程序的输出结果是( )。 (分数:2.00)A.数组是最简单的复合数据类型,是有限元素的有序集合B.数组的元素可以是值(基本数据类型)、对象或其他数组C.定义数组时,必须分配内存D.一个数组中的元素都必须是相同的类型15.若各选项中所有变量已正确定义,函数 fun 中通过 return 语句返回一个函数值,以下选 项中错误的程序是_。(分数:2.00)A.B.C.D.16.继承机制的作用是( )。(分数:2.00)A.a+1 表示的是字符 t 的地址B.p 指向另外的字符串时,字符串的长度不受限制C.p 变量中存放的地址值可以改变D.a 中只能存放 10 个
8、字符17.下列描述中错误的是( )。(分数:2.00)A.派生类可以作为基类派生其他的子类B.派生类继承基类的所有数据成员C.派生类可以有多个基类D.派生类不能继承一些函数成员18.下面的哪个选项不能作为函数的返回类型?(分数:2.00)A.voidB.intC.newD.long19.表示在输出时显示小数位,和在文件输入时判断文件尾的函数分别是( )。(分数:2.00)A.showbase( )和 eof( )B.showpoint( )和 eof( )C.showpoint( )和 bad( )D.showpoint( )和 good( )20.设有定义 int n1=0,n2,*p=,以
9、下赋值语句中与 n2=n1;语句等价的是_。 (分数:2.00)A.*p=*q;B.p=q;C.*p=D.p=*q;21.在结构化方法中,用数据流程图(DFD) 作为描述工具的软件开发阶段是【 】(分数:2.00)A.可行性分析B.需求分析C.详细设计D.程序编码22.决定 C+语言中函数的返回值类型的是( )。(分数:2.00)A.Call ff(5,7,z)B.Call ff(x,y,z)C.Call ff(3+x,5+y,z)D.Call ff(x+y,x-y,z)23.如果不使用多态机制,那么通过基类的指针虽然可以指向派生类对象,但是只能访问从基类继承的成员。有如下程序,没有使用多态机
10、制。 #include using namespace std; class Base int a,b; public: Base(int xint y)a=x;b=y; void show()coutD.926.有如下程序: #include using namespace std; class A public: static int a; void init()a=1;) A(int a=2)init();a+;) ); int A:a=0; A obj; int main() toutfunc1(); P-func2(); return 0; 运行此程序,屏幕上将显示输出【 】 (分数
11、:2.00)A.B1 B2B.A1 A2C.B1 A2D.A1 B232.在软件开发中,下面任务不属于设计阶段的是【 】(分数:2.00)A.数据结构设计B.给出系统模块结构C.定义模块算法D.定义需求并建立系统模型33.下面程序的输出结果是( )。 #includeiostream.h #includestring.h voidmain( ) charp110,p210; strcpy(p1,“abc“); strcpy(p2,“ABC“); charstr50=“xyz“; strcpy(str+2,strcat(p1,p2); coutstr; (分数:2.00)A.start( )B.
12、init( )C.paint( )D.draw( )34.执行语句序列 intn: cinn: switch(n) casel: case2:cout1: case 3: case4:cout2: break: delhult:cout3: 时,若键盘输入 1,则屏幕显示【 】(分数:2.00)A.1B.2C.3D.1235.有如下程序 #includeiostreamh void main( ) float x=20,y; if(x00)y=00; else if(x100)y=10/x; else y=10; cout y; 该程序的输出结果是( )。 (分数:2.00)A.8KB.16K
13、C.32KD.64K二、填空题(每空 2 分,共 30 分)(总题数:13,分数:390.00)36.以下程序运行后的输出结果是 1。 main2 int x=0210; printf(“%X/n“,x); (分数:30.00)填空项 1:_37.C+语言程序的注释可以出现在程序中的任何地方,一个注释以 1 作为开始和结束的标记。(分数:30.00)填空项 1:_38.内联函数是通过 1 来实现的,因此内联函数是真正的函数。(分数:30.00)填空项 1:_39.下列 for 语句的循环次数为 1。 for(int a=0,b=1;b main1 int x,y; scanf(“%d“, y=
14、sub(sub(sub(x); printf(“%d/n“,y); 若运行时输入 1234,程序的输出结果是 2。 (分数:30.00)填空项 1:_48.下面程序的运行结果是 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:_国家计算机二级(C+)82 答案解析(总分:460.00,做题时间:120 分钟)一、选择题(每小题 2
15、分,共 70 分) 下列各(总题数:35,分数:70.00)1.有如下 4 个语句: countAsetfill(x)leftsetw(7)Bendl; countsetfill(x)leftsetw(7)ABendl; countAsetfill(*)rightsetw(7)Bendl; countsetfill(x)rightsetw(7)ABendl; 其中能显示 A * * * * * * B 的是 (分数:2.00)A.和B.和C.和 D.和解析:setfill 设置填充字符为*;默认输出有效位是 6;setw(n)设置域宽,cout字符 endl。2.有以下程序 void fun1
16、(char *p) char *q; q=p; while(*q!= /0) (*q)+;q+; main() char a=“Program “,*p; p=fun1(p); printf(“%s/n“,a); 程序执行后的输出结果是_。 (分数:2.00)A.Prohsbn B.PrphsbnC.ProgsbnD.Program解析:此题考核的知识点是指向数组的指针作为函数的参数及指针的运算,如果形参数组中的元素发生变 化,实参也将发生相应变化。指针 p 指向数组的第三位地址(即字符“g”的地址),q=p 也就相当于指针 q 指向数组的第三位地址。表达式(*q)+,首先根据()的优先级得到
17、 a3的值“g”,再进行加 1 运算,所以 g 也就变成了 h;表达式 q+是将地址加 1,也就是指向下一个地址 a4。然后再执行 while()语句,直到遇 到/0结束循环,返回形参。3.有以下程序 main() int y=10; while(y-);printf(“y=%d/n“,y); 程序执行后的输出结果是_。(分数:2.00)A.y=0B.y=-1 C.y=1D.while解析:此题考核的是 while 条件语句及自减运算。当 while 的条件表达式成立时(非零),重复执行循环体, 但此题的 while 循环无循环体,则只要 while 的条件表达式成立,就不断执行 while
18、条件表达式,直到其条 件表达式不成立,程序就自动跳出 while 循环,直接执行 printf 语句。“y”表示先运用 y 的值,再进行 y 自减。本题一开始先判断 y 为 10 的值是否满足条件(同时 y 的值自减 1),显然 y=10 条件满足,则再次 执行 while 语句,判断 y 为 9 的值是否满足条件(同时 y 的值自减 1)直到判断 y 为 0 的值是否满足 条件(同时 y 的值自减 1,即 y=-1),此时条件为假,退出循环,执行 printf 语句,输出 y=-1。4.关于函数重载,下列叙述中错误的是(分数:2.00)A.重载函数的函数名必须相同B.重栽函数必须在参数个数或
19、类型上有所不同C.重栽函数的返回值类型必须相同 D.重栽函数的函数体可以有所不同解析:所谓函数重载是指同一个函数名可以对应着多个函数的实现。这些函数的函数名相同,返回值类型不一定相同,函数体可以有所不同。但一定要注意,重载函数的参数类型和参数个数一定要不同,即要么参数的类型不同,要么参数的个数不同,要么参数的类型和个数都不同。5.有以下程序 main() int c=35;printf(“%d/n“,c 程序运行后的输出结果是_。 (分数:2.00)A.0B.70C.35 D.1解析: 按位“与”时,1 float f=7;,则以下选项中错误的表达式是_。 (分数:2.00)A.k=k=kB.
20、-k+C.k%int(f) D.k=f=m解析:强制类型转换的一般形式为:(类型名)(表达式),而选项 C 中只给表达式加了括号,并没有给类型名也加上括号,所以选项 C 的表达式错误。9.函数模板:template T add(T x,T y) return x+y; 下列对 add 函数的调用不正确的是( )。 (分数:2.00)A.Person(n,a);B.this(Person(n,a) );C.this(n,a); D.this(name,age);解析:如果程序在运行的过程中抛出异常,而这个异常又不是 Runtime- Exception 或者 Error,那么程序必须捕获这个异常
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 国家 二级 C82 答案 解析 DOC
