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

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

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

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

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

    1、计算机二级(C)57 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(1-10 题每题 2 分,11-50 题(总题数:60,分数:60.00)1.有以下程序 main( ) union unsigned int n; unsigned char c; ul; ul.c=A; printf(“%c/n“,ul.n); 执行后输出结果是( )。 (分数:1.00)A.产生语法错B.随机值C.AD.652.以下 4 组用户定义标识符中,全部合法的一组是( )。(分数:1.00)A._main enclude sinB.If -max turboC.txt REAL 3COMD.i

    2、nt k_2 _0013.现有以下结构体说明和变量定义,如图所示,指针 P、q、r 分别指向一个链表中连续的三个结点。 (分数:1.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;4.以下选项中合法的用户标识符是( )。(分数:1.00)A.longB._2TestC.3DmaxD.A.dat5.若有代数式根号下 n 的 x 次方+e 的 x 方的绝对值(其中 e 仅

    3、代表自然对数的底数,不是变量)则一下能正确表示该代数式的 C 语言表达式的是【 】。(分数:1.00)A.B.C.D.6.下列叙述中正确的是( )。(分数:1.00)A.计算机病毒只感染可执行文件B.计算机病毒只感染文本文件C.计算机病毒只能通过软件复制的方式进行传播D.计算机病毒可以通过读写磁盘或网络等方式进行传播7.有以下程序段 int m=0,n=0; char c=a; scanf(“%d%c%d“, printf(“%d,%c,%d/n“,m,c,n); 若从键盘上输入:10A10,则输出结果是( )。 (分数:1.00)A.10,A,10B.10,a,10C.10,a,0D.10,

    4、A,08.一个算法应该具有“确定性”等 5 个特性,下面对另外 4 个特性的描述中错误的是( )。(分数:1.00)A.有零个或多个输入B.有零个或多个输出C.有穷性D.可行性9.以下能正确定义一维数组的选项是【 】。(分数:1.00)A.int a5=0,1,2,3,4,5;B.char a=0,1,2,3,4,5;C.char a=A,B,C;D.int a5=“0123“;10.以下叙述中正确的是【 】。(分数:1.00)A.调用 printf 函数时,必须要有输出项B.使用 putchar 函数时,必须在之前包含头文件 stdio.hC.在 C 语言中,整数可以以十二进制、八进制或十六

    5、进制的形式输出D.调用 getchar 函数读入字符时,可以从键盘上输入字符所对应的 ASCII 码11.有以下程序 main() int x32=0,i; for(i=0;i,则输出结果为【 】。 (分数:1.00)A.2 0 0B.2 0 4C.2 4 0D.2 4 612.有以下程序: void f(int a ,int i,int j) int t; if(ij) t=ai;ai=aj;aj=t; f(a,i+1,j-1); main( ) int i,aa5=1,2,3,4,5; f(aa,0,4); for(i=0;i5;i+) printf(“%d,”,aai); printf(

    6、“/n”); 执行后输出结果是( )。 (分数:1.00)A.5,4,3,2,1,B.5,2,3,4,1,C.1,2,3,4,5,D.1,2,3,4,5,13.有以下程序 void funl(char* P) char*q; q=P; while(*q!=0) (*q)+;q+;) main() char a=“Program“),*p; P= t=c0;c0=c1;c1=t; void swap2(int c0,int c1) int t; t=c0;c0=c1;c1=t; main( ) int a2=3,5,b2=3,5; swap1(a); swap2(b0,b1); printf(“

    7、%d %d %d %d/n”,a0,a1,b0,b1); 其输出结果是( )。 (分数:1.00)A.5 3 5 3B.5 3 3 5C.3 5 3 5D.3 5 5 318.在长度为 64 的有序线性表中进行顺序查找,最坏情况下需要比较的次数为【 】。(分数:1.00)A.63B.64C.6D.719.以下选项中,与 k = n + +完全等价的表达式是( )。(分数:1.00)A.k=n,n=n+1B.n=n+1,k=nC.k=+nD.k+=n+120.以下语句或语句组中,能正确进行字符串赋值的是【 】。(分数:1.00)A.char*sp;*sp=“right!“;B.char s10;

    8、s=“right!“;C.char s 10;*s=“right!“;D.char*sp=“right!“;21.有以下程序 main() int i,j,X=0; for(i=0;i0) str2*i=stri;str 2*i-1=*;i-; printf(“Sn“,str); main2 char str40; scanf(“S“,str);insert(str); (分数:2.00)填空项 1:_64.下面程序由两个源程序文件:t4.h 和 t4.c 组成,程序编译运行的结果是: 1。 t4.h 的源程序为: #define N 10 #define f2(x) (X*N) t4.c 的

    9、源程序为: #include #define M 8 #define f(x) (x)*M) #include “t4.h“ main2 int i,j; i=f(1+1);j=t2(1+1); printf(“ddn“,i,J); (分数:2.00)填空项 1:_65.有以下程序,其功能是:以二进制“写“方式打开文件 d1.dat,写入 l-100 这 100 个整数后关闭文件。再以二进制“读“方式打开文件 d1.dat,将这 100 个整数读入到另一个数组 b 中,并打印输出。请填空。 #include main1 FILE *fp; int i,a100,b100; fp=fopen(“

    10、d1.dat“,“wb“); for(i=O;i2); fread(b ,sizeof(int),100,fp); fclose(fp); for(i=0;i填空项 1:_66.已知字符 A 的 ASCII 码为 65,以下程序运行后的输出结果是 1。 main2 char a,b; a=A+5-3; b=a+6-2; printf(“%d %c/n“,a,b) ; (分数:2.00)填空项 1:_67.在 DOS 环境下,表示打印机的设备文件名是 1。(分数:2.00)填空项 1:_68.以下程序的功能是将字符串 s 中的数字字符放入 d 数组中,最后输出 d 中的字符串。例如,输入字符串:

    11、abc123edf456gh,执行程序后输出:123456。请填空。 #include stdio.h #include ctype.h main( ) char s80, d80; int i,j; gets(s); for(i=j=0;si!=/0;i+) if( 1) dj=si; j+; dj=/0; puts(d); (分数:2.00)填空项 1:_69.某二叉树中度为 2 的结点有 18 个,则该二叉树中有 1 个叶子结点。(分数:2.00)填空项 1:_70.以下程序运行后的输出结果是 1。 #includestring.h char* ss(char *s) char *p,t

    12、; p=s+1;t=*s; while(*p)*(p-1)=*p;p+; *(p-1);t; return s; main2 char *p,str10=“abcdefgh“; p=ss(str); printf(“%s/n“,p); (分数:2.00)填空项 1:_71.若有语句 int i=-19,j=i%4; printf(“%d/n“,j); 则输出的结果是 1。 (分数:2.00)填空项 1:_72.以下程序运行后的输出结果是 1。 main2 char c1,c2; for(c1=O,c2=9;c1c2;c1+,c2-) printf(“%c%c“,c1,c2); printf(“

    13、/n“); (分数:2.00)填空项 1:_73.以下 sstrcpy1 函数实现字符串复制,即将 t 所指字符串复制到 s 所指向内存空间中,形成一个新的字符串 s。请填空。 void sstrcpy(char *s,char *t) while(*s+= 2); main( ) char str1100,str2 =”abcdefgh”; sstrcpy(str1,str2); printf(“%s/n”,str1); (分数:2.00)填空项 1:_74.以下程序运行后的输出结果是 1。 main( ) int a 44=1,2,3,4,5,6,7,8,11,12,13,14,15,16

    14、,17,18; int i=0,j=0,s=0; while(i+4) if(i=2|i=4) continue; j=0; do s+= aj; j+; while(j4); printf(“%d/n“,s); (分数:2.00)填空项 1:_75.以下程序运行后的输出结果是 1。 main( ) int x=15; while(x10 x填空项 1:_76.函数 strcmp1 的功能是对两个字符串进行比较,当 s 所指字符串和 t 所指字符串相等时,返回值为0; 当 s 所指字符串大于 t 所指字符串时,返回值大于 0;当 s 所指字符串小于 t 所指字符串时,返回值小于 0(功能等同于

    15、库函数 strcmp2 ),请填空。 #include stdio.h int strcmp ( chat * s, char * t) while( * s * t * s= 3 s+;t+; return 4; ) (分数:2.00)填空项 1:_填空项 1:_77.以下程序的功能是输入任意整数给 n 后,输出 n 行由大写字母 A 开始构成的三角形 字符阵列图形。例如,输入整数 5 时(注意:n 不得大于 10),程序运行结果如下: A B C D E F G H I J K L M N O 请填空完成该程序。 main1 int i,j,n;char ch=A; scanf(“d“,a

    16、n); if(nnext=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; 解析:r-next=q,这时 r 指向的节点为 q;p-next=r,这时 p 指向的节点为 r;q-next=r-next,因为 r节点已经指向 q,所以执行这个语句后 q 又指向 q,所以不对。4.以下选项中合法的用户标识符是( )。(分数:1.00)A.longB._2Test C.3DmaxD.A.dat解析

    17、:C 语言中合法的变量名由字母、数字和下划线组成,且第一个字符必须为字母或下划线。5.若有代数式根号下 n 的 x 次方+e 的 x 方的绝对值(其中 e 仅代表自然对数的底数,不是变量)则一下能正确表示该代数式的 C 语言表达式的是【 】。(分数:1.00)A.B.C. D.解析:本题主要考查 C 语言的库函数。abs 求整数的绝对值,fabs 求双字节型的绝对值,pow 函数的原形是double pow(double x,double Y),计算 x 的 y 次方;exp 函数的原形是 double exp(double x),求 10 的 x次方;sqrt 函数的原形是 double s

    18、qrt(double x),为 x 的平方根。故本题答案为 C)。6.下列叙述中正确的是( )。(分数:1.00)A.计算机病毒只感染可执行文件B.计算机病毒只感染文本文件C.计算机病毒只能通过软件复制的方式进行传播D.计算机病毒可以通过读写磁盘或网络等方式进行传播 解析:7.有以下程序段 int m=0,n=0; char c=a; scanf(“%d%c%d“, printf(“%d,%c,%d/n“,m,c,n); 若从键盘上输入:10A10,则输出结果是( )。 (分数:1.00)A.10,A,10 B.10,a,10C.10,a,0D.10,A,0解析:8.一个算法应该具有“确定性”

    19、等 5 个特性,下面对另外 4 个特性的描述中错误的是( )。(分数:1.00)A.有零个或多个输入B.有零个或多个输出 C.有穷性D.可行性解析:9.以下能正确定义一维数组的选项是【 】。(分数:1.00)A.int a5=0,1,2,3,4,5;B.char a=0,1,2,3,4,5; C.char a=A,B,C;D.int a5=“0123“;解析:选项 A 中定义的是 5 个数组元素,但赋值的时候赋的是 6 个元素,所以出错;选项 C 不符合数组定义形式,数组名后应加上“;选项 D 的类型说明符错误,如果用 char 定义就对了;选项 B 中的0,1,2,3,4,5 分别表示对应字

    20、符的 ASCII 码,所以选项 B 是正确的。 10.以下叙述中正确的是【 】。(分数:1.00)A.调用 printf 函数时,必须要有输出项B.使用 putchar 函数时,必须在之前包含头文件 stdio.h C.在 C 语言中,整数可以以十二进制、八进制或十六进制的形式输出D.调用 getchar 函数读入字符时,可以从键盘上输入字符所对应的 ASCII 码解析:在使用标准输入输出库函数(除了 Printf 和 scanf)前,必须要用预编译命令“#include“将头文件“stdio.h“包括到用户源文件中。 11.有以下程序 main() int x32=0,i; for(i=0;

    21、i,则输出结果为【 】。 (分数:1.00)A.2 0 0B.2 0 4 C.2 4 0D.2 4 6解析:语句 x32=0表示对二维数组的所有元素赋初值 0,而循环 for(i=0;i0) str2*i=stri;str 2*i-1=*;i-; printf(“Sn“,str); main2 char str40; scanf(“S“,str);insert(str); (分数:2.00)填空项 1:_ (正确答案:a*b*c*d*)解析:在子程序中,如果条件成立,则执行下面的语句,如果不成立,跳过。最后的输出结果是 a*b*c*d*。64.下面程序由两个源程序文件:t4.h 和 t4.c

    22、组成,程序编译运行的结果是: 1。 t4.h 的源程序为: #define N 10 #define f2(x) (X*N) t4.c 的源程序为: #include #define M 8 #define f(x) (x)*M) #include “t4.h“ main2 int i,j; i=f(1+1);j=t2(1+1); printf(“ddn“,i,J); (分数:2.00)填空项 1:_ (正确答案:16 11)解析:宏替换的运算规则,结合本题,我们可以得到 f(1+1)*M)=fun(1+1)*8=16;f2(1+1)=l+1,l*n=1+1*10=11。65.有以下程序,其功

    23、能是:以二进制“写“方式打开文件 d1.dat,写入 l-100 这 100 个整数后关闭文件。再以二进制“读“方式打开文件 d1.dat,将这 100 个整数读入到另一个数组 b 中,并打印输出。请填空。 #include main1 FILE *fp; int i,a100,b100; fp=fopen(“d1.dat“,“wb“); for(i=O;i2); fread(b ,sizeof(int),100,fp); fclose(fp); for(i=0;i填空项 1:_ (正确答案:“rb“)解析:“rb“表示只读方式打开一个二进制文件。赋给 p,这样循环,节点可以依次向后取值。66

    24、.已知字符 A 的 ASCII 码为 65,以下程序运行后的输出结果是 1。 main2 char a,b; a=A+5-3; b=a+6-2; printf(“%d %c/n“,a,b) ; (分数:2.00)填空项 1:_ (正确答案:67 G)解析:由于“5“和“3“的 ASCII 码相差为 2,所以变量 a 经过运算,得出其值为字符“C“,又因为输出时其形式是“%d“,故输出的值是字符“C“的 ASCII 码,即 67;同理,变量 b 的值等于变量 a 的值加上字符“6“与字符“2“的 ASCII 码的差值,即得到字符“G“,输出时以“%c“的形式输出“G“。 67.在 DOS 环境下

    25、,表示打印机的设备文件名是 1。(分数:2.00)填空项 1:_ (正确答案:PRN)解析:68.以下程序的功能是将字符串 s 中的数字字符放入 d 数组中,最后输出 d 中的字符串。例如,输入字符串:abc123edf456gh,执行程序后输出:123456。请填空。 #include stdio.h #include ctype.h main( ) char s80, d80; int i,j; gets(s); for(i=j=0;si!=/0;i+) if( 1) dj=si; j+; dj=/0; puts(d); (分数:2.00)填空项 1:_ (正确答案:si=0 “依次前移,

    26、直到*p 指向的存储单元中的值为空为止;最后通过语句“*(p-1)=t;“将保存在 t 中的字符放到移动后的字符串的末尾,所以本题输出的结果是bcdefgha。71.若有语句 int i=-19,j=i%4; printf(“%d/n“,j); 则输出的结果是 1。 (分数:2.00)填空项 1:_ (正确答案:-3)解析:72.以下程序运行后的输出结果是 1。 main2 char c1,c2; for(c1=O,c2=9;c1c2;c1+,c2-) printf(“%c%c“,c1,c2); printf(“/n“); (分数:2.00)填空项 1:_ (正确答案:0918273645)解

    27、析:本题程序的作用是通过 for 循环将 0-9 这 10 个数字从前向后,同时也从后向前依次输出。 73.以下 sstrcpy1 函数实现字符串复制,即将 t 所指字符串复制到 s 所指向内存空间中,形成一个新的字符串 s。请填空。 void sstrcpy(char *s,char *t) while(*s+= 2); main( ) char str1100,str2 =”abcdefgh”; sstrcpy(str1,str2); printf(“%s/n”,str1); (分数:2.00)填空项 1:_ (正确答案:*t+)解析:74.以下程序运行后的输出结果是 1。 main( )

    28、 int a 44=1,2,3,4,5,6,7,8,11,12,13,14,15,16,17,18; int i=0,j=0,s=0; while(i+4) if(i=2|i=4) continue; j=0; do s+= aj; j+; while(j4); printf(“%d/n“,s); (分数:2.00)填空项 1:_ (正确答案:92)解析:75.以下程序运行后的输出结果是 1。 main( ) int x=15; while(x10 x填空项 1:_ (正确答案:17)解析:76.函数 strcmp1 的功能是对两个字符串进行比较,当 s 所指字符串和 t 所指字符串相等时,返

    29、回值为0; 当 s 所指字符串大于 t 所指字符串时,返回值大于 0;当 s 所指字符串小于 t 所指字符串时,返回值小于 0(功能等同于库函数 strcmp2 ),请填空。 #include stdio.h int strcmp ( chat * s, char * t) while( * s * t * s= 3 s+;t+; return 4; ) (分数:2.00)填空项 1:_ (正确答案:*)填空项 1:_ (正确答案:或 t0)解析:对字符串比较的方法是依次对两字符串对应位置上的字符两两比较,当出现第一对不相同的 字符时,即由这两个字符(ASC码值)决定所在串的大小。 77.以下

    30、程序的功能是输入任意整数给 n 后,输出 n 行由大写字母 A 开始构成的三角形 字符阵列图形。例如,输入整数 5 时(注意:n 不得大于 10),程序运行结果如下: A B C D E F G H I J K L M N O 请填空完成该程序。 main1 int i,j,n;char ch=A; scanf(“d“,an); if(n=n;i+) for(j=1;J=n-i+1;j+) printf(“2c“,ch); 2 ; 3 ; else printf(“n is too large!n“) printf(“n“); (分数:2.00)填空项 1:_ (正确答案:ch+,prinff

    31、(“n“);)解析:ch 自身加 1,指向下一个字母(以 ASCII 的顺序)。此程序语句的作用是换行。78.以下程序运行后的输出结果是 1。 main2 int x=10,y=20,t=0; if(x= =y)t=x;x=y;y=t printf(“%d,%d/n“,x,y); (分数:2.00)填空项 1:_ (正确答案:20,0)解析:79.以下程序运行后输入:3,abcde,则输出结果是 1 #include string.h move(char *str, int n) char temp; int i; temp=strn-1; for(i=n-1;i0;i-) stri=stri

    32、-1; str0=temp; main( ) char s50; int n, i, z; scanf(“%d,%s“, z=strlen(s); for(i=1; i=n; i+ move(s, z); printf(“%s/n“,s); (分数:2.00)填空项 1:_ (正确答案:cdeab)解析:80.以下程序中,函数 fun 的功能是计算 X 的 2 次方-2x+6,主函数中将调用 fun 函数计算: y1=(x+8)的 2次方-2(X+8)+6 y2=sin2(x)一 2sin(x)+6 请填空。 #include “math.h“ double fun(double X)return(X*x-2*X+6); main1 double x,yl,y2; printf(“Enter x:“);scanf(“If“,&x); y1=fun( 2); y2=fun( 3); printf(“y1=If,y2=lfn“,y1,y2); (分数:2.00)填空项 1:_ (正确答案:x+8)填空项 1:_ (正确答案:sin(x))解析:用 x+8 代替函数 fun(double x)中形式参数 x。用 sin(x)代替函数 fun(double x)中形式参数 x。


    注意事项

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




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

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

    收起
    展开