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

    【计算机类职业资格】二级C++分类模拟248及答案解析.doc

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

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

    【计算机类职业资格】二级C++分类模拟248及答案解析.doc

    1、二级 C+分类模拟 248及答案解析(总分:69.00,做题时间:90 分钟)一、选择题(总题数:40,分数:69.00)1.若要对类 BigNumber中重载的类型转换运算符 long进行声明,下列选项中正确的是_。(分数:2.50)A.operator long()const;B.operator long(BigNumber);C.long operator long()const;D.long operator long(BigNumber);2.若要对类 BigNumber中重载的类型转换运算符 long进行声明,下列选项中正确的是 _ 。(分数:2.00)A.operator lo

    2、ng() const;B.operator long(BigNumber);C.long operator long() const;D.long operator long(BigNumber);3.在定义一个类模板时,模板形参表是用一对括号括起来的,所采用的括号是_。(分数:1.00)A.()B.C.D.4.若有定义语句“int i=2,j=3;”,则表达式 i/j的结果是_。(分数:1.00)A.0B.0.7C.0.66667D.0.666666675.下列叙述中正确的是(分数:1.00)A.线性链表是线性表的链式存储结构B.栈与队列是非线性结构C.双向链表是非线性结构D.只有根结点的二

    3、叉树是线性结构6.在数据结构中,从逻辑上可以把数据结构分成_。(分数:2.50)A.内部结构和外部结构B.线性结构和非线性结构C.紧凑结构和非紧凑结构D.动态结构和静态结构7.下列程序的执行结果为_。 #includeiostream. h void main() int a=3, b=0; int*P= b=+a+; cout*P“,“bendl;(分数:1.00)A.3, 4B.4, 3C.3, 4D.4, 48.下列虚基类的声明中正确的是 _。(分数:2.00)A.class virtual B: public AB.class B: public A virtualC.class B:

    4、 public virtual AD.virtual class B: public A9.关于纯虚函数,下列表述中正确的是_。(分数:2.50)A.纯虚函数是没有给出实现版本(即无函数体定义)的虚函数B.纯虚函数的声明总是以“=0;”结束C.派生类必须实现基类的纯虚函数D.含有纯虚函数的类不可能是派生类10.为了使类中的某个成员不能被类的对象通过成员操作符访问,则不能把该成员的访问权限定义为 _ 。(分数:2.00)A.publicB.protectedC.privateD.static11.以下程序的输出结果是 _ 。 void main() int a=4,b=5,C=0,d; d=!a

    5、! b|!c; coutdend1; (分数:2.00)A.1B.0C.非 0的数D.-112.有如下程序: #include using namespace std; class Point int x, y; public: Point(int x1=0, int y1=0):x(x1), y(y1) int get()return x+y; ; class Circle Point center; int radius; public: Circle(int cx, int cy, int r):center(cx, cy), raaius(r) int get()return cent

    6、er.get()+radius; ; int main() Circle c(3, 4, 5); coutc.get() return 0; /c.get() 运行时的输出结果是_。(分数:2.50)A.5B.7C.9D.1213.下列字符串中不能作为 C+标识符使用的是_。(分数:2.00)A.DOUBLEB.abcC._5_D.xyz14.数据库系统的核心是 _ 。(分数:1.00)A.数据库B.数据库管理系统C.数据模型D.软件工具15.建立一个有成员对象的派生类对象时,各构造函数体的执行次序为_。(分数:2.00)A.派生类、成员对象类、基类B.成员对象类、基类、派生类C.基类、成员对

    7、象类、派生类D.基类、派生类、成员对象类16.有如下数组声明:int num10;,下标值引用错误的是(分数:1.00)A.num10B.num5C.num3D.num017.C+中,由类 istream和类 ostream而派出的一个类 _ ,它提供双向 I/O操作。(分数:1.00)A.iostreamB.fstreamC.strstreamD.istream18.以下结构类型可用来构造链表的是_ 。(分数:2.00)A.street aaint a;int *b;B.struct bb int a;bb*b;C.struct ccint *a;cc b;D.struct dd int *

    8、a;aa b;19.下列叙述中,错误的是_。(分数:2.50)A.false是一个逻辑型常量B.“b”是一个字符型常量C.365是一个 int常量D.3.1415926是一个 double常量20.下列关系运算中,能使经运算后得到的新关系中属性个数多于原来关系中属性个数的是 _ 。(分数:2.00)A.选择B.连接C.投影D并21.有如下函数模板: templateclass TT square(T x) retum x*x; 其中的参数 T是_。(分数:1.00)A.函数形参B.函数实参C.模板实参D.模板形参22.下列说法中错误的是(分数:1.00)A.公有继承时基类中的 public成员

    9、在派生类中仍是 public成员B.私有继承时基类中的 protecte成员在派生类中仍是 protected成员C.私有继承时基类中的 public成员在派生类中是 private成员D.保护继承时基类中的 public成员在派生类中是 protected成员23.通过运算符重载,可以改变运算符原有的_。(分数:1.00)A.操作数类型B.操作数个数C.优先级D.结合性24.在 C+语言中函数返回值的类型是由_决定的。(分数:2.50)A.调用该函数时系统临时B.return语句中的表达式类型C.定义该函数时所指定的函数类型D.调用该函数时的主调函数类型25.执行下列语句段后 int n=0

    10、;for(int i=70;i0;i-=3)n+; n的值是_。(分数:2.00)A.23B.24C.25D.7126.已知 Value是一个类,value 是 Value的一个对象。下列以非成员函数形式重载的运算符函数原型中,正确的是_。(分数:1.00)A.Value operator+(Value v,int i);B.Value operator+(Value V=value,int i);C.Value operator+(Value v,int i=0);D.Value operator+(Value V=value,int i=0);27.在关系代数运算中,有 5种基本运算,它们

    11、是_。(分数:2.50)A.并()、差(-)、交()、除()和笛卡儿积()B.并()、差(-)、交()、投影()和选择()C.并()、交()、投影()、选择()和笛卡儿积()D.并()、差(-)、投影()、选择()和笛卡儿积()28.已知各变量的定义如下 int i=8,k,a,b; unsigned long w=5; double x= 1.42,y=5.2; 则以下符合 C+语言语法的表达式是 _ 。(分数:2.00)A.a+=a-=(b=4)*(a=3)B.a=a*3+2C.x%(-3)D.y=float i29.有以下程序: Class Date public: Date(int y

    12、,int m,int d); yeary; month=m; dayd; Date(int y2000) yeary; month10; day=1;) Date(Date class Base public: Base()cout“BB“; f(); void f()cout“BF“; ; class Derived:public Base public: Derived()cout“DD“; void f()cout“Df“; ; int main()Derived d;return 0; 执行上面的程序将输出_。(分数:1.00)A.BBBfDDB.BBDfDDDfC.DDD.DDBBB

    13、f32.已知类 X成功地重载了-、+、=、这几个运算符。则其中肯定属于成员函数的运算符是_。(分数:2.50)A.前置-和口B.=和C.和后置-D.+和=33.下面这个程序段的时间复杂度是 _ 。 for (i=1; in; i+) y=y+1; for (j=0;j=(2*n);j+) X+; A.O(log2n) B.O(n) C.O(nlog2n) D.O(n2)(分数:1.00)A.B.C.D.34.在 C+程序中,如果要求通过函数来实现一种简单的功能,并且要求尽可能加快程序执行速度,则应该选用_。(分数:2.50)A.内联函数B.重载函数C.递归调用D.嵌套调用35.以下程序的输出结

    14、果是_。 main() int a=4,b=5,c=0,d; d=!a coutdendl; (分数:2.50)A.1B.0C.非 0的数D.-136.下面叙述错误的是 _ 。(分数:1.00)A.基类的 protected成员在派生类中仍然是 protected的B.基类的 protected成员在 public派生类中仍然是 protected的C.基类的 protected成员在 private派生类中是 privated的D.基类的 protected成员不能被派生类的对象访问37.关于构造函数 A()的拷贝构造函数正确的是(分数:1.00)A.A(A *B) ;B.A(AB) ;C.

    15、A(A38.下面关于虚函数的描述,错误的是(分数:1.00)A.在成员函数声明的前面加上 virtual修饰,就可把该函数声明为虚函数B.基类中说明了虚函数后,派生类中对应的函数也必须说明为虚函数C.虚函数可以是另一个类的友元函数,但不能是静态成员函数D.基类中说明的纯虚函数在其任何派生类中都必须实现39.下列叙述中正确的是 _ 。(分数:2.00)A.一个逻辑数据结构只能有一种存储结构B.逻辑结构属于线性结构,存储结构属于非线性结构C.一个逻辑数据结构可以有多种存储结构,且各种存储结构不影响数据处理的效率D.一个逻辑数据结构可以有多种存储结构,且各种存储结构影响数据处理的效率40.有如下程序

    16、 #includeiostream.h void main() char ch25=“6937“,“8254“,*p2; int i,j,s0; for(i0;i(2;i+)pichi; for(i0;i(2;i+) for(j0;pij“/0,j+2) s10*s+pij-“0“; couts; 该程序的输出结果是 _ 。(分数:2.00)A.69825B.63825C.6385D.693825二级 C+分类模拟 248答案解析(总分:69.00,做题时间:90 分钟)一、选择题(总题数:40,分数:69.00)1.若要对类 BigNumber中重载的类型转换运算符 long进行声明,下列选

    17、项中正确的是_。(分数:2.50)A.operator long()const; B.operator long(BigNumber);C.long operator long()const;D.long operator long(BigNumber);解析:解析 类型转换符必须作为成员函数重载。在重载类型转换符时,其类型名就是返回值类型,因此不需要声明返回值的类型。重载类型转换符“long”的形式如下: operator long(参数表);2.若要对类 BigNumber中重载的类型转换运算符 long进行声明,下列选项中正确的是 _ 。(分数:2.00)A.operator long(

    18、) const; B.operator long(BigNumber);C.long operator long() const;D.long operator long(BigNumber);解析:3.在定义一个类模板时,模板形参表是用一对括号括起来的,所采用的括号是_。(分数:1.00)A.()B.C. D.解析:解析 声明一个类模板的格式是:template模板形参声明类声明。4.若有定义语句“int i=2,j=3;”,则表达式 i/j的结果是_。(分数:1.00)A.0 B.0.7C.0.66667D.0.66666667解析:解析 整数相除为整数,所以结果为 0。5.下列叙述中正确

    19、的是(分数:1.00)A.线性链表是线性表的链式存储结构 B.栈与队列是非线性结构C.双向链表是非线性结构D.只有根结点的二叉树是线性结构解析:解析 一个非空的数据结构如果满足下列两个条件:(1)有且只有一个根结点; (2)每一个结点最多有一个前件,也最多有一个后件。则称为线性结构。线性链表是线性表的链式存储结构,选项 A的说法是正确的。栈与队列是特殊的线性表,它们也是线性结构,选项 B的说法是错误的;双向链表是线性表的链式存储结构,其对应的逻辑结构也是线性结构,而不是非线性结构,选项 C的说法是错误的;二叉树是非线性结构,而不是线性结构,选项 D的说法是错误的。因此,本题的正确答案为 A。6

    20、.在数据结构中,从逻辑上可以把数据结构分成_。(分数:2.50)A.内部结构和外部结构B.线性结构和非线性结构 C.紧凑结构和非紧凑结构D.动态结构和静态结构解析:解析 逻辑结构反映数据元素之间的逻辑关系,线性结构表示数据元素之间为一对一的关系,非线性结构表示数据元素之间为一对多或者多对一的关系。7.下列程序的执行结果为_。 #includeiostream. h void main() int a=3, b=0; int*P= b=+a+; cout*P“,“bendl;(分数:1.00)A.3, 4B.4, 3 C.3, 4D.4, 4解析:解析 *p 为所指对象 a的值,语句“b=+a+

    21、;”等价于“b=b+a; a=a+1;”。8.下列虚基类的声明中正确的是 _。(分数:2.00)A.class virtual B: public AB.class B: public A virtualC.class B: public virtual A D.virtual class B: public A解析:9.关于纯虚函数,下列表述中正确的是_。(分数:2.50)A.纯虚函数是没有给出实现版本(即无函数体定义)的虚函数B.纯虚函数的声明总是以“=0;”结束 C.派生类必须实现基类的纯虚函数D.含有纯虚函数的类不可能是派生类解析:10.为了使类中的某个成员不能被类的对象通过成员操作符

    22、访问,则不能把该成员的访问权限定义为 _ 。(分数:2.00)A.public B.protectedC.privateD.static解析:解析 因为 public类型的权限控制属性允许类对象对类属性和方法进行访问。11.以下程序的输出结果是 _ 。 void main() int a=4,b=5,C=0,d; d=!a! b|!c; coutdend1; (分数:2.00)A.1 B.0C.非 0的数D.-1解析:解析 本题考查逻辑运算符!逻辑“非”,逻辑“与”,|逻辑“或”,三者的优先级顺序为!|,本题中 d=!4!5|!0,即 d=0|1,也即 d=1。12.有如下程序: #inclu

    23、de using namespace std; class Point int x, y; public: Point(int x1=0, int y1=0):x(x1), y(y1) int get()return x+y; ; class Circle Point center; int radius; public: Circle(int cx, int cy, int r):center(cx, cy), raaius(r) int get()return center.get()+radius; ; int main() Circle c(3, 4, 5); coutc.get()

    24、return 0; /c.get() 运行时的输出结果是_。(分数:2.50)A.5B.7 C.9D.12解析:解析 本题考查的知识点是类的继承和派生。类的继承是新的类从已有类那里得到已有的特性,如数据成员、成员函数等。类的派生是从已有的类产生新类的过程。在继承过程中,原有的类或已经存在的用来派生新类的类成为基类或父类,而由已经存在的类派生出的新类则称为派生类或子类。派生类具有基类的数据成员和成员函数,同时增加了新的成员。13.下列字符串中不能作为 C+标识符使用的是_。(分数:2.00)A.DOUBLEB.abc C._5_D.xyz解析:14.数据库系统的核心是 _ 。(分数:1.00)A

    25、.数据库 B.数据库管理系统C.数据模型D.软件工具解析:解析 数据库系统由这样几部分组成:数据库(数据)、数据库管理系统(软件)、数据库管理员(人)、硬件平台、软件平台。这五个部分构成了一个数据库系统,而其中数据库是整个系统的核心。15.建立一个有成员对象的派生类对象时,各构造函数体的执行次序为_。(分数:2.00)A.派生类、成员对象类、基类B.成员对象类、基类、派生类C.基类、成员对象类、派生类 D.基类、派生类、成员对象类解析:解析 建立派生类对象的时候,构造函数的执行顺序如下:执行基类的构造函数,调用的顺序按照基类被继承时候的顺序(自左向右)。然后是执行成员对象的构造函数,调用顺序按

    26、照各个成员对象在类中的声明顺序(自上而下),最后是执行派生类的构造函数。16.有如下数组声明:int num10;,下标值引用错误的是(分数:1.00)A.num10 B.num5C.num3D.num0解析:解析 数组定义中的数字指的是数组的大小,而下标是从 0开始的,所以题中数组的最后一个元素是 num9。17.C+中,由类 istream和类 ostream而派出的一个类 _ ,它提供双向 I/O操作。(分数:1.00)A.iostream B.fstreamC.strstreamD.istream解析:18.以下结构类型可用来构造链表的是_ 。(分数:2.00)A.street aai

    27、nt a;int *b;B.struct bb int a;bb*b; C.struct ccint *a;cc b;D.struct dd int *a;aa b;解析:解析 如果要构造链表,则必须有指向下一个结点的指针。19.下列叙述中,错误的是_。(分数:2.50)A.false是一个逻辑型常量B.“b”是一个字符型常量C.365是一个 int常量D.3.1415926是一个 double常量 解析:解析 double 型数据一般占 8个字节,D 选项超出了范围。20.下列关系运算中,能使经运算后得到的新关系中属性个数多于原来关系中属性个数的是 _ 。(分数:2.00)A.选择B.连接

    28、C.投影D并解析:21.有如下函数模板: templateclass TT square(T x) retum x*x; 其中的参数 T是_。(分数:1.00)A.函数形参B.函数实参C.模板实参D.模板形参 解析:解析 本题 x为函数形参,选项 A错误;函数实参和模板实参只有在函数模板被调用并实例化的时候才可知,选项 B、C 错误;T 是模板形参,选项 D正确。答案为 D选项。22.下列说法中错误的是(分数:1.00)A.公有继承时基类中的 public成员在派生类中仍是 public成员B.私有继承时基类中的 protecte成员在派生类中仍是 protected成员 C.私有继承时基类中

    29、的 public成员在派生类中是 private成员D.保护继承时基类中的 public成员在派生类中是 protected成员解析:23.通过运算符重载,可以改变运算符原有的_。(分数:1.00)A.操作数类型 B.操作数个数C.优先级D.结合性解析:解析 重载运算符的规则如下:C+不允许用户自己定义新的运算符,只能对已有的 C+运算符进行重载;C+不能重载的运算符只有 5个;重载不能改变运算符运算对象的个数;重载不能改变运算符的优先级和结合性;重载运算符的函数不能有默认的参数;重载的运算符必须和用户定义的自定义类型的对象一起使用,至少应有一个是类对象,即不允许参数全部是 C+的标准类型。故

    30、本题答案为A。24.在 C+语言中函数返回值的类型是由_决定的。(分数:2.50)A.调用该函数时系统临时B.return语句中的表达式类型C.定义该函数时所指定的函数类型 D.调用该函数时的主调函数类型解析:解析 C+中函数 return语句中返回的类型应与函数定义指定的类型一致,即函数定义的类型即为函数应返回的类型。25.执行下列语句段后 int n=0;for(int i=70;i0;i-=3)n+; n的值是_。(分数:2.00)A.23B.24 C.25D.71解析:26.已知 Value是一个类,value 是 Value的一个对象。下列以非成员函数形式重载的运算符函数原型中,正确

    31、的是_。(分数:1.00)A.Value operator+(Value v,int i); B.Value operator+(Value V=value,int i);C.Value operator+(Value v,int i=0);D.Value operator+(Value V=value,int i=0);解析:解析 本题考查运算符重载,其中重载运算符的函数不能有默认的参数,所以本题答案为 A。27.在关系代数运算中,有 5种基本运算,它们是_。(分数:2.50)A.并()、差(-)、交()、除()和笛卡儿积()B.并()、差(-)、交()、投影()和选择()C.并()、交()

    32、、投影()、选择()和笛卡儿积()D.并()、差(-)、投影()、选择()和笛卡儿积() 解析:解析 并、差、笛卡儿积、投影和选择是 5种基本的运算,其他运算即交、连接和除,均可以通过 5种基本的运算来表达。28.已知各变量的定义如下 int i=8,k,a,b; unsigned long w=5; double x= 1.42,y=5.2; 则以下符合 C+语言语法的表达式是 _ 。(分数:2.00)A.a+=a-=(b=4)*(a=3) B.a=a*3+2C.x%(-3)D.y=float i解析:29.有以下程序: Class Date public: Date(int y,int m

    33、,int d); yeary; month=m; dayd; Date(int y2000) yeary; month10; day=1;) Date(Date class Base public: Base()cout“BB“; f(); void f()cout“BF“; ; class Derived:public Base public: Derived()cout“DD“; void f()cout“Df“; ; int main()Derived d;return 0; 执行上面的程序将输出_。(分数:1.00)A.BBBfDD B.BBDfDDDfC.DDD.DDBBBf解析:解

    34、析 本题考查类的继承和派生。派生类执行构造函故的一般次序为:首先调用基类构造函数;然后调用成员对象的构造函数;最后是派生类构造函数中的内容。题目中定义派生类对象 d时,先调用基类 Base的构造函数,输出 BBBf,然后调用派生类 Derived的构造函数,输出 DD。32.已知类 X成功地重载了-、+、=、这几个运算符。则其中肯定属于成员函数的运算符是_。(分数:2.50)A.前置-和口B.=和 C.和后置-D.+和=解析:解析 赋值运算符一和运算符只能作为成员函数重载,而-,+则没有限止。33.下面这个程序段的时间复杂度是 _ 。 for (i=1; in; i+) y=y+1; for

    35、(j=0;j=(2*n);j+) X+; A.O(log2n) B.O(n) C.O(nlog2n) D.O(n2)(分数:1.00)A.B.C.D. 解析:解析 语句的频度指的是该语句重复执行的次数。一个算法中所有语句的频度之和构成了该算法的运行时间。在本例算法中,其中语句“y=y+1;”的频度是 n-1,语句“x+;”的频度是(n-1)(2n+1)=2n 2 -n-1, 则该程序段的时间复杂度是 T(n)=n-1+2n 2 -n-1=O(n 2 )。34.在 C+程序中,如果要求通过函数来实现一种简单的功能,并且要求尽可能加快程序执行速度,则应该选用_。(分数:2.50)A.内联函数 B.

    36、重载函数C.递归调用D.嵌套调用解析:解析 本题考查的是内联函数的相关知识点。C+引入内联函数是用它来代替 C语言中的预处理宏函数,内联函数在调用时,是将表达式用内联函数体来替换,这样会加快程序的执行速度。35.以下程序的输出结果是_。 main() int a=4,b=5,c=0,d; d=!a coutdendl; (分数:2.50)A.1 B.0C.非 0的数D.-1解析:解析 本题考查逻辑运算,只要考生掌握了逻辑运算的优先级就可以正确得到答案为选项 A。或运算的优先级最高,解析:解析 考查拷贝构造函数的方法。 解题要点 固定的一种拷贝方式就是类名: 类名const类名&引用对象名 考点

    37、链接 如果一个类中没有声明,拷贝构造函数,编译器会自动生成一个如上述形成的仅有的拷贝构造函数。38.下面关于虚函数的描述,错误的是(分数:1.00)A.在成员函数声明的前面加上 virtual修饰,就可把该函数声明为虚函数B.基类中说明了虚函数后,派生类中对应的函数也必须说明为虚函数 C.虚函数可以是另一个类的友元函数,但不能是静态成员函数D.基类中说明的纯虚函数在其任何派生类中都必须实现解析:解析 基类中说明的虚函数,在派生类中自然就是虚函数,对于纯虚函数必须在后面继承的派生类中给出具体的实现;静态成员函数不能进行动态联编,所以虚函数不能是静态的。39.下列叙述中正确的是 _ 。(分数:2.

    38、00)A.一个逻辑数据结构只能有一种存储结构B.逻辑结构属于线性结构,存储结构属于非线性结构C.一个逻辑数据结构可以有多种存储结构,且各种存储结构不影响数据处理的效率D.一个逻辑数据结构可以有多种存储结构,且各种存储结构影响数据处理的效率 解析:解析 数据的存储结构是指数据的逻辑结构在计算机存储空间中的存放形式,一种数据结构可以根据需要采用不同的存储结构,常用的存储结构有顺序和链式结构。采用不同的存储结构,共处理的效率是不同的。40.有如下程序 #includeiostream.h void main() char ch25=“6937“,“8254“,*p2; int i,j,s0; for

    39、(i0;i(2;i+)pichi; for(i0;i(2;i+) for(j0;pij“/0,j+2) s10*s+pij-“0“; couts; 该程序的输出结果是 _ 。(分数:2.00)A.69825B.63825C.6385 D.693825解析:解析 该题主要要搞清楚以下几点:定义了一个指针数组 char *p2后,程序中第一个循环or(i=o;i2,i+)pi=chi;的作用是使指针数组的 p0元素(它本身是一个指针)指向了二维数组ch的第一行字符串,井使指针数组的 p1元素指向了二维数组 ch的第二行字符串,这样,就使指针数组p和二维数蛆 ch建立起了一种对应关系,以后对二维数组

    40、 ch的某个元素的引用就有两种等价的形式;chij或 Pij。对二维数组 ch的初始化,使其第一行 ch0中存入了字符串“6937“,第二行ch1中的内容为字符串”8254”。程序中第二个循环中的循环体 s=s。10+pij -“0“;的功能是这样的,每执行一次,将 s中的值乘以 10(也即,将 s中的数值整体向左移动一位,并在空出来的个位上添一个 0),再将当前 pij中的字符量转换为相应的数字,然后把这个数字加到 s的个位上。注意到内层循环的循环条件 pij,“/0“是指 pij中的字符只要不是字符串结束标志“/0“就继续循环,语句j+2;是使下标 j每次增加 2,也即一个隔一个地从 pi所指向的字符串中取出字符。经过上述解析后,不难看出,该程序首先从 p0所指向的字符串” 6937“中一个隔一个地取出字符,分别是“6“和“3“,然后从 p1所指向的宇符串“8254“,中一个隔一个地取出字符,分别是”“8“和“5“,同时经过转换和相加运算后,结果 s中的值应该是 6385。


    注意事项

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




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

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

    收起
    展开