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

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

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

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

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

    1、国家计算机二级(C+)93 及答案解析(总分:460.00,做题时间:120 分钟)一、选择题(每小题 2 分,共 70 分) 下列各(总题数:35,分数:70.00)1.下面程序的功能是把 316 表示为两个加数的和,使两个加数分别能被 13 和 11 整除,在划线处应填入的是( )。 #includeiostream.h voidmain( ) inti=0,j,k; doi+;k=316-13*i;while(_); j=k/11; cout“316=13*“i“+11*“j; (分数:2.00)A.7B.8C.11D.122.已知函数 f 的原型是:voidf(int*a,long B

    2、.char str=“/x43“;C.char str=;D.char str=“/0“;8.下列描述中,抽象类的特性是( )。(分数:2.00)A.class B B.class B extends A C.class B extends A B( )System.out.println(“=“+i); D.class A 9.下列语句中,错误的是_。(分数:2.00)A.const int buffer=256;B.const double*point;C.int const buffer=256;D.double*const point;10.现有以下结构体说明和变量定义,如图所示,指针

    3、 p、q、r 分别指向一个链表中连续 的三个结点。 struct node char data; struct node *next; *p,*q,*r; (分数:2.00)A.q-next=r-next; p-next=r;r-next=q;B.p-next=r; q-next=r-next;r-next=q;C.q-next=r-next;r-next=q;p-next=r;D.r-next=q;p-next=r;q-next=r-next;11.下列有关类继承的叙述中,错误的是(分数:2.00)A.继承可以实现软件复用B.虚基类可以解决由多继承产生的二义性问题C.派生类构造函数要负责调用

    4、基类的构造函数D.派生类没有继承基类的私有成员12.要想使 2378965421 的输出为 237887 应用的语句是( )。(分数:2.00)A.cout 2378965421;B.cout fixed 2378965421:C.cout 2378965421 -0001:D.cout fixed 2378965421 -0001;13.若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是( )。(分数:2.00)A.函数调用可以作为独立的语句存在B.函数调用可以无返回值C.函数调用可以出现在表达式中D.函数调用可以作为一个函数的形参14.有如下程序 #include #includ

    5、e using namespace std; int main() count * ,:,?:B.+,-,new,delete,=C.sizeof,new,delete,+,-D.sizeof,new,delete,+,-20.关于函数重载,下列叙述中错误的是(分数:2.00)A.重载函数的函数名必须相同B.重栽函数必须在参数个数或类型上有所不同C.重栽函数的返回值类型必须相同D.重栽函数的函数体可以有所不同21.以下与函数 fseek(fp,0L,SEEK_SET)有相同作用的是_。 (分数:2.00)A.feof(fp)B.ftell(fp)C.fgetc(fp)D.rewind(fp)2

    6、2.有如下程序 #includeiostreamh voidmain( ) charch25=“6937“,“8254“,*p2; inti,j,s=0; for(i=0;i2;i+)pi=chi; for(i=0;i2;i+) for(j=0;pij,/0,;j+=2) s=10*s+pij-0; coutS; 该程序的输出结果是( )。 (分数:2.00)A.选择和投影B.投影和选择C.选择和联接D.投影和联接23.sizeof(float)是( )。(分数:2.00)A.NameB.EnabledC.CaptionD.Visible24.以下叙述中错误的是_。 (分数:2.00)A.C

    7、语言中对二进制文件的访问速度比文本文件快B.C 语言中,随机文件以二进制代码形式存储数据C.语句 FILE fp;定义了一个名为 fp 的文件指针D.C 语言中的文本文件以 ASCII 码形式存储数据25.下列程序的输出结果是( )。 #includeiostreamh void main( ) char * str=“12123434“; int x1=0,x2=0,x3=0,x4=0,i; for(i=0;stri!=/0;i+) switch(stri) case1:x4+; case2:x3+; case3:x2+; case4:x1+; cout x1 “,“ x2 “,“ x3 “

    8、,“ x4; (分数:2.00)A.8,6,4,1B.8,6,3,2C.8,8,4,1D.8,6,4,226.下面是一个模板声明的开始部分: Templatetypename Tdouble. 由此可知(分数:2.00)A.这可能是一个函数模板的声明B.这可能是一个类模板的声明C.这既可能是一个函数模板的声明,也可能是一个类模板的声明D.这肯定是一个错误的模板声明27.数据库 DB、数据库系统 DBS、数据库管理系统 DBMS 之间的关系是_。 (分数:2.00)A.DB 包含 DBS 和 DBMSB.DBMS 包含 DB 和 DBSC.DBS 包含 DB 和 DBMSD.没有任何关系28.已

    9、有定义:char a=“xyz“,b=x,y,z;,以下叙述中正确的是_。 (分数:2.00)A.数组 a 和 b 的长度相同B.a 数组长度小于 b 数组长度C.a 数组长度大于 b 数组长度D.上述说法都不对29.以下程序中循环体总的执行次数是( )。 int i,j; for(i=6;i1;i-) for(j=0;ji;j+) (分数:2.00)A.15B.16C.17D.1830.以下叙述中正确的是( )。(分数:2.00)A.Private Sub Form_Mouse Down(Button As Integer,Shift As Integer,- X As Single,Y A

    10、s Single) If Button=2 Then PopupMenu Bs,2 End SubB.Private Sub Form_MouseDown(Button As Integer,Shift As Integer,- X As Single,Y As Single) PopupMenu Bs End SubC.Private Sub FOrm_MouseDown(Button As Integer,Shift As Integer,- X As Single,Y As Single) PopupMenu Bs,0 End SubD.Private Sub Form_MouseDow

    11、n(Button As Integer,Shin As Integer,- X As Single,Y As Single) If(Button=vbLeftButton)Or(Button=vbRightButton)Then PopupMenu Bs End Sub31.C+语言中标点符号中表示一条预处理命令开始的是( )。(分数:2.00)A.StyleB.DefaultC.CaptionD.Cancel32.若定义 intk=7,x=12;,则能使值为 3 的表达式是( )。(分数:2.00)A.Alt+F2B.ablC.随机出儿个数D.不发生变化33.下面选项中不属于面向对象程序设计

    12、特征的是(分数:2.00)A.继承性B.多态性C.类比性D.封装性34.下列对于线性链表的描述中正确的是_。 (分数:2.00)A.存储空间不一定是连续,且各元素的存储顺序是任意的B.存储空间不一定是连续,且前件元素一定存储在后件元素的前面C.存储空间必须连续,且前件元素一定存储在后件元素的前面D.存储空间必须连续,且各元素的存储顺序是任意的35.有以下程序 void fun1(char *p) char *q; q=p; while(*q!= /0) (*q)+;q+; main() char a=“Program “,*p; p=fun1(p); printf(“%s/n“,a); 程序执

    13、行后的输出结果是_。 (分数:2.00)A.ProhsbnB.PrphsbnC.ProgsbnD.Program二、填空题(每空 2 分,共 30 分)(总题数:13,分数:390.00)36.C+语言中表示双精度浮点数的关键字是 1。(分数:30.00)填空项 1:_37.C+语言提供的基本控制结构可以分为 3 种类型:顺序结构、 1 和循环结构。(分数:30.00)填空项 1:_38.以下程序中函数 fun 的功能是:构成一个如图所示的带头结点的单向链表,在结点 的数据域中放入了具有两个字符的字符串。函数 disp 的功能是显示输出该单向链表 中所有结点中的字符串。请填空完成函数 disp

    14、。 head ab cd ef /0 #include typedef struct node /*链表结点结构*/ char sub3; struct node *next; Node; Node fun(char s) /* 建立链表*/ void disp(Node *h) Node *p; p=h-next; while(= 1 ) printf(“%s/n“,p-sub);p= 2 ; main3 Node *hd; hd=fun4; disp(hd);printf(“/n“); (分数:30.00)填空项 1:_39.下列程序的输出结果是 1。 #inCludeiostream u

    15、sing namespace std; class Test public: Test2 cnt; Test3cnt; static int Count4 return cnt; private: static int cnt; ; int Test:cnt0; int main5 coutTest:Count6“; Test t1,t2; Test*pT3new Test; Test*pT4new Test; coutTest:Count7; delete pT4; delete pT3; coutTest:Count8endl; return 0; (分数:30.00)填空项 1:_40.

    16、在类中, 1 成员为类的所有对象所共享。 (分数:30.00)填空项 1:_41.以下程序运行后的输出结果是 1 。 ; main2 struct NODE s3=1,/0,2,/0,3,/0,*p,*q,*r; int sum=0; s0.next=s+1; s1.next=s+2; s2.next=s; p=s; q=p-next; r=q-next; sum+=q-next-num; sum+=r-next-next-num; printf(“%d/n“,sum); (分数:30.00)填空项 1:_42.如果一个工人可管理多个设备,而一个设备只被一个工人管理,则实体“工人“与实体“设备

    17、“之间存在 1 关系。(分数:30.00)填空项 1:_43.若变量 a,b 已定义为 int 类型并赋值 21 和 55,要求用 printf 函数以 a=21,b=55 的形式输 出,请写出完整的输出语句 1。(分数:30.00)填空项 1:_44.如下程序声明了一个使用两个通用数据类型的模板类 dataClass,其中构造函数用于初始化两个数据成员,成员函数 show 用于输出两个数据成员的数值。 #includeiostream using namespace std; 1 T1 i; T2 j; public: dataClass(T1 a, T2 b)i=a;j=b; void s

    18、how2couti“,“j/n; ; int main3 dataClassint. doubleob1(10,0.23) dataCllasschar,char *ob2(X,“my data“); ob1show4; ob2show5; return 0; 请将程序补充完整,使程序在运行时输出: 10,0.23 X,my data (分数:30.00)填空项 1:_45.在 MyClass 类的定义中,对赋值运算符“=“进行重载。请将画线处缺失的部分补充完整。 1 MyClass:operator=(const MyClass printf(“%X/n“,x); (分数:30.00)填空项

    19、 1:_47.静态成员函数可以直接访问类的 1 成员,不能直接访问类的 2 成员。(分数:30.00)填空项 1:_48.已知一个函数的原型是 int fn(double x); 若要以 527 为实参调用该函数,应使用表达式【8。(分数:30.00)填空项 1:_国家计算机二级(C+)93 答案解析(总分:460.00,做题时间:120 分钟)一、选择题(每小题 2 分,共 70 分) 下列各(总题数:35,分数:70.00)1.下面程序的功能是把 316 表示为两个加数的和,使两个加数分别能被 13 和 11 整除,在划线处应填入的是( )。 #includeiostream.h void

    20、main( ) inti=0,j,k; doi+;k=316-13*i;while(_); j=k/11; cout“316=13*“i“+11*“j; (分数:2.00)A.7 B.8C.11D.12解析:C+语言中逗号“,”也是一种运算符,称为逗号运算符。其功能是把两个表达式连接起来组成一个表达式,称为逗号表达式。其一般形式为:表达式 1,表达式 2,其求值过程是分别求两个表达式的值,并以表达式 2 的值作为整个逗号表达式的值。逗号表达式的一般形式可以扩展为:表达式 1,表达式 2,表达式 3,表达式 n,它的值为表达式 n 的值。2.已知函数 f 的原型是:voidf(int*a,lon

    21、g void main( ) int a=10,b=20; couta“ “b; swap(B.char str=“/x43“;C.char str=;D.char str=“/0“; 解析:C 语言中,字符串是用一对双引号括起来的字符序列,并用字符型数组来存放,故选项 A、C 不属 于字符串, 选项 B 定义的是一个字符变量 str,却用来存放字符串,显然也不正确,所以选项 D 正确。8.下列描述中,抽象类的特性是( )。(分数:2.00)A.class B B.class B extends A C.class B extends A B( )System.out.println(“=“+

    22、i); D.class A 解析:局部变量在使用前必须进行初始化,而代码中的变量 k 在使用前 没有进行初始化。 9.下列语句中,错误的是_。(分数:2.00)A.const int buffer=256;B.const double*point;C.int const buffer=256;D.double*const point;解析:10.现有以下结构体说明和变量定义,如图所示,指针 p、q、r 分别指向一个链表中连续 的三个结点。 struct node char data; struct node *next; *p,*q,*r; (分数:2.00)A.q-next=r-next;

    23、p-next=r;r-next=q;B.p-next=r; q-next=r-next;r-next=q;C.q-next=r-next;r-next=q;p-next=r;D.r-next=q;p-next=r;q-next=r-next; 解析:选项 D 中首先将 q 赋给 r-next,也就是将结点 q 的地址存放在结点 r 的指针域中;接着将 r 赋给 p-next, 也就是将结点 r 的地址存放在结点 p 的指针域中,此时完成了 q 和 r 所指结点的交换。q-next=r-next 的目 的是想将 q 的指针域指向下一个结点的数据地址,但由于一开始执行了 r-next= q,即已将

    24、 r 的指针域中存 放了 q 结点的地址,所以再做操作“q-next=r-next”就相当于将 q 指向了其本身,也就是和下一个结点断开了,所以选项 D 操作错误。11.下列有关类继承的叙述中,错误的是(分数:2.00)A.继承可以实现软件复用B.虚基类可以解决由多继承产生的二义性问题C.派生类构造函数要负责调用基类的构造函数D.派生类没有继承基类的私有成员 解析:派生方式分为两种:private 派生或 public 派生,分别被称为私有派生和公有派生,使用 public派生,基类的所有成员在派生类中的访问权限不变。12.要想使 2378965421 的输出为 237887 应用的语句是(

    25、)。(分数:2.00)A.cout 2378965421;B.cout fixed 2378965421:C.cout 2378965421 -0001: D.cout fixed 2378965421 -0001;解析:C+语言中默认小数的输出位一共是 6 位,fixed 的意义是在小数点后保留 6 位。13.若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是( )。(分数:2.00)A.函数调用可以作为独立的语句存在B.函数调用可以无返回值C.函数调用可以出现在表达式中D.函数调用可以作为一个函数的形参 解析:本题考查函数的调用方式。函数的形参和实参具有以下特点: 形参变量只有在

    26、被调用时才分配内存单元,在调用结束时,即刻释放所分的内存单元。因此,形参只有在函数内部有效。函数调用结束返回主调函数后则不能再使用该形参变量。实参可以是常量、变量、表达式、函数等,无论实参是何种类型的量,在进行函数调用时,它们都必须具有确定的值,以便把这些值传送给形参。因此应通过预先用赋值,输入等办法使实参获得确定值。实参和形参在数量上,类型上,顺序上应严格一致,否则会发生“类型不匹配”的错误。函数调用中发生的数据传送是单向的。即只能把实参的值传送给形参,而不能把形参的值反向地传送给实参。因此在函数调用过程中,形参的值发生改变,而实参中的值不会变化。注意:函数调用不可以作为一个函数的形参。 1

    27、4.有如下程序 #include #include using namespace std; int main() count * ,:,?: B.+,-,new,delete,=C.sizeof,new,delete,+,-D.sizeof,new,delete,+,-解析:本题考查 C+浯言中不能够重载的操作符。C+语言中的不能重载的操作符是.,. * ,- * ,:和?:。 20.关于函数重载,下列叙述中错误的是(分数:2.00)A.重载函数的函数名必须相同B.重栽函数必须在参数个数或类型上有所不同C.重栽函数的返回值类型必须相同 D.重栽函数的函数体可以有所不同解析:所谓函数重载是指同

    28、一个函数名可以对应着多个函数的实现。这些函数的函数名相同,返回值类型不一定相同,函数体可以有所不同。但一定要注意,重载函数的参数类型和参数个数一定要不同,即要么参数的类型不同,要么参数的个数不同,要么参数的类型和个数都不同。21.以下与函数 fseek(fp,0L,SEEK_SET)有相同作用的是_。 (分数:2.00)A.feof(fp)B.ftell(fp)C.fgetc(fp)D.rewind(fp) 解析: fseek 函数用于改变文件的位置指针。 本题中“fseek(fp,0L,SEEK_SET)”的作用是将位置指针移到文件头。feof 的作用是判断文件是否结束,已指到文件的末尾,则

    29、返回值为非零,否则为零。ftell 的作用是得到流式文件中的当前位置,用相对于文件开头的位移量来表示。fgets 的作用是指定文件读入一个字符串。22.有如下程序 #includeiostreamh voidmain( ) charch25=“6937“,“8254“,*p2; inti,j,s=0; for(i=0;i2;i+)pi=chi; for(i=0;i2;i+) for(j=0;pij,/0,;j+=2) s=10*s+pij-0; coutS; 该程序的输出结果是( )。 (分数:2.00)A.选择和投影 B.投影和选择C.选择和联接D.投影和联接解析:本题中,若要保证 for

    30、表达式能正常进行,首先要保证第 2 个表达式的条件判断值应该为真,从而保证循环进行。23.sizeof(float)是( )。(分数:2.00)A.NameB.Enabled C.CaptionD.Visible解析:选项 A)该布局管理器将容器划分为五个部分,容器大小的改变不 会影响其中的组件的位置,而是影响它们的大小。选项 B)该布局管理器的容器大小发生变化时,构件的大小不变,但是相对位置会发生变化。选项 C)该布局管理器显示放入该容器的当前页中的组件,一次显示一个,容器大小的改变不能影响其中组件的位置。 选项 D)该布局管理器将容器划分为固定的网格,组件加入后占据一个单元,各组件的相 对

    31、位置不会因为容器的大小变化而变化,改变的只是组件的大小。24.以下叙述中错误的是_。 (分数:2.00)A.C 语言中对二进制文件的访问速度比文本文件快B.C 语言中,随机文件以二进制代码形式存储数据C.语句 FILE fp;定义了一个名为 fp 的文件指针 D.C 语言中的文本文件以 ASCII 码形式存储数据解析:FILE 是由系统定义的一个结构体类型,并用该类型来定义若干个 FILE 类型的变量,以便存放若干 个文件。所以用 FILE 定义的变量必须是数组或指针,所以选项 C 中的“FILE fp;”改为“FILE *fp;”就 对了。25.下列程序的输出结果是( )。 #include

    32、iostreamh void main( ) char * str=“12123434“; int x1=0,x2=0,x3=0,x4=0,i; for(i=0;stri!=/0;i+) switch(stri) case1:x4+; case2:x3+; case3:x2+; case4:x1+; cout x1 “,“ x2 “,“ x3 “,“ x4; (分数:2.00)A.8,6,4,1B.8,6,3,2C.8,8,4,1D.8,6,4,2 解析:本题考查 for 和 switch 语句的应用。本题考查循环的嵌套。只要注意在 c+语言中,系统在字符指针的最后位置会增加一个字符串结束符/

    33、0,执行 8 次 for 循环,再根据 switch 语句中的条件易知答案。26.下面是一个模板声明的开始部分: Templatetypename Tdouble. 由此可知(分数:2.00)A.这可能是一个函数模板的声明 B.这可能是一个类模板的声明C.这既可能是一个函数模板的声明,也可能是一个类模板的声明D.这肯定是一个错误的模板声明解析:类模板说明的一般形式是: template类型形参表 class类名 /类说明体? ; 函数模板的一般说明形式如下 template模板形参表 返回值类型函数名(模板函数形参表) /函数定义体 27.数据库 DB、数据库系统 DBS、数据库管理系统 DB

    34、MS 之间的关系是_。 (分数:2.00)A.DB 包含 DBS 和 DBMSB.DBMS 包含 DB 和 DBSC.DBS 包含 DB 和 DBMS D.没有任何关系解析:数据库系统由如下几部分组成:数据库、数据库管理系统、数据库管理员、系统平台(硬件平台和 软件平台)。28.已有定义:char a=“xyz“,b=x,y,z;,以下叙述中正确的是_。 (分数:2.00)A.数组 a 和 b 的长度相同B.a 数组长度小于 b 数组长度C.a 数组长度大于 b 数组长度 D.上述说法都不对解析:C 语言规定/0为字符串结束标志。所以“char a=“xyz“”的数组长度为 4,而“b=x,y

    35、,z;”的 数组长度为 3,数组长度与 strlen 函数所求的长度不同,本题是指数组占内存空间的大小。29.以下程序中循环体总的执行次数是( )。 int i,j; for(i=6;i1;i-) for(j=0;ji;j+) (分数:2.00)A.15B.16 C.17D.18解析:在 Visual FoxPro 中,惟一索引的“惟一性”是指索引项的惟一,允许出现重复的字段值,但重复的索引字段值只有惟一一个值,即第一个字段值出现在索引项中。30.以下叙述中正确的是( )。(分数:2.00)A.Private Sub Form_Mouse Down(Button As Integer,Shif

    36、t As Integer,- X As Single,Y As Single) If Button=2 Then PopupMenu Bs,2 End Sub B.Private Sub Form_MouseDown(Button As Integer,Shift As Integer,- X As Single,Y As Single) PopupMenu Bs End SubC.Private Sub FOrm_MouseDown(Button As Integer,Shift As Integer,- X As Single,Y As Single) PopupMenu Bs,0 End

    37、 SubD.Private Sub Form_MouseDown(Button As Integer,Shin As Integer,- X As Single,Y As Single) If(Button=vbLeftButton)Or(Button=vbRightButton)Then PopupMenu Bs End Sub解析:在程序的多级调用中,如果在某个子程序的返回语句中加入了选项 TO MASTER,那么在执行程序嵌套时,它们的返回次序将被改变。本题在子程序 PROG3.prg 中加入了选项 TO MASTER,那它们的返回次序将是由子程序 PROG3prg 直接返回到主程序。3

    38、1.C+语言中标点符号中表示一条预处理命令开始的是( )。(分数:2.00)A.StyleB.DefaultC.CaptionD.Cancel 解析:paint( )和 repaint( )方法都可以用于 Applet 的重新显示。32.若定义 intk=7,x=12;,则能使值为 3 的表达式是( )。(分数:2.00)A.Alt+F2B.ablC.随机出儿个数D.不发生变化 解析: 此题是有关 KeyDown 事件的题目,KeyDown 是当一个键被按下时所产生的事件,而 KeyUp 是松开被按的键时产生的事件,如果要判断是否按下了某个转换键,可以用逻辑运算符 And。例如:先定义了下面

    39、3 个符号常量:Const Shift=1,Const Ctrl=2,Const Alt=4;然后用下面的语句判断是否按下Shift、Ctrl、Alt 键; 如果 Shift And Shift 0,则按下了 Shift 键; 如果 Shift And Ctrl 0,则按下了 Ctrl 键; 如果 Shift And Alt 0,则按下了 Alt 键; 这里的 Shift时 KeyDown 的第二个参数;此事件过程中的 If 后的条件语句如果为真, 则是按下了 Alt+F2,而本题目中是按下了 Shift+F2,所以不执行 Then 语句,即文本框的内容无变化。 33.下面选项中不属于面向对象

    40、程序设计特征的是(分数:2.00)A.继承性B.多态性C.类比性 D.封装性解析:面向对象程序设计的特征包括:分类性、多态性、封装性、继承性等。34.下列对于线性链表的描述中正确的是_。 (分数:2.00)A.存储空间不一定是连续,且各元素的存储顺序是任意的 B.存储空间不一定是连续,且前件元素一定存储在后件元素的前面C.存储空间必须连续,且前件元素一定存储在后件元素的前面D.存储空间必须连续,且各元素的存储顺序是任意的解析:在链式存储结构中,存储数据结构的存储空间可以不连续,各数据结点的存储顺序与数据元素之间 的逻辑关系可以不一致,而数据元素之间的逻辑关系是由指针域来确定的。35.有以下程序

    41、 void fun1(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)+,首先

    42、根据()的优先级得到 a3的值“g”,再进行加 1 运算,所以 g 也就变成了 h;表达式 q+是将地址加 1,也就是指向下一个地址 a4。然后再执行 while()语句,直到遇 到/0结束循环,返回形参。二、填空题(每空 2 分,共 30 分)(总题数:13,分数:390.00)36.C+语言中表示双精度浮点数的关键字是 1。(分数:30.00)填空项 1:_ (正确答案:double)解析:C+语言中基本的数据类型关键字,有 int,float,double。 37.C+语言提供的基本控制结构可以分为 3 种类型:顺序结构、 1 和循环结构。(分数:30.00)填空项 1:_ (正确答案:

    43、选择结构)解析:顺序结构(也叫连续结构)和循环结构是经常被使用的,不过选择结构(if 和 switch)也是一种重要的流程控制结构。38.以下程序中函数 fun 的功能是:构成一个如图所示的带头结点的单向链表,在结点 的数据域中放入了具有两个字符的字符串。函数 disp 的功能是显示输出该单向链表 中所有结点中的字符串。请填空完成函数 disp。 head ab cd ef /0 #include typedef struct node /*链表结点结构*/ char sub3; struct node *next; Node; Node fun(char s) /* 建立链表*/ void

    44、disp(Node *h) Node *p; p=h-next; while(= 1 ) printf(“%s/n“,p-sub);p= 2 ; main3 Node *hd; hd=fun4; disp(hd);printf(“/n“); (分数:30.00)填空项 1:_ (正确答案:p!=NULL 或 p 或 p!=0 或 p!=/0 , p-next 或 (*p).next)解析:此题主要考核的是用指针处理链表。自定义结构体类型名为 Node,并定义一个指向结点类型的指针 next。用 Node 来定义头结点指针变量 h,并定义另一个指针变量 p 指向了第一个结点,在满足 p 未指向最

    45、 后一个结点的空指针时,输出 p 所指向结点的字符串,所以第一个空填 p!=NULL 或 p 或 p!=0 或 p!=/0, 然后将 p 指向下一个非空结点,所以第二个空填 p-next 或与其等效的形式,反复执行直到所有的结点都输 出,即遇到 p 的值为 NULL。39.下列程序的输出结果是 1。 #inCludeiostream using namespace std; class Test public: Test2 cnt; Test3cnt; static int Count4 return cnt; private: static int cnt; ; int Test:cnt0; int main5 coutTest:Count6“; Test t1,t2; Test*pT3new Test; Test*pT4new Test; coutTest:Count7; delete pT4; delete pT3; coutTest:Count8endl; return 0; (分数:30.00)填空项 1:_ (正确答案


    注意事项

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




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

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

    收起
    展开