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

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

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

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

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

    1、二级 C+笔试-205 及答案解析(总分:110.00,做题时间:90 分钟)一、选择题(总题数:40,分数:80.00)1.有下列程序:#includestdio.h#define N 4void fun(int aN,int b)( int i;for(i=0;iN,i+)bi=aii;void main()int xN=1,2,3,4,5,6,7,8,9,10,yN,i;fun(x,y);for(i=0;in;i+)printf(“%d,“,yi);printf(“/n“);程序的运行结果是( )。(分数:2.00)_2.有下列程序:#includestdio.hvoid main()i

    2、nt x=1,y=2,z=3;if(xy)if(yz)printf(“%d“,+z);else printf(“%d“,+y);printf(“%d/n“,x+);程序的运行结果是( )。(分数:2.00)A.331B.41C.2D.13.下列叙述中错误的是( )。(分数:2.00)A.用户定义的函数中可以没有 return 语句B.用户定义的函数中可以有多个 return 语句,以便可以调用一次返回多个函数值C.用户定义的函数中若没有 return 语句,则应当定义函数为 void 类型D.函数的 return 语句中可以没有表达式4.下列关于宏的叙述中正确的是( )。(分数:2.00)A.

    3、宏名必须用大写字母表示B.宏定义必须位于源程序中所有语句之前C.宏替换没有数据类型限制D.宏调用比函数调用耗费时间5.执行下列程序后,w 的值为( )。int w=A,x=14,y=15;w=(x|y)(wa);(分数:2.00)A.-1B.NULLC.1D.06.有下列程序:#includestdio.hvoid main()int i,j;for(i=3;i=1;i-)for(j=1;j=2;j+)printf(“%d“,i+j);printf(“n“);程序的运行结果是( )。(分数:2.00)A.2 3 43 4 5B.4 3 25 4 33 4C.2 33 42 3D.4 54 57

    4、.在数据管理技术发展的 3 个阶段中,数据共享最好的是( )。(分数:2.00)A.人工管理阶段B.文件系统阶段C.数据库系统阶段D.3 个阶段相同8.有下列程序:#includestdio.hvoid main()stuct STUchar name9;char sex;double score2;);stuct STU a=“ZhaO“,m,85.0,90.0,b=“Qian“,f,95.0,92.0);b=a;printf(“%s,%c,%2.0,%2.0、n“,b.name,b.sex,b.score0,bscore1);程序的运行结果是( )。(分数:2.00)A.Qian,f,95

    5、,92B.Qian,m,85,90C.Zhao,f,95,92D.Zhao,m,85,909.数据流图中带有箭头的线段表示的是( )。(分数:2.00)A.控制流B.事件驱动C.模块调用D.数据流10.在长度为 n 的有序线性表中进行二分查找,最坏情况下需要比较的次数是( )。(分数:2.00)A.O(n)B.O(n2)C.O(log2n)D.O(nlog2n)11.一间宿舍可住多个学生,则实体宿舍和学生之间的联系是( )。(分数:2.00)A.一对一B.一对多C.多对一D.多对多12.有下列程序:#includestdio.hvoid main()int i=5;doif(i%3=1)if(

    6、i%5=2)printf(“*%d“,i);break;i+;while(i!=0);printf(“/n“);程序的运行结果是( )。(分数:2.00)A.*7B.*3*5C.*5D.*2*613.在面向对象方法中,不属于“对象”基本特点的是( )。(分数:2.00)A.一致性B.分类性C.多态性D.标识唯一性14.有下列程序:#includestdio.hvoid main()char a=4;printf(“%d/n“,a=a1);程序的运行结果是( )。(分数:2.00)A.40B.16C.8D.415.下列叙述中正确的是( )。(分数:2.00)A.顺序存储结构的存储空间一定是连续的

    7、,链式存储结构的存储空间不一定是连续的B.顺序存储结构只针对线性结构,链式存储结构只针对非线性结构C.顺序存储结构能存储有序表,链式存储结构不能存储有序表D.链式存储结构比顺序存储结构节省存储空间16.有下列程序:#includestdio.hstruct stint x,y,date2=1,10,2,20);void main()struct st *p=date;printf(“%d,“,py);printf(“%d/n“,(+p)x);程序的运行结果是( )。(分数:2.00)A.10,1B.20,1C.10,2D.20,217.下面的函数调用语句中 func 函数的实参个数是( )。f

    8、une(f2(v1,v2),(v3,v4,vS),(v6,max(v7,v8);(分数:2.00)A.3B.4C.5D.818.假定已建立以下链表结构,且指针 p 和 q 已指向如下图所示的结点:(分数:2.00)A.B.C.D.19.有下列程序段:int a,b,c;a=10;b=50;c=30;if(ab)a=b;b=c;c=a;printf(“a=%db=%d c=%d/n“,a,b,c);程序的输出结果是( )。(分数:2.00)A.a=10 b=50 c=10B.a=10 b=50 c=30C.a=10 b=30 c=10D.a=50 b=30 c=5020.若有定义语句“char

    9、s10=“1234567/0/0“;”,则 strlen(s)的值是( )。(分数:2.00)A.7B.8C.9D.1021.有下列程序:#includestdio.hint fun(int a,int b)if(b=0) return a;else return(fun(-a,-b);void main()printf(“%d/n“,fun(4,2);程序的运行结果是( )。(分数:2.00)A.1B.2C.3D.422.有下列程序:#includestdio.hint fun(int(*s)4,int n,int k)int m,i;m=s0k;for(i=1;in;i+)if(sikm)

    10、m=sik;return m;void main()int a44=1,2,3,4,11,12,13,14,21,22,23,24,31,32,33,34;printf(“%d/n“,fun(a,4,0);程序的运行结果是( )。(分数:2.00)A.4B.34C.31D.3223.若有定义语句“int m=5,4,3,2,1),i=4;”则下列对 m 数组元素的引用中错误的是( )。(分数:2.00)A.m-iB.m2*2C.mm0D.mmi24.有下列程序:#includestdio.hvoid fun(int a,int b)int t;t=a; a=b; b=t;void main()

    11、int c10=1,2,3,4,5,6,7,8,9,0),i;for(i=0;i10;i+=2)fun(ci,ci+1);for(i=0;i10;i+)printf(“%d,“,ci);printf(“n“);程序的运行结果是( )。(分数:2.00)A.1,2,3,4,5,6,7,8,9,0B.2,1,4,3,6,5,8,7,0,9C.0,9,8,7,6,5,4,3,2,1D.0,1,2,3,4,5,6,7,8,925.下列选项中正确的定义语句是( )。(分数:2.00)A.double a;b;B.double a=b=7;C.double a=7,b=7Cdouble,a,b;26.若变

    12、量已正确定义为 int 型,要通过语句“scanf(“%d,%d“,a,b,c);”给 a 赋值 1、给 b赋值 2、给 c 赋值 3,以下输入形式中错误的是( 代表一个空格符)( )。(分数:2.00)A.B.C.D.27.计算机能直接执行的程序是( )。(分数:2.00)A.源程序B.目标程序C.汇编程序D.可执行程序28.有下列程序:#includestdio.hvoid fun(int a,int n)int i,t;for(i=0;in/2;i+) t=ai;ai=an-1-i;an-1-i=t;void main()int k10=(1,2,3,4,5,6,7,8,9,10,i;f

    13、un(k,5);for(i=2,i8;i+)printf(“%d“,ki);printf(“/n“);程序的运行结果是( )。(分数:2.00)A.345678B.876543C.1098765D.32167829.C 源程序中不能表示的数制是( )。(分数:2.00)A.二进制B.八进制C.十进制D.十六进制30.有 3 个关系 R、S 和 T 如下:(分数:2.00)A.B.C.D.31.下列叙述中正确的是( )。(分数:2.00)A.循环队列有队头和队尾两个指针,因此循环队列是非线性结构B.在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况C.在循环队列中,只需要队尾指针就能反

    14、映队列中元素的动态变化情况D.循环队列中元素的个数是由队头指针和队尾指针共同决定32.下列叙述中正确的是( )。(分数:2.00)A.C 程序的基本组成单位是语句B.C 程序中的每一行只能写一条语句C.简单 C 语句必须以分号结束D.C 语句必须在一行内写完33.若有表达式“(w)?(-x):(+y)”,则其中与 w 等价的表达式是( )。(分数:2.00)A.w=1B.w=0C.w!=1D.w!=034.有下列程序:#includestdio.h#includestdlib.hint fun(int n)int *p;p=(int*)malloc(sizeof(int);*p=n; retu

    15、rn *p;void main()int a;a=fun(10);printf(“%d/n“,a+fun(10);程序的运行结果是( )。(分数:2.00)A.0B.10C.20D.出错35.下列选项中不能作为 C 语言合法常量的是( )。(分数:2.00)A.cdB.0.1e+6C.“/a“D./01136.下列不能正确表示代数式 (分数:2.00)A.B.C.D.37.一个栈的初始状态为空。现将元素 1、2、3、4、5、A、B、C、D、E 依次入栈,然后再依次出栈,则元素出栈的顺序是( )。(分数:2.00)A.12345ABCDEB.EDCBA54321C.ABCDE12345D.543

    16、21EDCBA38.在软件开发中,需求分析阶段可以使用的工具是( )。(分数:2.00)A.N-S 图B.DFD 图C.PAD 图D.程序流程图39.有下列程序:#includestdio.hvoid main()FILE *pf;char *s1=“China“,*s2=“Beijing“;pf=fopen(“abc.dat“,“wb+“);fwrite(s2,7,1,pf);rewind(pf); /*文件位置指针回到文件开头*/fwrite(s1,5,1,pf);fclose(pf);以上程序执行后 abc.dat 文件的内容是( )。(分数:2.00)A.ChinaB.ChinangC

    17、.ChinaBeij ingD.BeijingChina40.若有定义语句“double x5=1.0,2.0,3.0,4.0,5.0),*p=x”,则错误引用 x 数组元素的是( )。(分数:2.00)A.*pB.x5C.*(p+1)D.*x二、填空题(总题数:13,分数:30.00)41.对下图所示二叉树进行中序遍历的结果是_。(分数:2.00)填空项 1:_42.按照软件测试的一般步骤,集成测试应在 1 测试之后进行。(分数:2.00)填空项 1:_43.软件工作三要素包括方法、工具和过程,其中, 1 支持软件开发的各个环节和控制和管理。(分数:2.00)填空项 1:_44.数据库设计包

    18、括概念设计、 1 和物理设计。(分数:2.00)填空项 1:_45.在二维表中,元组的 1 不能再分成更小的数据项。(分数:2.00)填空项 1:_46.没变量 a 和 b 已正确定义并赋初值。请写出 a-=a+b 等价的赋值表达式 1。(分数:2.00)填空项 1:_47.若整型变量 a 和 b 中的值分别为 7 和 9,要求按以下格式输出 a 和 b 的值:a=7b=9请完成输出的语句“primf(“_“,a,b);”。(分数:2.00)填空项 1:_48.下列程序输出结果是_。#includestdio.hvoid main()int i,j,sum;for(i=3,i=1;i-)sum

    19、=0;for(j=1;j=i,j+)sum+=i*j;printf(“%d/n“,sum);(分数:2.00)填空项 1:_49.下列程序输出结果是_。#includestdio.hvoid main()int j,a=1,3,5,7,9,11,13,15,*p=a+5;for(j=3;j;j-)switch(j)case 1:case 2:printf(“%d“,*p+);break;case 3:printf(“%d“,*(-p);(分数:2.00)填空项 1:_50.下列程序的输出结果是_。#includestdio.h#define N 5int fun(int *s,int a,in

    20、t n)int j;*s=a;j=n;while(a!=sj)j-;return j;void main()int sN+1;int k;for(k=1;k=N;k+)sk=k+1;printf(“%6d/n“,fun(s,4,N);(分数:2.00)_51.下列程序的输出结果是_。#includestdio.hint fun(int x)static int t=0;return(t+=x);void main()int s,i;for(i=1;i=5;i+)s=fun(i);printf(“%d/n“,s);(分数:2.00)填空项 1:_52.下列程序按下面指定的数据给 X 数组的下三角

    21、元素赋值,并按如下形式输出,请填空。43 72 6 91 5 8 10#includestdio.hvoid main()int x44,n=0,i,j;for(j=0;j4;j+)for(i=3;i=j;_)n+;xij-_;for(i=0;i4;i+)for(j=0;j=i;j+)printf(“%3 d“,xij);printf(“/n“);(分数:4.00)填空项 1:_53.下列程序的功能是通过函数 func 输入字符并统计输入字符的个数。输入时用字符作为输入结束标志。请填空。#includestdio.hlong _;/*函数说明语句*/void main()long n;n=fu

    22、nc();printf(“n=%1d/n“,n);long func()long m;for(m=0;getchar()!=;_);return m;(分数:4.00)填空项 1:_二级 C+笔试-205 答案解析(总分:110.00,做题时间:90 分钟)一、选择题(总题数:40,分数:80.00)1.有下列程序:#includestdio.h#define N 4void fun(int aN,int b)( int i;for(i=0;iN,i+)bi=aii;void main()int xN=1,2,3,4,5,6,7,8,9,10,yN,i;fun(x,y);for(i=0;in;

    23、i+)printf(“%d,“,yi);printf(“/n“);程序的运行结果是( )。(分数:2.00)_解析:解析 本题考查数组的初始化,在对二维数组元素赋初值时,如果只对部分元素赋初值,那未赋初值的元素自动取 0。fun 函数是将二维数组 a 中主对角线上的元素赋给数组 b,所以 y4=1,0,7,02.有下列程序:#includestdio.hvoid main()int x=1,y=2,z=3;if(xy)if(yz)printf(“%d“,+z);else printf(“%d“,+y);printf(“%d/n“,x+);程序的运行结果是( )。(分数:2.00)A.331B.

    24、41C.2D.1 解析:解析 C 语言中规定,else 与离它最近的 if 相匹配。x=1,y=2,z=3,所以第一个 if 的条件(xy)不成立,直接执行 printf(“%d/n“,x+1);语句,输出 x 的值 1,再把 x 加 1。3.下列叙述中错误的是( )。(分数:2.00)A.用户定义的函数中可以没有 return 语句B.用户定义的函数中可以有多个 return 语句,以便可以调用一次返回多个函数值 C.用户定义的函数中若没有 return 语句,则应当定义函数为 void 类型D.函数的 return 语句中可以没有表达式解析:解析 本题考查 return 语句,return

    25、 语句有以下几个特点:用户定义的函数中可以没有返回语句;一个函数体内可以有多个返回语句,不论执行哪一个,函数都可以结束,回到主函数;但是调用一次只能有一个返回值。为了保证函数不返回任何值,C 语言规定,可以定义无类型函数,其形式为 void 函数名(参数表)。当函数中不需要指明返回值时,可以写成 return。4.下列关于宏的叙述中正确的是( )。(分数:2.00)A.宏名必须用大写字母表示B.宏定义必须位于源程序中所有语句之前C.宏替换没有数据类型限制 D.宏调用比函数调用耗费时间解析:解析 本题考查宏的相关知识点。宏名没有大小写限制;宏定义可以放在程序中的任何位置,其有效范围是从定义开始到

    26、文件结束;宏替换可以代替任何数据类型,不受数据类型的限制;函数影响运行时间,宏调用影响编译时间。5.执行下列程序后,w 的值为( )。int w=A,x=14,y=15;w=(x|y)(wa);(分数:2.00)A.-1B.NULLC.1 D.0解析:解析 把 x 和 y 化为二进制,x=14 表示为 1110,y=15 表示为 1111,所以 x|y=1,A 的 ASC是6s,a 的 ASC是 97,所以Aa=1,因此 w=1。6.有下列程序:#includestdio.hvoid main()int i,j;for(i=3;i=1;i-)for(j=1;j=2;j+)printf(“%d“

    27、,i+j);printf(“n“);程序的运行结果是( )。(分数:2.00)A.2 3 43 4 5B.4 3 25 4 33 4C.2 33 42 3D.4 54 5 解析:解析 本题考查 for 循环使用。当 i=3 时,j 可以取 1 和 2,i+j 分别是 4 和 5,执行 printf(“/n“)换行,i-为 2。当 i=2 时,j 可以取 1 和 2,i+j 分别是 3 和 4,执行 printf(“/n“)换行,i-为 1。当 i=1 时,j 可以取 1 和 2,i+j 分别是 2 和 3,执行 printf(“/n“)换行,i-为 0,不符合循环,退出。7.在数据管理技术发展

    28、的 3 个阶段中,数据共享最好的是( )。(分数:2.00)A.人工管理阶段B.文件系统阶段C.数据库系统阶段 D.3 个阶段相同解析:解析 数据管理技术分为:人工管理阶段、文件系统阶段和数据库系统阶段 3 个阶段。人工管理阶段无共享,冗余度大;文件管理阶段共享性差,冗余度大;数据库系统管理阶段共享性大,冗余度小。8.有下列程序:#includestdio.hvoid main()stuct STUchar name9;char sex;double score2;);stuct STU a=“ZhaO“,m,85.0,90.0,b=“Qian“,f,95.0,92.0);b=a;printf

    29、(“%s,%c,%2.0,%2.0、n“,b.name,b.sex,b.score0,bscore1);程序的运行结果是( )。(分数:2.00)A.Qian,f,95,92B.Qian,m,85,90C.Zhao,f,95,92D.Zhao,m,85,90 解析:解析 对于两个结构体,b=a;表示将 a 的每一个元素都赋给 b,所以会输出 a 中的内容。9.数据流图中带有箭头的线段表示的是( )。(分数:2.00)A.控制流B.事件驱动C.模块调用D.数据流 解析:解析 数据流图是从输入到输出的移动变换过程。用带箭头的线段表示数据流,沿箭头方向表示传递数据的通道,一般在旁边标注数据流名。10

    30、.在长度为 n 的有序线性表中进行二分查找,最坏情况下需要比较的次数是( )。(分数:2.00)A.O(n)B.O(n2)C.O(log2n) D.O(nlog2n)解析:解析 本题考查查找的算法,对于长度为 n 的有序线性表,在最坏情况下,二分法查找只需比较log2n 次。11.一间宿舍可住多个学生,则实体宿舍和学生之间的联系是( )。(分数:2.00)A.一对一B.一对多 C.多对一D.多对多解析:解析 两个实体间的联系可以分为 3 种:一对一、一对多或多对一、多对多。由于一个宿舍可以住多个学生,所以它们的联系是一对多联系。12.有下列程序:#includestdio.hvoid main

    31、()int i=5;doif(i%3=1)if(i%5=2)printf(“*%d“,i);break;i+;while(i!=0);printf(“/n“);程序的运行结果是( )。(分数:2.00)A.*7 B.*3*5C.*5D.*2*6解析:解析 本题考查 dowhile 循环,先执行循环体,再判断条件是否成立,函数实现的功能是找出满足一个数,它除 3 时余 1,除 5 时余 2,然后打印“*”和这个数从 5 开始,等于 7 时恰好符合条件,输出,最后循环结束。13.在面向对象方法中,不属于“对象”基本特点的是( )。(分数:2.00)A.一致性 B.分类性C.多态性D.标识唯一性解析

    32、:解析 对象是类的实例,它具有如下特征:标识唯一性、分类性、多态性、封装性、模块独立性。14.有下列程序:#includestdio.hvoid main()char a=4;printf(“%d/n“,a=a1);程序的运行结果是( )。(分数:2.00)A.40B.16C.8 D.4解析:解析 本题考查位操作,将 4 转化成二进制为 0100,左移一位后为 1000,转成十进制为 8,所以输出 8。15.下列叙述中正确的是( )。(分数:2.00)A.顺序存储结构的存储空间一定是连续的,链式存储结构的存储空间不一定是连续的 B.顺序存储结构只针对线性结构,链式存储结构只针对非线性结构C.顺

    33、序存储结构能存储有序表,链式存储结构不能存储有序表D.链式存储结构比顺序存储结构节省存储空间解析:解析 顺序存储是把逻辑上相邻的数据元素存储在物理上相邻的存储单元中,主要用于线性的数据结构;而链式存储结构空间不一定是连续的,无须担心容量问题。16.有下列程序:#includestdio.hstruct stint x,y,date2=1,10,2,20);void main()struct st *p=date;printf(“%d,“,py);printf(“%d/n“,(+p)x);程序的运行结果是( )。(分数:2.00)A.10,1B.20,1C.10,2 D.20,2解析:解析 da

    34、ta2是两个结构体组成的数组,p 指向结构体数组的首地址,py 访问第一个结构体的第二个元素;(+p)x 访问第二个结构体的第一个元素。所以输出为 10,2。17.下面的函数调用语句中 func 函数的实参个数是( )。fune(f2(v1,v2),(v3,v4,vS),(v6,max(v7,v8);(分数:2.00)A.3 B.4C.5D.8解析:解析 逗号表达式及实参的形式,在逗号表达式中,取最后一个表达式的值,结合 func 的调用形式,可以知道实参的个数只有 3 个。18.假定已建立以下链表结构,且指针 p 和 q 已指向如下图所示的结点:(分数:2.00)A.B.C.D. 解析:解析

    35、 在以下 4 项中,根据链表插入与删除的原则,选项 A 中,*p 是 p 所指向的元素,所以这样调用是错误的;选项 B 是将 p 指向的结点作为 q 的后继结点;而选项 c 则是将指针 q 指向 p 指向的结点;选项 D 将指向 q 的后继点的指针赋给指向 p 后继点的指针,并将 q 指向结点所占的内存。所以选项 D 正确。19.有下列程序段:int a,b,c;a=10;b=50;c=30;if(ab)a=b;b=c;c=a;printf(“a=%db=%d c=%d/n“,a,b,c);程序的输出结果是( )。(分数:2.00)A.a=10 b=50 c=10B.a=10 b=50 c=3

    36、0C.a=10 b=30 c=10 D.a=50 b=30 c=50解析:解析 程序中 a=10,b=50,c=30,判断 if(ab)为假,不执行 if 语句,执行 c=a=10。所以选项A 正确。20.若有定义语句“char s10=“1234567/0/0“;”,则 strlen(s)的值是( )。(分数:2.00)A.7B.8 C.9D.10解析:解析 C 语言中 strlen()函数的功能是返回字符串的长度,其中/0是一个转义字符,它占存储空间,但不计入串的长度。所以选项 B 正确。21.有下列程序:#includestdio.hint fun(int a,int b)if(b=0)

    37、 return a;else return(fun(-a,-b);void main()printf(“%d/n“,fun(4,2);程序的运行结果是( )。(分数:2.00)A.1B.2 C.3D.4解析:解析 本题考查递归函数的使用。fun(4,2)fun(2,0),由于 b 等于 0,故返回值为 2。反之,fun(4,2)=2。22.有下列程序:#includestdio.hint fun(int(*s)4,int n,int k)int m,i;m=s0k;for(i=1;in;i+)if(sikm)m=sik;return m;void main()int a44=1,2,3,4,1

    38、1,12,13,14,21,22,23,24,31,32,33,34;printf(“%d/n“,fun(a,4,0);程序的运行结果是( )。(分数:2.00)A.4B.34C.31 D.32解析:解析 在程序中 fun 函数的功能在于求取二维数组 S 中 1 至 n 行中每行第 k 个元素中的最大者。注意:i=0 时为第一行,故 fun(a,4,0)在于求取 11、21、31 中的最大值,显然为 31。23.若有定义语句“int m=5,4,3,2,1),i=4;”则下列对 m 数组元素的引用中错误的是( )。(分数:2.00)A.m-iB.m2*2C.mm0 D.mmi解析:解析 数组的

    39、下标是从零开始的。一维数组的一般定义方式为数型说明符 数组名常量表达式其中“”中的内容可以是整型数量,也可以是整型表达式。选项 C 中,m0=5,mm0=m5,数组下标越界。24.有下列程序:#includestdio.hvoid fun(int a,int b)int t;t=a; a=b; b=t;void main()int c10=1,2,3,4,5,6,7,8,9,0),i;for(i=0;i10;i+=2)fun(ci,ci+1);for(i=0;i10;i+)printf(“%d,“,ci);printf(“n“);程序的运行结果是( )。(分数:2.00)A.1,2,3,4,5

    40、,6,7,8,9,0 B.2,1,4,3,6,5,8,7,0,9C.0,9,8,7,6,5,4,3,2,1D.0,1,2,3,4,5,6,7,8,9解析:解析 在程序中实参向形参传递数据的方式是“值传递”,如果实参传递给形参是变量的值,就是数值传递,并不能改变实参的值,所以数组 c10的值不变。25.下列选项中正确的定义语句是( )。(分数:2.00)A.double a;b;B.double a=b=7;C.double a=7,b=7Cdouble,a,b; 解析:解析 本题考查变量的定义。选项 A 是两条语句,用分号隔开,只定义了 a 为 double 型;选项 B中,不允许这种声明赋值

    41、方式,语法错误;选项 D 中,类型与变量名之间不加逗号;选项 C 为正确的。26.若变量已正确定义为 int 型,要通过语句“scanf(“%d,%d“,a,b,c);”给 a 赋值 1、给 b赋值 2、给 c 赋值 3,以下输入形式中错误的是( 代表一个空格符)( )。(分数:2.00)A.B. C.D.解析:解析 本题考查 scanf 函数的用法,其调用格式为:scanf(格式字符串,输入项地址表);功能是按格式字符串中规定的格式,在键盘上输入各输入项的数据,并依次赋给各输入项。当需要从键盘上输入数据时,直到按下回车键,scanf 函数才会接受从键盘输入的数据。选项 B 中,每一个变量输入

    42、后都有一个空格是不正确的。27.计算机能直接执行的程序是( )。(分数:2.00)A.源程序B.目标程序C.汇编程序D.可执行程序 解析:解析 由高级语言编写的程序称为“源程序”;由二进制代码表示的程序称为“目标程序”;由汇编语言编写的程序称为“汇编程序”。对于计算机本身来说,它只能接收和处理由 0 到 1 的代码构成的二进制指令和数据。所以计算机能识别的程序是“目标程序”。而计算可以直接执行的程序可执行程序,即后缀为.exe 的程序。28.有下列程序:#includestdio.hvoid fun(int a,int n)int i,t;for(i=0;in/2;i+) t=ai;ai=an

    43、-1-i;an-1-i=t;void main()int k10=(1,2,3,4,5,6,7,8,9,10,i;fun(k,5);for(i=2,i8;i+)printf(“%d“,ki);printf(“/n“);程序的运行结果是( )。(分数:2.00)A.345678B.876543C.1098765D.321678 解析:解析 在程序中,fun(k,5)的功能是将数组 k 的 k0、k1分别与 k3、k4交换,for 循环从 k2到 k8输出,所以输出结果为 321678。29.C 源程序中不能表示的数制是( )。(分数:2.00)A.二进制 B.八进制C.十进制D.十六进制解析:解

    44、析 C 语言源程序不能表示二进制,在 C 语言中,所有的数值型常量都带有符号,所以整型数量只区别整型和长整型两种形式,整型常量和长整型常量均可用十进制、二进制、十六进制 3 种形式表示,故 A 不正确。30.有 3 个关系 R、S 和 T 如下:(分数:2.00)A.B.C.D. 解析:解析 本题是对几种运算的使用进行考查、笛卡儿积是两个集合相乘的关系;交运算是包含两集合的所有元素;并运算是取两集合公共的元素;自然连接满足的条件是两关系间有公共域,通过公共域的相等直接进行连接。通过观察 3 个关系 R、S、T 的结果可知,关系 T 是由关系 R 和 S 进行自然连接得到的。31.下列叙述中正确

    45、的是( )。(分数:2.00)A.循环队列有队头和队尾两个指针,因此循环队列是非线性结构B.在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况C.在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况D.循环队列中元素的个数是由队头指针和队尾指针共同决定 解析:解析 循环队列中元素的个数是由队首指针和队尾指针共同决定的,元素的动态变化也是通过队首指针和队尾指针来反映的,当队首等于队尾时,队列为空。32.下列叙述中正确的是( )。(分数:2.00)A.C 程序的基本组成单位是语句B.C 程序中的每一行只能写一条语句C.简单 C 语句必须以分号结束 D.C 语句必须在一行内写完解析

    46、:解析 本题考查 C 语言的基本概念。C 语言的源程序是由函数构成的,其基本单位是函数,每一个函数完成相对独立的功能,其中至少包括一个主函数;C 语言的书写格式自由,一行可写多条语句,一条语句也可写在不同行上;C 语言规定每个语句以分号结束。可随时添加注释,对程序没影响。33.若有表达式“(w)?(-x):(+y)”,则其中与 w 等价的表达式是( )。(分数:2.00)A.w=1B.w=0C.w!=1D.w!=0 解析:解析 本题考查三目运算等。条件表达式的格式为 a?b:c。它的含义是,当 a 为真时,取 b 的值,否则取 c 的值。在 C 语言程序中“为真”即“不等于零”,“为假”即等于 0。所以和 w 等价的表达式是w 非零。34.有下列程序:#includestdio.h#includestdlib.hint fun(int n)int *p;p=(int*)malloc(sizeof(int)


    注意事项

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




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

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

    收起
    展开