欢迎来到麦多课文档分享! | 帮助中心 海量文档,免费浏览,给你所需,享你所想!
麦多课文档分享
全部分类
  • 标准规范>
  • 教学课件>
  • 考试资料>
  • 办公文档>
  • 学术论文>
  • 行业资料>
  • 易语言源码>
  • ImageVerifierCode 换一换
    首页 麦多课文档分享 > 资源分类 > DOC文档下载
    分享到微信 分享到微博 分享到QQ空间

    【计算机类职业资格】计算机二级(C++)62及答案解析.doc

    • 资源ID:1337820       资源大小:129.50KB        全文页数:22页
    • 资源格式: DOC        下载积分:5000积分
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    二维码
    微信扫一扫登录
    下载资源需要5000积分(如需开发票,请勿充值!)
    邮箱/手机:
    温馨提示:
    如需开发票,请勿充值!快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如需开发票,请勿充值!如填写123,账号就是123,密码也是123。
    支付方式: 支付宝扫码支付    微信扫码支付   
    验证码:   换一换

    加入VIP,交流精品资源
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    【计算机类职业资格】计算机二级(C++)62及答案解析.doc

    1、计算机二级(C+)62 及答案解析(总分:4230.00,做题时间:90 分钟)一、选择题(每小题 2 分,共 70 分) 下列各(总题数:60,分数:4200.00)1.下列程序的输出结果为( )。 # include iostreamh void main( ) char * a =“hello“,“the“,“world“; char * * pa=a; pa +; cout * pa endl; (分数:70.00)A.helloB.theC.worldD.hellotheworld2.下列选项中不属于软件生命周期开发阶段任务的是_。(分数:70.00)A.软件测试B.概要设计C.软件

    2、维护D.详细设计3.若有说明语句 char a =“It is mine“; char *p=“It is mine“; 则以下不正确的叙述是( )。 (分数:70.00)A.continue 语句用于循环体中,结束循环B.continue 语句用于循环体中,它使执行流跳出循环体中尚未执行的语句,并进行下一循环判断C.continue 可以用于 if 语句中D.continue 语句不能代替 break 语句4.下列关于函数模板实参不能省略的情况说明不正确的是( )。(分数:70.00)A.从模板函数实参表获得的信息有矛盾B.需要获得特定类型的返回值,而不管参数的类型如何C.虚拟类型参数没有出

    3、现在模板函数的形参表中D.函数模板不含有常规形参5.假定 int 类型变量占用两个字节,其有定义 int x l0= 0,2,4 ;,则数组 x 在内存中所占字节数是( )。(分数:70.00)A.finfail( );B.finbad( );C.fingood( );D.fineof( );6.数据库系统的核心是_。 (分数:70.00)A.数据模型B.数据库管理系统C.数据库D.数据库管理员7.有以下程序 #includeiostream using namespace std; class MyClass public: MyClass(intn) numbern; /拷贝构造函数 My

    4、Class (MyClassb+; return(*a-*b); 该函数的功能是_。(分数:70.00)A.计算 a 和 b 所指字符串的长度之差B.将 b 所指字符串连接到 a 所指字符串中C.将 b 所指字符串连接到 a 所指字符串后面D.比较 a 和 b 所指字符串的大小20.C+语言中标点符号中表示一条预处理命令开始的是( )。(分数:70.00)A.#B.;C.21.有如下程序: #include“iostreamh“ void main( ) int x=1,a=0,b=0; switch(x) case 0:b+; case 1:a+; case 2:a+;b+; cout “a

    5、=“ a “,“ “b=“ b; 该程序的输出结果是( )。 (分数:70.00)A.a=2,b=1B.a=1,b=1C.a=1,b=0D.a=2,b=222.以下程序的输出结果是( )。 #includeiostream.h voidmain( ) intx=1,y=3; coutX+“,“; intx=0;X+=y*2; coutx“,“y“,“; coutx“,“y; (分数:70.00)A.1,6,3,1,3B.1,6,3,6,3C.1,6,3,2,3D.1,7,3,2,323.下列程序的运行结果为( )。 # include iostreamh int i=0; classA pub

    6、lic: A( ) i + + ; ; void main( ) A a,b3,* c; C=b; cout i endl; (分数:70.00)A.2B.3C.4D.524.this 指针是 C+语言实现什么的一种机制?(分数:70.00)A.抽象B.封装C.继承D.重载25.下列选项,不正确的是( )。(分数:70.00)A.i*m+jB.j*m+iC.i*m+j-1D.i*m+j+126.关于 continue 语句叙述不正确的是( )。(分数:70.00)A.continue 语句用于循环体中,结束循环B.continue 语句用于循环体中,它使执行流跳出循环体中尚未执行的语句,并进行

    7、下一循环判断C.continue 可以用于 if 语句中D.continue 语句不能代替 break 语句27.下面程序的运行结果是( )。 # include iostreamh void fun(int * a,int * b) int x= * a; * a= * b; * b=X; cout * a * b“ “ ; void main( ) int x=1, y=2; fun ( x, y); cout yB.pt-xC.+pt-xD.(pt+)-x44.下列关于模板的说法正确的是( )。(分数:70.00)A.模板的实参在任何时候都可以省略B.类模板与模板类所指的是同一概念C.类

    8、模板的参数必须是虚拟类型的D.类模板中的成员函数全部都是模板函数45.对以下说明语句的正确理解是( )。 inta10=6,7,8,9,10; (分数:70.00)A.公有类型B.私有类型C.保护类型D.友元类型46.if 语句的语法格式可描述为 格式 1:if() 或 格式 2:if()else 关于上面的语法格式,下列表述中错误的是【 】 (分数:70.00)A.部分可以是一个 if 语句,例如 if(if(a=0)B.部分可以是一个 if 语句,例如 if()if()C.如果在前加上逻辑非运算符!并交换和的位置,语句功能不变D.部分可以是一个循环语句,例如 if()while()47.下

    9、面程序的结果为( )。 #include“ iostreamh“ void change(int a,int b) int temp; temp=a; a=b; b=temp; void main( ) int m,n; m=8; n=9; change(m,n); tout m “ “ n end1; (分数:70.00)A.8 9B.9 8C.程序有错误D.9 948.有以下程序 #includeiostream using namespace std; class Complex public: Complex(double r=O,double i0):re(r),im(i) doub

    10、le real() const return re; double imag()const return im; Complex operator (Complex C) const return Complex (rec.re,imc.im); private: double re,im; ; int main() Complex a=Complex(1,1)Complex (5); couta.real()a.imag()iendl; retum 0; 程序执行后的输出结果是【 】 (分数:70.00)A.66iB.61iC.16iD.11i49.有如下说明 int a10=l,2,3,4

    11、,5,6,7,8,9,10,*p=a;则数值为 9 的表达式是【 】(分数:70.00)A.*p+9B.*(p+8)C.*p+=9D.p+850.在位运算中,操作数每右移一位,其结果相当于( )。(分数:70.00)A.操作数乘以 2B.操作数除以 2C.操作数乘以 4D.操作数除以 451.以下不正确的定义语句是( )。(分数:70.00)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;52.if 语句的语法格式可描述为 格式 1:if() 或 格式 2:if()e

    12、lse 关于上面的语法格式,下列表述中错误的是(分数:70.00)A.部分可以是一个 if 语句,例如 if(if(a =0)?)B.部分可以是一个 if 语句,例如 if(?)if(?)C.如果在前加上逻辑非运算符!并交换和的位置,语句功能不变D.部分可以是一个循环语句,例如 if(?)while(?)?53.下列程序的输出结果为( )。 # include iostreamh int func(int n) if (n1)return 1; else return n + func (n-1); return 0; void main( ) cout func (5) endl; (分数:

    13、70.00)A.VariantB.ByteC.BooleanD.Integer54.算法具有五个特性,以下选项中不属于算法特性的是_。 (分数:70.00)A.有穷性B.简洁性C.可行性D.确定性55.在 C+语言中,不合法的实型数据的是( )。(分数:70.00)A.数值型数据B.字符型数据C.逻辑型数据D.以上数据类型都可以56.有如下程序 #include using namespace std; int i=1; class Fun public: static int i; int value()return i-1; int value()constreturn i+1; ; in

    14、t Fun:i=2; int main() int i=3; Fun fun1; const Fun fun2; return 0; 若程序的输出结果是: 123. 则程序中下划线处遗漏的语句是【 】 (分数:70.00)A.coutc,a+cb,b+ca。请填空。 main1 float a,b,c; scanf(“%f%f%f“, if(= 2)printf(“YES/n“); /*a、b、c 能构成三角形*/ else printf(“NO/n“); /*a、b、c 不能构成三角形*/ (分数:1.50)填空项 1:_66.以下程序的输出结果是 1。 #includeiostreamh

    15、voidfun( ) staticinta=0; a+=2; couta“; voidmain( ) intcc; for(cc=1;cc4;cc+) fun( ); coutendl; (分数:1.50)填空项 1:_67.下面程序的运行结果为 1。 # include iostreamh void fun(int x=0,int y=0) cout X y; void main( ) fun(5); (分数:1.50)填空项 1:_68.在 C+语言中,访问一个对象的成员所用的运算符是 1,访问一个指针所指向的对象的成员所用的运算符是 2。(分数:1.50)填空项 1:_69.假定 A 为

    16、一个类,则语句 A(A main1 int x,y; scanf(“%d“, y=sub(sub(sub(x); printf(“%d/n“,y); 若运行时输入 1234,程序的输出结果是 2。 (分数:1.50)填空项 1:_71.如果不能使用多态机制,那么通过基类的指针虽然可以指向派生类对象,但是只能访问从基数继承的成员,下列程序没有使用多态机制,其输出结果是 1。 #include using namespace std; class Base public: Void print2coutprint5; pd-print6; delete pd; return 0; (分数:1.50

    17、)72.在 C+语言的结构化程序设计中, 1 是程序的基本组成单元;在 C+语言的面向对象设计框架中, 2是程序的基本组成单元。(分数:1.50)填空项 1:_73.函数重载要求重载的函数必须有和原函数一样的 1。(分数:1.50)填空项 1:_74.如果类中的一个成员函数的定义实现在类内,则该函数系统自动默认为该类的 1 函数。(分数:1.50)填空项 1:_75.在 MyClass 类的定义中,对赋值运算符=进行重载。请将画线处缺失的部分补充完整。 1MyClass:operator=(const MyClass rhs) if(this= value=rhs. value; return

    18、*this; (分数:1.50)76. 1 的任务是诊断和改正程序中的错误。(分数:1.50)77.从实现的角度划分,C所支持的两种多态性分别是 1 时的多态性和运行时的多态性。(分数:1.50)填空项 1:_78.以下程序的输出结果是 1。 #includeiostreamh voidfun( ) staticinta=0; a+=2; couta“; voidmain( ) intcc; for(cc=1;cc4;cc+) fun( ); coutendl; (分数:1.50)填空项 1:_79.已知下列程序的输出结果是 42,请将画线处缺失的部分补充完整。 #include using

    19、namespace std; claSS Foo int value; void setValue(int value) 1=value;给 Foo 的数据成员 value赋值 void print2coutyB.pt-xC.+pt-x D.(pt+)-x解析:此题主要考核的是结构体类型的指针。题目中定义了一个 st 结构体类型,然后定义了 st 型的结构体 指针变量*pt 及结构体数组 c,并对结构体数组进行了初始化,且将结构体指针变量 pt 指向了数组 c,则 pt-x 的值为 10,则+pt-x 的值为 11(注:“-”运算符的优先级高于“+”),故选项 C 正确。44.下列关于模板的说

    20、法正确的是( )。(分数:70.00)A.模板的实参在任何时候都可以省略B.类模板与模板类所指的是同一概念C.类模板的参数必须是虚拟类型的D.类模板中的成员函数全部都是模板函数 解析:在 C+中规定如果一个类被声明为类模板,那么其中的所有成员函数就都成为了模板函数。45.对以下说明语句的正确理解是( )。 inta10=6,7,8,9,10; (分数:70.00)A.公有类型B.私有类型C.保护类型D.友元类型 解析:对话框的主要特点是:不必有最大化按钮和最小化按钮,对话框中通常设置有退出按钮,用于退出对话框。Visual Basic 有两类对话框:一类是对话框关闭之前,不能执行其他操作,称之

    21、为“模式”对话框;另一类是对话框关闭之前,能够继续执行其他操作,称之为“无模式”对话框。46.if 语句的语法格式可描述为 格式 1:if() 或 格式 2:if()else 关于上面的语法格式,下列表述中错误的是【 】 (分数:70.00)A.部分可以是一个 if 语句,例如 if(if(a=0) B.部分可以是一个 if 语句,例如 if()if()C.如果在前加上逻辑非运算符!并交换和的位置,语句功能不变D.部分可以是一个循环语句,例如 if()while()解析:if 语句又称为条件语句,它是程序设计语言中最常见的一种选择语句。 基本 if 语句:基本 if语句的功能是根据给定条件是否

    22、成立来决定要不要执行一条语句或语句块,它的语法格式如下:if(),其中,if 为关键字;通常是一个表达式且必须用圆括号括起来;称为 if 子句,它可以是任何类型的语句(包括复合语句和空语句)。 ifelse 语句:ifelse 语句是基本 if 语句的扩展,其功能是根据给定条件是否成立来决定执行两部分语句中的哪一部分,其语法格式如下:if()else 其中,if 和 else 为关键字;称为 if 子句,称为 else 子句,它们可以是单条语句或复合语句。47.下面程序的结果为( )。 #include“ iostreamh“ void change(int a,int b) int temp

    23、; temp=a; a=b; b=temp; void main( ) int m,n; m=8; n=9; change(m,n); tout m “ “ n end1; (分数:70.00)A.8 9 B.9 8C.程序有错误D.9 9解析:本题考查交换两整数的方法。两数只在函数 change 内被使用,函数调用完后该内存被释放,因此没有交换两数。48.有以下程序 #includeiostream using namespace std; class Complex public: Complex(double r=O,double i0):re(r),im(i) double real(

    24、) const return re; double imag()const return im; Complex operator (Complex C) const return Complex (rec.re,imc.im); private: double re,im; ; int main() Complex a=Complex(1,1)Complex (5); couta.real()a.imag()iendl; retum 0; 程序执行后的输出结果是【 】 (分数:70.00)A.66iB.61i C.16iD.11i解析:本题考核类与对象、运算符重载。运算符“在类 Comple

    25、x 中作为成员函数重载,实现两个对象的数据成员的相加。所以 main 函数中语句“Complex aComplex(1,1)Complex(5);“的作用相当于“Complex a(15,1);“即对象 a 的数据成员 re 的值为 6,imag 的值为 1,所以输出为 61i。49.有如下说明 int a10=l,2,3,4,5,6,7,8,9,10,*p=a;则数值为 9 的表达式是【 】(分数:70.00)A.*p+9B.*(p+8) C.*p+=9D.p+8解析:p 为指向 a 数组的一个指针,冰 p 对应于数组元素 aO。(p+8)表示一维数组 a8的地址,而*(p+8)表示一维数组

    26、 a8的值,即 9。50.在位运算中,操作数每右移一位,其结果相当于( )。(分数:70.00)A.操作数乘以 2B.操作数除以 2 C.操作数乘以 4D.操作数除以 4解析:右移运算符“”是双目运算符。其功能是把“”左边的运算数的各二进位全部右移若干位,“”右边的数指定移动的位数。例如:设 a=15,a2 表示把 000001111 右移为 00000011(十进制 3)。 51.以下不正确的定义语句是( )。(分数:70.00)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,/

    27、xa,/x8;解析:在一维数组中要注意的是作为下标表达式的常量表达式的值必须是大于等于 0,并且小于自身,本题中选项 B)的下标表达式的值超过了自身。52.if 语句的语法格式可描述为 格式 1:if() 或 格式 2:if()else 关于上面的语法格式,下列表述中错误的是(分数:70.00)A.部分可以是一个 if 语句,例如 if(if(a =0)?)B.部分可以是一个 if 语句,例如 if(?)if(?)C.如果在前加上逻辑非运算符!并交换和的位置,语句功能不变D.部分可以是一个循环语句,例如 if(?)while(?)?解析:53.下列程序的输出结果为( )。 # include

    28、iostreamh int func(int n) if (n1)return 1; else return n + func (n-1); return 0; void main( ) cout func (5) endl; (分数:70.00)A.Variant B.ByteC.BooleanD.Integer解析:在 Visual FoxPro 中,对象被选定,就获得焦点。如果要为控件设置焦点,Enabled 和 Visible 属性的值必须为真(T),其中 Enabled 属性决定控件是否可用,而 Visible 属性决定控件是否可见。54.算法具有五个特性,以下选项中不属于算法特性的

    29、是_。 (分数:70.00)A.有穷性B.简洁性 C.可行性D.确定性解析: 有穷性、确定性、有零个或多个输入、有一个或多个输出、有效性是算法的基本特性。55.在 C+语言中,不合法的实型数据的是( )。(分数:70.00)A.数值型数据B.字符型数据 C.逻辑型数据D.以上数据类型都可以解析:不要用一个子类去捕获父类的异常,尽可能用一个父类去捕获 其所有的子类的异常。这也就是选项 A)中的说法:父类在前,子类在后原则。catch 从 句的顺序排列要注意,应该将最特殊的排在最前面,依次逐步一般化。56.有如下程序 #include using namespace std; int i=1; c

    30、lass Fun public: static int i; int value()return i-1; int value()constreturn i+1; ; int Fun:i=2; int main() int i=3; Fun fun1; const Fun fun2; return 0; 若程序的输出结果是: 123. 则程序中下划线处遗漏的语句是【 】 (分数:70.00)A.cout=1 或 0 , i)解析:本程序有两重 for 循环,外层 for 循环控制输出数据的行数,故第 -|_|-空填“=1”或“0”,内层循环控制每行输出的个数。在内层 for 循环中,用语句“x

    31、=(j-1)*4+ -|_|-;”控制输出方阵中的具体数据, 由于这些数据与其所在的行、列(j,i)有关系x=(j-1)*4+i,故此空填 i。65.以下程序用于判断 a、b、c 能否构成三角形,若能,输出 YES,否则输出 NO。当给 a、b、c 输入三角形三条边长时,确定 a、b、c 能构成三角形的条件是需同时满足三 个条件:a+bc,a+cb,b+ca。请填空。 main1 float a,b,c; scanf(“%f%f%f“, if(= 2)printf(“YES/n“); /*a、b、c 能构成三角形*/ else printf(“NO/n“); /*a、b、c 不能构成三角形*/

    32、 (分数:1.50)填空项 1:_ (正确答案:(a+bc) main1 int x,y; scanf(“%d“, y=sub(sub(sub(x); printf(“%d/n“,y); 若运行时输入 1234,程序的输出结果是 2。 (分数:1.50)填空项 1:_ (正确答案:10)解析:本题考查的是函数的调用,函数 sub 调用后的返回值仍被作为实参传递给函数 sub 的形参,此种调 用连续进行 3 次,第一次调用:sub(1234)的返回值为 1234/10+1234%10,即 127;第二次调用:sub(127)的 返回值为 127/10+127%10;即 19;第三次调用:sub(

    33、19)的返回值为 19/10+19%10,即 10。所以程序输出的 结果是 10。71.如果不能使用多态机制,那么通过基类的指针虽然可以指向派生类对象,但是只能访问从基数继承的成员,下列程序没有使用多态机制,其输出结果是 1。 #include using namespace std; class Base public: Void print2coutprint5; pd-print6; delete pd; return 0; (分数:1.50)解析:72.在 C+语言的结构化程序设计中, 1 是程序的基本组成单元;在 C+语言的面向对象设计框架中, 2是程序的基本组成单元。(分数:1.5

    34、0)填空项 1:_ (正确答案:函数)解析:函数是程序功能实现的主要方式,是实现结构化设计(将程序分成若干个函数实现)的基本组成;类是一种用户定义的类型,是实现数据封装和数据抽象的工具,是面向对象设计中的基本组成。73.函数重载要求重载的函数必须有和原函数一样的 1。(分数:1.50)填空项 1:_ (正确答案:函数名)解析:重载函数的函数名应和原函数一致。74.如果类中的一个成员函数的定义实现在类内,则该函数系统自动默认为该类的 1 函数。(分数:1.50)填空项 1:_ (正确答案:内联)解析:本题考查内联函数与宏定义的区别。C+中的成员函数如果它的实现写在了类中,那么该函数就是一个内联函

    35、数。75.在 MyClass 类的定义中,对赋值运算符=进行重载。请将画线处缺失的部分补充完整。 1MyClass:operator=(const MyClass rhs) if(this= value=rhs. value; return*this; (分数:1.50)解析:76. 1 的任务是诊断和改正程序中的错误。(分数:1.50)解析:77.从实现的角度划分,C所支持的两种多态性分别是 1 时的多态性和运行时的多态性。(分数:1.50)填空项 1:_ (正确答案:编译)解析:本题考核 C+的多态性。一个面向对象的系统常常要求一组具有相同基本语义的方法能在同一接口下为不同的对象服务,这就

    36、是所谓多态性。在 C+语言中,多态性可分为两类:编译时的多态性和运行时的多态性。编译时的多态性是通过函数重载和模板体现。其实现机制称为静态联编(也译为静态绑定),即在编译阶段决定执行哪个同名的被调用函数。运行时的多态性是通过体现的,其实现机制称为动态联编(也译为动态绑定),即在编译阶段不能决定执行哪个同名的被调用函数,只在执行阶段才能依据要处理的对象类型来决定执行哪个类的成员函数。78.以下程序的输出结果是 1。 #includeiostreamh voidfun( ) staticinta=0; a+=2; couta“; voidmain( ) intcc; for(cc=1;cc4;cc

    37、+) fun( ); coutendl; (分数:1.50)填空项 1:_ (正确答案:2 4 6)解析:本题考查静态局部变量的使用。用关键字 static 声明的局部变量为“静态局部变量”,其值在函数调用结束后不消失而保留原值,即其占用的存储单元不释放,在下一次该函数调用时,该变量已有值,就是上一次函数调用结束时的值。 79.已知下列程序的输出结果是 42,请将画线处缺失的部分补充完整。 #include using namespace std; claSS Foo int value; void setValue(int value) 1=value;给 Foo 的数据成员 value赋值 void print2coutvalue)解析:this 指针是一个隐含的指针,它隐含于每个类的非静态成员函数中,它明确地表示出了成员函数当前操作的数据所属的对象。80.某二叉树中度为 2 的结点有 18 个,则该二叉树中有 1 个叶子结点。(分数:1.50)填空项 1:_ (正确答案:19)解析:二叉树的性质 3:在任意一棵二叉树中,度为 0 的结点(即叶子结点)总是比度为 2 的结点多一个。 本题中度为 2 的结点数为 18,故叶子结点数为 18+1=19 个。


    注意事项

    本文(【计算机类职业资格】计算机二级(C++)62及答案解析.doc)为本站会员(dealItalian200)主动上传,麦多课文档分享仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知麦多课文档分享(点击联系客服),我们立即给予删除!




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
    备案/许可证编号:苏ICP备17064731号-1 

    收起
    展开