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

    【计算机类职业资格】二级C++笔试8及答案解析.doc

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

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

    【计算机类职业资格】二级C++笔试8及答案解析.doc

    1、二级 C+笔试 8及答案解析(总分:108.00,做题时间:90 分钟)一、B选择题/B(总题数:41,分数:82.00)1.软件工程的出现是由于(分数:2.00)A.程序设计方法学的影响B.软件产业化的需要C.软件危机的出现D.计算机的发展2.D解析:x 数组共有 10个元素,在花括弧内只提供 3个初值,这表示只给前面的 3个成员赋值,后 7个元素的值为 0,所以,一共有 20个字节。(分数:2.00)A.B.C.D.3.下列定义中 p指向的地址可更改,但* p 不能够更改的是(分数:2.00)A.const int *p;B.int * const p;C.const int *const

    2、 p;D.int *p;4.下列程序的运行结果是 #includeiostreamh void fun(int *a,iht *B) int *k; k=a;a=b;b=k; void main( ) inta=3,b=6,*x=&a,*y=&b; fun(x,y); cout a “ “ b; (分数:2.00)A.6 3B.3 6C.编译出错D.005.以下程序中调用 cin函数给变量 a输入数值的方法是错误的,其错误原因是 #includeiostreamh void main( ) int *p,*q,a,b; p=&a; cout “input a:“; cin p; (分数:2.0

    3、0)A.* p表示的是指针变量 p的地址B.p表示的是变量 a的地址,而不是变量 a的值C.* p表示的是指针变量 p的值D.* p只能用来说明 p是一个指针变量6.执行语句 for(i=1;i+ 4;);,后变量 i的值是(分数:2.00)A.3B.4C.5D.不定A.B.C.D.8.假设线性表的长度为 n,则在最坏情况下,冒泡排序需要的比较次数为(分数:2.00)A.log2nB.n2C.O(n1.5)D.n(n-1)/29.分布式数据库系统不具有的特点是(分数:2.00)A.数据分布性和逻辑整体性B.位置透明性和复制透明性C.分布性D.数据冗余10.判断 char型变量 c是否为小写字母

    4、的正确表达式是 A) a =c =z B (c =A) &(c =z= C) (a =c) | |(z =c) D) (c =a)&(c =z)(分数:2.00)A.B.C.D.11.在数据流图(DFD) 中,带有名字的箭头表示(分数:2.00)A.模块之间的调用关系B.程序的组成成分C.控制程序的执行顺序D.数据的流向12.如果表达式 x * y + z中,“ * ”是作为友元函数重载的,“+”是作为友元函数重载的,则该表达式还可为(分数:2.00)A.operator+(operator*(x,B.operator+(operator*(x,C.operator*(operator+(x,

    5、D.operator+(operator*(x,)13.算法分析的目的是(分数:2.00)A.找出数据结构的合理性B.找出算法中输入和输出之间的关系C.分析算法的易懂性和可靠性D.分析算法的效率以求改进14.下列字符串中可以用作 C+语言标识符的是(分数:2.00)A.1234B.foo barC.virtualD.34var15.若有如下语句 #includeiostreamh void main( ) int x=3; do x=x-2; cout x; while(!(-X); 则上面程序段(分数:2.00)A.输出的是 1B.输出的是 1和-2C.输出的是 3和 0D.是死循环16.下

    6、面程序的结果是 #includeiostreamh class A int a; public: A( ):a(1) void showa( ) cout a; ; class B int a; public: B( ):a(2) void showa( ) cout a; ; class C:public A,public B int a; public: C( ):a(3) void showa( ) cout a; ;void main( ) C c; cshowa( ); (分数:2.00)A.1B.2C.3D.程序有错误17.下列程序的输出结果是 #include class Myc

    7、lass public:Myclass(int i=0,intj=0) x=i; y=j; void show( ) 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( );(分数:2.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

    8、,y=818.下列描述中,抽象类的特性是(分数:2.00)A.可以说明虚函数B.可以定义友元函数C.可以进行构造函数重载D.不能说明其对象19.函数模板:template T add(T x,T y) return x+y; 下列对 add函数的调用不正确的是(分数:2.00)A.add(1,2)B.add(1,2)C.add(10,2)D.add(10,20)20.在单链表中,增加头结点的目的是(分数:2.00)A.方便运算的实现B.使单链表至少有一个结点C.标识表结点中首结点的位置D.说明单链表是线性表的链式存储实现21.假定 int类型变量占用两个字节,其有定义 int x l0= 0,

    9、2,4 ;,则数组 x在内存中所占字节数是(分数:2.00)A.3B.6C.10D.2022.以下叙述正确的是(分数:2.00)A.函数可以嵌套定义但不能嵌套调用B.函数既可以嵌套调用也可以嵌套定义C.函数既不可以嵌套定义也不可以嵌套调用D.函数可以嵌套调用但不可以嵌套定义23.C解析:对于 templateTadd(T x,T y) return x + y;调用时町以省略模板实参的声明,但是要求 x和 y的数据类型必须是一样的。(分数:2.00)A.B.C.D.24.下面的语句中错误的是(分数:2.00)A.int a=5;int x;B.const int a=5;int x;C.int

    10、 n=5;int *p=new int;D.const int n=5;int *p=new int;25.关系表中的每一横行称为一个(分数:2.00)A.元组B.字段C.属性D.码26.下列语句的输出结果 cout strlen(“/t/“/065/xff/n“);(分数:2.00)A.5B.14C.8D.输出项不合法,无正常输出27.在 C+语言中,打开一个文件就是将这个文件与一个什么建立关联?(分数:2.00)A.流B.类C.结构D.对象28.关于 C+语言与 C语言关系描述中错误的是(分数:2.00)A.C+语言是 C语言的超集B.C+语言对 C语言进行了扩充C.C+语言包含 C语言的

    11、全部语法特征D.C+语言与 C语言都是面向对象的程序设计语言29.this指针是 C+语言实现什么的一种机制?(分数:2.00)A.抽象B.封装C.继承D.重载30.对于语句 cout setfill(*) setw(10) 1 setfill(*) setw(2) 2;的输出结果是(分数:2.00)A.* * * * * * * * * 1 * 2B.* * * * * * * * 12C.* * * * * * * 1 * 2D.12 * * * * * * * *31.D解析:语句 r= unc (func(x,y),z);中,fun(x,y)是一次调用函数,它的值作为 func另一次调

    12、用的实参。注意本题调用两次函数。(分数:2.00)A.B.C.D.32.在 C+语言中,不合法的实型数据的是(分数:2.00)A.0123B.123e3C.21e35D.123033.软件开发离不开系统环境资源的支持,其中必要的测试数据属于(分数:2.00)A.硬件资源B.通信资源C.支持软件D.辅助资源34.线性表 L=(a1,32,a3,ai,an),下列说法正确的是(分数:2.00)A.每个元素都有一个直接前件和直接后件B.线性表中至少要有一个元素C.表中诸元素的排列顺序必须是由小到大或由大到小D.除第一个元素和最后一个元素外,其余每个元素都有一个且只有一个直接前件和直接后件35.有如下

    13、程序 #includeiostreamh int func(int a,int B) return(a+B) ; void main( ) int x=2,y=5,z=8,r; r=func(func(x,y),z); cout r; 该程序的输出的结果是(分数:2.00)A.12B.13C.14D.1536.下列数据模型中,具有坚实理论基础的是(分数:2.00)A.层次模型B.网状模型C.关系模型D.以上 3个都是37.有以下程序 #include void fun(int a,int b,int C) a=456,b=567,c=678; void main( ) int x=10,y=2

    14、0,z=30; fun(x,y,z); cout x , y , z end1; 输出结果是(分数:2.00)A.30,20,10B.10,20,30C.456,567,678D.678,567,45638.关于二义性的描述错误的是(分数:2.00)A.一个子类的两个父类中都有某个同名成员,在子类中对该成员访问可能出现二义性B.解决二义性可以用对成员名的限定法C.父类和子类中同时出现同名函数,也可能存在二义性D.一个子类是从两个父类派生出来的,而这两个父类又有一个共同的父类,对该父类成员进行访问时,可能出现二义性A.B.C.D.A.B.C.D.41.下面有关 for循环的正确描述是(分数:2.

    15、00)A.for循环只能用于循环次数已经确定的情况B.for循环是先执行循环体语句,后判断表达式C.在 for循环中,不能用 break语句跳出循环体D.for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来二、B填空题/B(总题数:13,分数:26.00)42.在算法正确的前提下,评价一个算法的两个标准是 【1】 。(分数:2.00)填空项 1:_43.将代数式 (分数:2.00)填空项 1:_44.软件危机出现于 60年代末,为了解决软件危机,人们提出了 【3】 的原理来设计软件,这就是软件工程诞生的基础。(分数:2.00)填空项 1:_45. 【4】 是数据库设计的核心。(分数

    16、:2.00)填空项 1:_46.在关系模型中,把数据看成一个二维表,每一个二维表称为一个 【5】 。(分数:2.00)填空项 1:_47.一个 C+语言程序的开发步骤通常包括编辑、 【6】 、链接、运行和调试。(分数:2.00)填空项 1:_48.若已知 a=10,b=20,则表达式 l a b 的值为 【7】 。(分数:2.00)填空项 1:_49.下面程序的运行结果是U 【8】 /U和U 【9】 /U。 #includeiostreamh #define N 10 #define s(x)x * x #define f(x)(x * x) void main( ) int i1,i2; i

    17、1=1000/s(N);i2=1000/f(N); cout i1 “ “ i2; (分数:2.00)填空项 1:_50.友元类的所有成员函数都是另一个类的 【10】 。(分数:2.00)填空项 1:_51. 【11】 是实现 C+语言编译时多态性的机制, 【12】 是实现 C+语言运行时多态性的机制。(分数:2.00)填空项 1:_52.表达式 xoperator+1 还可写成 【13】 。(分数:2.00)填空项 1:_53.以下程序的输出结果是 【14】 。 #includeiostreamh void main1 int a=0; a+ =(a=8); cout a; (分数:2.00

    18、)填空项 1:_54.若要在 C盘根目录下作为二进制文件打开文件 testdat,则应该用的语句是 【15】 。(分数:2.00)填空项 1:_二级 C+笔试 8答案解析(总分:108.00,做题时间:90 分钟)一、B选择题/B(总题数:41,分数:82.00)1.软件工程的出现是由于(分数:2.00)A.程序设计方法学的影响B.软件产业化的需要C.软件危机的出现 D.计算机的发展解析:解析:软件工程概念的出现源自于软件危机。为了消除软件危机,通过认真研究解决软件危机的方法,认识到软件工程是使计算机软件走向工程科学的途径,逐步形成了软件工程的概念。2.D解析:x 数组共有 10个元素,在花括

    19、弧内只提供 3个初值,这表示只给前面的 3个成员赋值,后 7个元素的值为 0,所以,一共有 20个字节。(分数:2.00)A.B. C.D.解析:3.下列定义中 p指向的地址可更改,但* p 不能够更改的是(分数:2.00)A.const int *p; B.int * const p;C.const int *const p;D.int *p;解析:解析:const int *p;是只能改变指针地址,int * const P;是只能改变 *P 的内容,const int * constp;是指针的地址和*p 的内容都不能改变,int *P;是两者都能改变。4.下列程序的运行结果是 #inc

    20、ludeiostreamh void fun(int *a,iht *B) int *k; k=a;a=b;b=k; void main( ) inta=3,b=6,*x=&a,*y=&b; fun(x,y); cout a “ “ b; (分数:2.00)A.6 3B.3 6 C.编译出错D.00解析:解析:函数的参数不仅可以是整型、实型、字符型等数据,还可以是指针类型。它的作用是将一个变量的地址传送到另一个函数中去。在本题解析中,我们试图将这一问题解释清楚!大家可以考虑一下利用下面这函数可不可以实现 a和 b的互换。 swap(int x,int y) int t; t=x; x=y; y

    21、=t 如果在 main函数中用 swap(a,B) ,会有什么结果呢?在函数调用开始时,a 的值传送给 x,b 的值传递给 y。执行完 swap( )函数后,x 和 y的值是互换了,但 main( )函数中的 a和 b并未互换。也就是说由于“单向传递”的“值传递”方式,形参值的改变无法传递给实参。 为了使在函数中改变了的变量值能被 main( )函数所用,不能采取上述办法,而应该用指针变量做函数参数。在函数执行过程中使指针变量所指向的变量值发生变化,函数调用结束后,这些变量值的变化被保留下来,这样就实现了调用函数改变变量的值,在主调函数中使用这些改变了的值的目的。 swap(int *p1,i

    22、nt *P2) int p; p= *p1; *p1=*P2; *P2=p; 注意交换。p1 和:p2的值是如何实现的,如果写成下面这样就有问题了! swap(int *P1,int *p2) int *p; *P=*p1;/ *此语句有问题:*/ *p1=*p2; *p2=*p; * P1 就是 a,是整型变量。而*p 是指针变量 P所指向的变量,但 P中并无确切地址,用*p 可能会造成破坏系统的正常工作状态。应该将* p1 的值赋给一个整型变量,用整型变量作为过渡变量实现*P1 和*p2 的交换。5.以下程序中调用 cin函数给变量 a输入数值的方法是错误的,其错误原因是 #include

    23、iostreamh void main( ) int *p,*q,a,b; p=&a; cout “input a:“; cin p; (分数:2.00)A.* p表示的是指针变量 p的地址B.p表示的是变量 a的地址,而不是变量 a的值 C.* p表示的是指针变量 p的值D.* p只能用来说明 p是一个指针变量解析:解析:p 表示的是变量 a的地址,定义后*p 表示的是变量 a的值。6.执行语句 for(i=1;i+ 4;);,后变量 i的值是(分数:2.00)A.3B.4C.5 D.不定解析:解析:for 语句中的表达式可以部分或全部省略,但两个“;”不能省略,若 3个表达式均省略,会因为

    24、缺少条件判断,导致循环无限执行,而形成死循环。本题中当 i的值为 5的时候,循环终止。A. B.C.D.解析:8.假设线性表的长度为 n,则在最坏情况下,冒泡排序需要的比较次数为(分数:2.00)A.log2nB.n2C.O(n1.5)D.n(n-1)/2 解析:解析:假设线性表的长度为 n,则在最坏情况下,冒泡排序要经过 n/2遍的从前往后的扫描和 n/2遍的从后往前的扫描,需要的比较次数为 n(n-1)/2。9.分布式数据库系统不具有的特点是(分数:2.00)A.数据分布性和逻辑整体性B.位置透明性和复制透明性C.分布性D.数据冗余 解析:解析:分布式数据库系统具有数据分布性、逻辑整体性、

    25、位置透明性和复制透明性的特点,其数据也是分布的;但分布式数据库系统中数据经常重复存储,数据也并非必须重复存储,主要视数据的分配模式而定。若分配模式是一对多,即一个片段分配到多个场地存放,则是冗余的数据库,否则是非冗余的数据库。10.判断 char型变量 c是否为小写字母的正确表达式是 A) a =c =z B (c =A) &(c =z= C) (a =c) | |(z =c) D) (c =a)&(c =z)(分数:2.00)A.B.C.D. 解析:解析:字符型数据在计算机内部是以 ASCII码存储的,英文大写字母和小写字母在 ASCII码表中都是连续的。大写字母 AZ 是从 6590,小写

    26、字母 az 是从 97122。所以只要变量 c大于等于 a并且等于小于 2就能保证其为小写字母。11.在数据流图(DFD) 中,带有名字的箭头表示(分数:2.00)A.模块之间的调用关系B.程序的组成成分C.控制程序的执行顺序D.数据的流向 解析:解析:数据流相当于一条管道,并有一级数据(信息)流经它。在数据流图中,用标有名字的箭头表示数据流。数据流可以从加工流向加工,也可以从加工流向文件或从文件流向加工,并且可以从外部实体流向系统或从系统流向外部实体。12.如果表达式 x * y + z中,“ * ”是作为友元函数重载的,“+”是作为友元函数重载的,则该表达式还可为(分数:2.00)A.op

    27、erator+(operator*(x, B.operator+(operator*(x,C.operator*(operator+(x,D.operator+(operator*(x,)解析:解析:C+中用成员函数重载 x*y为:xoperator * (y),用友元函数重载 x*y为:operator *(x,y),用成员函数重载 x/y为:xoperator+(y),用友元函数重载 x + y 为:operator+(x,y)。13.算法分析的目的是(分数:2.00)A.找出数据结构的合理性B.找出算法中输入和输出之间的关系C.分析算法的易懂性和可靠性D.分析算法的效率以求改进 解析:解

    28、析:算法分析是指对一个算法的运行时间和占用空间做定量的分析, 一般计算出相应的数量级,常用时间复杂度和空间复杂度表示。分析算法的目的就是要降低算法的时间复杂度和空间复杂度,提高算法的执行效率。14.下列字符串中可以用作 C+语言标识符的是(分数:2.00)A.1234 B.foo barC.virtualD.34var解析:解析:C+语言标识符只能由数字,字母和下划线组成,并且只能以字母和下划线为开头。15.若有如下语句 #includeiostreamh void main( ) int x=3; do x=x-2; cout x; while(!(-X); 则上面程序段(分数:2.00)A

    29、.输出的是 1B.输出的是 1和-2 C.输出的是 3和 0D.是死循环解析:解析:do-while 语句的一般格式为 do循环体语句 while(表达式);,先执行循环体语句一次,再判断表达式的值,若为真则继续执行循环,否则终止循环。本题中,先执行 x=x-2,即为 1。判断表达式的值,!(-x)为真,x=0,继续循环。再次执行循环体语句后,x=-2,此时表达式的值为 0,结束循环。16.下面程序的结果是 #includeiostreamh class A int a; public: A( ):a(1) void showa( ) cout a; ; class B int a; publ

    30、ic: B( ):a(2) void showa( ) cout a; ; class C:public A,public B int a; public: C( ):a(3) void showa( ) cout a; ;void main( ) C c; cshowa( ); (分数:2.00)A.1B.2C.3 D.程序有错误解析:解析:类 A,类 B,中都有 showa( )函数,类 C继承后再次重写 showa( )函数就解决了继承的二义性,这时 cshowa( )函数显示的就是类 C中的 showa( )的值。17.下列程序的输出结果是 #include class Myclass

    31、 public:Myclass(int i=0,intj=0) x=i; y=j; void show( ) 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( );(分数:2.00)A.x=4,y=3;x=7,y=8 B.x=3,y=4;x=7,y=8C.x=7,y=8;x=4,y=3D.x=8,y=7;x=7,y=

    32、8解析:解析:在 My class类中定义厂两个同名函数 show,其中一个是常成员函数。在 main函数中定义了两个对象 my1,my2,其中对象 my2是常对象。这两个对象调用成员函数 show时,通过对象 my1调用的是没有用 const修饰的一般成员函数,而通过对象 my2调用的是 const修饰的常成员函数。18.下列描述中,抽象类的特性是(分数:2.00)A.可以说明虚函数B.可以定义友元函数C.可以进行构造函数重载D.不能说明其对象 解析:解析:带有纯虚函数的类称为抽象类,抽象类中的纯虚函数没有具体的定义,所以不能说明抽象类的对象。19.函数模板:template T add(T

    33、 x,T y) return x+y; 下列对 add函数的调用不正确的是(分数:2.00)A.add(1,2) B.add(1,2)C.add(10,2)D.add(10,20)解析:20.在单链表中,增加头结点的目的是(分数:2.00)A.方便运算的实现 B.使单链表至少有一个结点C.标识表结点中首结点的位置D.说明单链表是线性表的链式存储实现解析:解析:头结点不仅标识了表中首结点的位置,而且根据单链表(包含头结点)的结构,只要掌握了表头,就能够访问整个链表,因此增加头结点目的是为了便于运算的实现。21.假定 int类型变量占用两个字节,其有定义 int x l0= 0,2,4 ;,则数组

    34、 x在内存中所占字节数是(分数:2.00)A.3B.6 C.10D.20解析:22.以下叙述正确的是(分数:2.00)A.函数可以嵌套定义但不能嵌套调用B.函数既可以嵌套调用也可以嵌套定义C.函数既不可以嵌套定义也不可以嵌套调用D.函数可以嵌套调用但不可以嵌套定义 解析:解析:在 C+语言中,所有的函数都是平行的,即在定义函数时是互相独立的,一个函数并不从属于男一个函数,即函数不能嵌套定义,但可以互相调用。但是不能调用 main( )函数。23.C解析:对于 templateTadd(T x,T y) return x + y;调用时町以省略模板实参的声明,但是要求 x和 y的数据类型必须是一

    35、样的。(分数:2.00)A. B.C.D.解析:24.下面的语句中错误的是(分数:2.00)A.int a=5;int x; B.const int a=5;int x;C.int n=5;int *p=new int;D.const int n=5;int *p=new int;解析:解析:在 C+中定义数组时,数组的范围参数在静态定义时必须是一个常数,而在动态分配内存定义时可以是常数,也可以是一个赋了值得参数。故选项 A) 是错误的定义方法。25.关系表中的每一横行称为一个(分数:2.00)A.元组 B.字段C.属性D.码解析:解析:关系表中,每一行称为一个元组,对应表中的一条记录;每一列

    36、称为表中的一个属性,对应表中的一个字段;在二维表中凡能惟一标识元组的最小属性集称为该表的键或码。26.下列语句的输出结果 cout strlen(“/t/“/065/xff/n“);(分数:2.00)A.5 B.14C.8D.输出项不合法,无正常输出解析:解析:该字符串中包含的字符是/t(跳格符)、/“ (双引号)、/065 (ASCII 值为八进制 065,也即十进制为 51的字符)、/xff(ASCII 值为十六进制 ff,也即十进制为 255的字符)、/n(换行符)。27.在 C+语言中,打开一个文件就是将这个文件与一个什么建立关联?(分数:2.00)A.流 B.类C.结构D.对象解析:

    37、解析:C+的 I/O系统是通过一种称为流的机制来实现文件和控制台的 l/O操作。简单地说,在C+中,输入输出操作是通过流来完成的。而文件流以磁盘文件以及其他可按文件方式进行管理的外部设备为输入输出对象。每个文件流都应当与一个打开的文件相联系;关闭一个文件就是取消这种联系。28.关于 C+语言与 C语言关系描述中错误的是(分数:2.00)A.C+语言是 C语言的超集B.C+语言对 C语言进行了扩充C.C+语言包含 C语言的全部语法特征D.C+语言与 C语言都是面向对象的程序设计语言 解析:解析:C 语言是一种面向过程的程序设计语言,而 C+语言是一种面向对象的设计语言,C+语言是C语言的超集,它

    38、包含了 C语言的所有语言特性,并进行了扩充。29.this指针是 C+语言实现什么的一种机制?(分数:2.00)A.抽象B.封装 C.继承D.重载解析:解析:this 指针足 C+语言实现封装的一种机制,它将对象和该对象调用的成员函数连接在一起,在外部看来,每一个对象都拥有自己的函数成员。30.对于语句 cout setfill(*) setw(10) 1 setfill(*) setw(2) 2;的输出结果是(分数:2.00)A.* * * * * * * * * 1 * 2 B.* * * * * * * * 12C.* * * * * * * 1 * 2D.12 * * * * * *

    39、* *解析:解析:C+语言中 setfil1的意思是在空格的地方填上 setfil1函数中的参数字符,setw 的意思是没置整个输出字符串的字符个数,本题中用:来代替空格。31.D解析:语句 r= unc (func(x,y),z);中,fun(x,y)是一次调用函数,它的值作为 func另一次调用的实参。注意本题调用两次函数。(分数:2.00)A. B.C.D.解析:32.在 C+语言中,不合法的实型数据的是(分数:2.00)A.0123B.123e3C.21e35 D.1230解析:解析:在 C+语言中,实数有两种形式表示,即十进制数形式和指数形式,在指数形式中,e3,21e35,e3,e

    40、 等都是不合法的指数形式。再如 123e3或 123E3都代表 123乘以 10的 3次方。注意,字母 e的前面必须有数字,且 e的后面必须是整数。33.软件开发离不开系统环境资源的支持,其中必要的测试数据属于(分数:2.00)A.硬件资源B.通信资源C.支持软件D.辅助资源 解析:解析:软件测试过程中,辅助资源包括测试用例(测试数据)、测试计划、出错统计和最终分析报告等。34.线性表 L=(a1,32,a3,ai,an),下列说法正确的是(分数:2.00)A.每个元素都有一个直接前件和直接后件B.线性表中至少要有一个元素C.表中诸元素的排列顺序必须是由小到大或由大到小D.除第一个元素和最后一

    41、个元素外,其余每个元素都有一个且只有一个直接前件和直接后件 解析:解析:线性表可以为空表;第一个元素没有直接前件,最后一个元素没有直接后件;线性表的定义中,元素的排列并没有规定大小顺序。35.有如下程序 #includeiostreamh int func(int a,int B) return(a+B) ; void main( ) int x=2,y=5,z=8,r; r=func(func(x,y),z); cout r; 该程序的输出的结果是(分数:2.00)A.12 B.13C.14D.15解析:36.下列数据模型中,具有坚实理论基础的是(分数:2.00)A.层次模型B.网状模型C.

    42、关系模型 D.以上 3个都是解析:解析:关系模型较之格式化模型(网状模型和层次模型)有以下方面的优点,即数据结构比较简单、具有很高的数据独立性、可以直接处理多对多的联系,以及有坚实的理论基础。37.有以下程序 #include void fun(int a,int b,int C) a=456,b=567,c=678; void main( ) int x=10,y=20,z=30; fun(x,y,z); cout x , y , z end1; 输出结果是(分数:2.00)A.30,20,10B.10,20,30 C.456,567,678D.678,567,456解析:解析:本题考查函数

    43、中变量的作用范围,在主函数中给变量 x,y,z 赋值,然后将其作为实参传递给了函数 fun( ),虽然在函数 fun( )中改变了这 3个变量的值,但只是同名的局部变量,不影响函数中变量的值,所以在调用函数 fun( )结束后,主函数 3个变量的值未改变。38.关于二义性的描述错误的是(分数:2.00)A.一个子类的两个父类中都有某个同名成员,在子类中对该成员访问可能出现二义性B.解决二义性可以用对成员名的限定法C.父类和子类中同时出现同名函数,也可能存在二义性 D.一个子类是从两个父类派生出来的,而这两个父类又有一个共同的父类,对该父类成员进行访问时,可能出现二义性解析:解析:基类和其继承类

    44、同时出现同名函数,则在继承类中实现对象中调用该函数是使用继承类中的定义,这种情况下是不会产生二义性的。A. B.C.D.解析:A.B. C.D.解析:41.下面有关 for循环的正确描述是(分数:2.00)A.for循环只能用于循环次数已经确定的情况B.for循环是先执行循环体语句,后判断表达式C.在 for循环中,不能用 break语句跳出循环体D.for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来 解析:解析:选项 A) for循环可以用于循环次数不确定的情况;选项 B) for循环是先判断表达式,后执行循环体语句;选项 C) 在 for循环中,可以用 break语句跳出循环

    45、体,从而接着执行循环体后面的语句。二、B填空题/B(总题数:13,分数:26.00)42.在算法正确的前提下,评价一个算法的两个标准是 【1】 。(分数:2.00)填空项 1:_ (正确答案:【1】时间复杂度和空间复杂度)解析:43.将代数式 (分数:2.00)填空项 1:_ (正确答案:【2】SQRT(x2,y2)(a + B))解析:44.软件危机出现于 60年代末,为了解决软件危机,人们提出了 【3】 的原理来设计软件,这就是软件工程诞生的基础。(分数:2.00)填空项 1:_ (正确答案:【3】软件工程学)解析:45. 【4】 是数据库设计的核心。(分数:2.00)填空项 1:_ (正确答案:【4】数据模型)解析:解析:数据模型是对客观事物及联系的数据描述,它反映了实体内部及实体与实体之间的联系。因此,数据模型是数据库设计的核心。46.在关系模型中,把数据看成一个二维表,每一个二维表称为一个 【5】 。(分数:2.00)填空项 1:_ (正确答案:【5】关系)解析:解析:在关系模型中,把数据看成一个二维表,每一个二维表称为一个关系。表中的每一列称为一个属性,相当于记录中


    注意事项

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




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

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

    收起
    展开