全国计算机等级考试二级c语言笔试试题含参考答案.docx

上传人:b****7 文档编号:9974659 上传时间:2023-02-07 格式:DOCX 页数:17 大小:29.50KB
下载 相关 举报
全国计算机等级考试二级c语言笔试试题含参考答案.docx_第1页
第1页 / 共17页
全国计算机等级考试二级c语言笔试试题含参考答案.docx_第2页
第2页 / 共17页
全国计算机等级考试二级c语言笔试试题含参考答案.docx_第3页
第3页 / 共17页
全国计算机等级考试二级c语言笔试试题含参考答案.docx_第4页
第4页 / 共17页
全国计算机等级考试二级c语言笔试试题含参考答案.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

全国计算机等级考试二级c语言笔试试题含参考答案.docx

《全国计算机等级考试二级c语言笔试试题含参考答案.docx》由会员分享,可在线阅读,更多相关《全国计算机等级考试二级c语言笔试试题含参考答案.docx(17页珍藏版)》请在冰豆网上搜索。

全国计算机等级考试二级c语言笔试试题含参考答案.docx

全国计算机等级考试二级c语言笔试试题含参考答案

全国计算机等级考试二级笔试卷

基础知识和C语言程序设计

(考试时间120分钟,满分100分)

2015年4月

一、选择题(

(1)-(40)每小题1分,(41)-(50)每小题2分,共60分)

下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。

(1)下列设备中只能作为输入设备的是

A)磁盘驱动器B)鼠标器C)存储器D)显示器

(2)下列DOS组合控制键中,能使标准输出同时送到屏幕与打印机的是

A)Ctrl+BreakB)Ctrl+PC)Ctrl+CD)Ctrl+H

(3)通常所说的386机是

A)8位机B)16位机C)32位机D)64位机

(4)二进制数01100100转换成十六进制数是

A)64B)63C)100D)144

(5)十六进制数100转换成十进制数是

A)1024B)512C)256D)128

(6)对于存有重要数据的5.25英寸软盘,防止计算机病毒感染的方法是

A)不要与有病毒的软盘放在一起B)在写保护口贴上胶条

C)保持软盘清洁D)定期对软盘格式化

(7)在启动DOS系统时,启动盘的根录下必须包含的文件是

A)START.COMB)COMMAND.COMC)FORMAT.COMD)BOOT.COM

(8)DOS系统启动后,下列文件中常驻内存的是

A)DOS.COMB)COMMAND.COMC)DISKCOPY.COMD)SYS.COM

(9)下列名字中,不能作为DOS磁盘文件名的是

A)JTUB)93GZ.PRGC)COND)ATT&T.BAS

(10)下列命令中属于内部命令的是

A)SYSB)COMPC)DIRD)DISKCOMP

(11)下列文件名中,能与ABC?

.?

匹配的是

A)AB12.CB)ABCD.FORC)ABC.TXTD)ABCD.C

(12)要列出当前盘当前目录中第三个字符为"B"的所有文件的清单,可使用的命令为

A)DIR**B*.*B)DIR?

?

B*.?

C)DIR?

?

B.*D)DIR?

?

B*.*

(13)设当前盘为C盘,其根目录下有两个子目录D1与D2,且当前目录为D1,若要进入子目录D2,可使用的命令为

A)CDD2B)CDD2\C)CD\D2D)CDD1\D2

(14)设当前盘为C盘,A盘当前目录为根目录。

为了删除A盘目录\WS下扩展名为.TXT的所有文件,可用的命令为

A)DELWS\*.TXTB)DEL\WS\*.TXTC)DELA:

\WS\?

.TXTD)DELA:

WS\*.TXT

(15)设当前盘为C盘,C盘当前目录为\AAA\BBB\A\B\X。

下列命令中能正确执行的是

A)MD\AAA\BBB\AB)MDXC)MD\D)MD\AAA\BBB\A\B\X

(16)在下列各组的两个命令中,根据给定的条件,执行效果互相等价的是

A)DEL\DOS与RD\DOS(当前盘上有目录\DOS)

B)FORMATA:

与DELA:

*.*(A盘为启动盘)

C)DISKCOPYA:

B:

与COPYA:

*.*B:

(A盘为启动盘)

D)COPYF1F2与TYPEF1>F2(当前盘当前目录下有文件F1)

(17)为了在1.2MB的高密驱动器A中格式化一张360KB的启动盘,可用的命令为

A)FORMATA:

B)FORMATA:

/S/1C)FORMATA:

/S/4D)FORMATA:

/S

(18)要在打印机上输出当前盘当前目录下扩展名为.TXT的所有文件内容,正确的命令为

A)COPY*.TXTPRNB)COPY*.TXT>PRNC)TYPE*.TXTPRND)TYPE*.TXT>PRN

(19)设B盘目录结构如下:

 

设B盘的当前目录为\F2,要将A盘当前目录下的文件P.BAS复制到B盘的F3子目录中,可用的命令为

A)COPYP.BASB:

B)COPYA:

P.BASB:

\

C)COPYA:

P.BASB:

\F3D)COPYA:

P.BASB:

F3\

(20)设当前盘为A盘,要将B盘当前目录下的两个文件A.TXT与X.TXT连接后以文件名Y.TXT存放到A盘的当前目录中,可用的命令为

A)COPYA.TXT+X.TXTA:

Y.TXTB)COPYB:

A.TXT+X.TXTA:

Y.TXT

C)COPYB:

A.TXT+B:

X.TXT>Y.TXTD)COPYB:

A.TXT+B:

X.TXTY.TXT

(21)C语言中最简单的数据类型包括

A)整型、实型、逻辑型B)整型、实型、字符型

C)整型、字符型、逻辑型D)整型、实型、逻辑型、字符型

(22)C语言中,运乍对象必须是整型数的运算符是

A)%B)\C)%和\D)**

(23)为表示关系x≥y≥z,应使用C语言表达式

A)(x>=y)&&(y>=z)B(x>=y)AND(y>=z)C)(x>=y>=z)D)(x>=y)&(y>=z)

(24)下述对C语言字符数组的描术中错误的是

A)字符数组可以存放字符串

B)字符数组中的字符串可以整体输入、输出

C)可以在赋值语句中通过赋值运算符"="对字符数组整体赋值

D)不可以用关系运算符对字符数组中的字符串进行比较

(25)设有如下定义:

intx=10,y=3,z;则语句

printf("%d\n",z=(x%y,x/y));的输出结果是

A)1B)0C)4D)3

(26)以下程序的输出结果是

main()

{intx=10,y=10;

printf("%d%d\n",x--,--y);}

A)1010B)99C)910D)109

(27)定义如下变题和数组:

inti;

intx[3][3]={1,2,3,4,5,6,7,8,9};

则下面语句的输出结果是

for(i=0;i<3;i++)printf("%d",x[i][2-1]);

A)159B)147C)357D)369

(28)若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为

A)a<>0B)!

aC)a=0D)a

(29)阅读程序:

#include

main()

{inta[10]={1,2,3,4,5,6,7,8,9,0},*p;

p=a;

printf("%x\n",p);

printf("%x\n",p+9);}

该程序有两个printf语句,如果第一个printf语句输出的是194,则第二个printf语句的输出结果是

A)203B)204C)1a4D)1a6

(30)设有如下函数定义:

intf(char*s)

{char*p=s;

while(*p!

='\0')p++;

return(p-s);}

如果在主程序中用下面的语句调用上述函数,则输出结果为

printf("%d\n",f("goodbey!

"));

A)3B)6C)8D)0

(31)以下说法中正确的是

A)C语言程序总是从第一个的函数开始执行

B)在C语言程序中,要调用的函数必须在main()函数中定义

C)C语言程序总是从main()函数开始执行

D)C语言程序中的main()函数必须放在程序的开始部分

(32)执行下面的程序后,a的值为

main()

{inta,b;

for(a=1,b=1;a<=100;a++)

{if(b>=20)break;

if(b%3==1){b+=3;continue;}

b-=5;}}

A)7B)8C)9D)10

(33)以下程序段的输出结果是intx=3;do{printf("%3d",x-=2);}while(!

(--x));

A)1B)30C)1-2D)死循环

(34)定义如下变量:

intn=10;则下列循环的输出结果是

while(n>7)

{n--;

printf("%d\n",n);}A)10B)9C)10D)99898

8787

76

(35)两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是

main()

{intx;

scanf("%d",&x);

if(x++>5)printf("%d",x);

elseprintf("%d\n",x--);}

A)7和5B)6和3C)7和4D)6和4

(36)设有如下定义:

char*aa[2]={"abcd","ABCD"};则以下就法中正确的是

A)aa数组成元素的值分别是"abcd"和ABCD"

B)aa是指针变量,它指向含有两个数组元素的字符型一维数组

C)aa数组的两个元素分别存放的是含有4个字符的一维字符数组的首地址

D)aa数组的两个元素中各自存放了字符'a'和'A'的地址

(37)以下程序的输出结果是

main()

{inta=-1,b=4,k;

k=(++a〈0)&&!

(b--〈=0);

printf("%d%d%d\n",k,ab);}

A)104B)103C)003D)004

(38)设有以下定义:

inta[4][3]={1,2,3,4,5,6,7,8,9,10,11,12};

int(*prt)[3]=a,*p=a[0];

则下列能够正确表示数组元素a[1][2]的表达式是

A)*((*prt+1)[2])B)*(*(p+5))C)(*prt+1)+2D)*(*(a+1)+2)

(39)下列程序的输出结果是

main()

{char*p1,*p2,str[50]="xyz";

p1="abcd";

p2="ABCD";

strcpy(str+2,strcat(p1+2,p2+1);

printf)"%s",str);}

A)xyabcABB)abcABzC)ABabczD)xycdBCD

(40)执行下面的程序后,a的值是

#defineSQR(X)X*X

main()

{inta=10,k=2,m=1;

a/=SQR(k+m)/SQR(k+m);

printf("%d\n",a);}

A)10B)1C)9D)0

(41)下列程序执行后输出的结果是

#include

f(inta)

{intb=0;staticc=3:

a=c++,b++;

return(a);}

main()

{inta=2,i,k;

for(i=0;i〈2;i=++〉k=f(a++);

printf("%d\n",k);}

A)3B)0C)5D)4

(42)下列程序的输出结果是

main()

{inta[5]={2,4,6,8,10},*P,**k;

p=a;k=&p;

printf("%d",*(p++));printf("%d\n",**k);}

A)44B)22C)24D)46

(43)阅读下列程序:

main()

{intn[3],i,j,k;

for(i=0;i〈3;i++〉n[i]=0;

k=2;

for(i=0;i〈k;i++〉

for(j=0;j〈k;j++〉n[j]=n[i]+1;

printf("%d\n",n[1]);}

下述程序运行后输出结果是

A)2B)1C)0D)3

(44)字符'0'的ASCII码的十进制数为48,且数组的第0个元素在低位,则以下程序的输出结果是

#include

main()

{union{inti[2];longk;charc[4];}r,*s=&r;

s->i[0]=0x39;

s->i[1]=0x38;

printf("%c\n",s->c[0])}

A)39B)9C)38D)8

(45)设有以下定义:

typedefunion{longi;intk[5];charc;}DATE;

structdate{intcat;DATEcow;doubledog;}too;

DATEmax;

则下列语句的执行结果是

printf("%d",sizeof(structdate)+sizeof(max));

A)25B)30C)18D)8

(46)执行以下程序后,y的值是

main()

{inta[]={2,4,6,8,10};

inty=1,x,*p;

p=&a[1];

for(x=0;x<3;x++)y+=*(p+x);

printf("%d\n",y);}

A)17B)18C)19D)20

(47)下列程序执行后输出的结果是

intd=1;

fun(intq)

{intd=5;

d+=p++;printf("%d".d);}

main()

{inta=3;

fun(a);

d+=a++;printf("%d\n",d);}

A)84B)96C)94D)85

(48)下列程序的输出结果是

main()

{charch[2][5]={"6934,"8254"},*p[2];

inti,j,s=0;

for(i=0;i<2;i++)p[i]=ch[i];

for(i=0;i<2;i++)

for(j=0;p[i][j]>'\0'&&p[i][j]<='9';j+=2)s=10*s+p[i][j]-'0';

printf("%d\n",s);

A)6385B)69825C)63825D)693825

(49)以下程序的输出结果是

fut(int**s,intp[2][3])

{**s=p[1][1];}

main()

{inta[2][3]={1,3,5,7,9,11},*p;

p=(int*)malloc(sizeof(int));

fut(&p,a);

primtf("%d\n",*p);}

A)1B)7C)9D)11

(50)以下程序的输出结果是

#include"ctype.h"

space(char*str)

{inti,t;charts[81];

for(i=0,t=0;str[i]!

='\0';i+=2)

if(!

isspace(*str+i)&&(*(str+i)!

='a'))

ts[t++]=toupper(str[i]);

ts[t]='\0';

strcpy(str,ts);}

mian()

{chars[81]={"abcdefg"};

space(s);

puts(s);}

A)abcdegB)bcdeC)ABCDED)BCDE

二、填空题(每空2分,共40分)

请将每空的正确答案写在答题卡上【1】-【20】序号的横线上,答在试卷上不得分。

(1)十进制数112.375转换成十六进制数为【1】。

(2)存储200个32×32点阵的汉字信息需【2】KB。

(3)数字符号0的ASCII码十进制表示为48,数字符号9的ASCII码十进制表示为【3】。

(4)DOS命令分为内部命令与外部命令,TREE命令属于【4】命令。

(5)自动批处理文件的文件名为【5】。

(6)表示条件:

10

(7)下列程序的输出结果是【7】

main(){charb[]="ABCDEFG";

char*chp=&b[7];while(--chp>&b[0])putchar(*chp);

putchar('\n');}

(8)下列程序的输出结果是【8】。

intast(intx,inty,int*cp,int*dp)

{*cp=x+y;*dp=x-y;}

main()

{inta,b,c,d;

a=4;b=3;

ast(a,b,&c,&d);

printf("%d%d/n",c,d);}

(9)以下程序的功能是:

人键盘上输入若干个学生的成绩,统计并输出最高成绩和最低成绩,当输入负数时结束输入.请填空.

main()

{floatx,amax,amin;

scanf("%f",&x);

amax=x;amin=x;

while(【9】)

{if(x>amax)amax=x;

if(【10】)amin=x;

scanf("%f",&x);}

printf("\namax=%f\namin=%f\n",amax,amin);}

(10)下面程序通过函数average计算数组中各元素的平均值,请填空.

floataverage(int*pa,intn)

{inti;

floatavg=0.0;

for(i=0;i

avg=【12】;

returnavg;}

main()

{inti,a[5]={2,4,6,8,10};

floatmean;

mean=average(a,5);printf("mean=%f\n",mean);}

(11)阅读程序:

#include"string.h"

#include"stdio.h"

strle(chara[],charb[])

{intnum=0,n=0;

while(*(a+num)!

='\0'),num++;

while(b[n]){*(a+num)=b[n];num++;n++;}

return(num);}

main()

{charstr1[81],str2[81],*p1=str1,*p2=str2;

gets(p1);gets(p2);

printf("%d\n",strle(p1,p2));}

运行上面程序,如果从键盘上输入字符串qwerty和字符串abcd则程序的输出结果是【13】。

(12)以下程序的输出结果是【14】。

fun(intn,int*s)

{intf1,f2;

if(n==1||n==2)*s=1;

else{fun(n-1,&f1);fun(n-2,&f2);*s=f1+f2;}}

main()

{intx;

fun(6,&x);printf("%d\n",x);}

(13)阅读程序:

main()

{charstr1[]="howdoyoudo",str2[10];

char*p1=str1,*p2=str2;

scanf("%s",p2);printf("%s",p2);printf("%s\n",p1);}

运行上面的程序,输入字符串HOWDOYOUDO则程序的输出结果是【15】。

(14)以下程序由终端输入一个文件名,然后把从终端键盘输入的字符依次存放到该文件中,用#作为结束输入的标志.请填空.

#include

main()

{FILE*fp;

charch,fname[10];

printf("lnputthenameoffile\n");

gets(fname);

if((fp=【16】)==NULL)

{printf("Cannotopen\n");exit(0);}

printf("Enterdata\n");

while((ch=getchar())!

='#')fputc(【17】,fp);

fclose(fp);}

(15)以下函数creat用来建立一个带头结点的单向链表,新产生的结点总是插在链表的末尾。

单向链表的头指针作为函数值返回.请填空:

#include

structlist{chardata;structlist*next;};

structlist*creat()

{structlist*h,*p,*q;

charch;

h=【18】malloc(sizeof(structlist));

p=q=h;

ch=getchar();

while(ch!

='?

')

{p=【19】malloc(sizeof(structlist));

p->data=ch;

p->next=p;

q=p;

ch=getchar();

}

p->next='\0';

【20】

}

〖完〗

2015年4月二级C笔试试卷参考答案

一选择题(

(1)~(40)题每题1分,(41)~(50)题每题2分,共60分)

(1)B

(2)B

(3)C

(4)A

(5)C

(6)B

(7)B

(8)B

(9)C

(10)C

(11)D

(12)D

(13)C

(14)D

(15)B

(16)D

(17)C

(18)A

(19)C

(20)D

(21)B

(22)A

(23)A

(24)C

(25)D

(26)D

(27)C

(28)D

(29)D

(30)C

(31)C

(32)B

(33)C

(34)B

(35)A

(36)D

(37)D

(38)D

(39)D

(40)B

(41)D

(42)C

(43)D

(44)B

(45)B

(46)C

(47)A

(48)A

(49)C

(50)D

二填空题(每空2分,共40分)

(1)至(5)题中所有字母都允许大`小写或大小写混合)

(1)【1】70.6

(2)【2】25(答25KB不扣分)

(3)【3】57

(4)【4】外部(答外部命令不扣分)

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1