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

上传人:b****3 文档编号:4231303 上传时间:2022-11-28 格式:DOCX 页数:17 大小:23.05KB
下载 相关 举报
全国计算机等级考试二级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分)

2013年4月

一、选择题(

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

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

(1)微型计算机的性能主要取决于

A)内存B)中央处理器C)硬盘D)显示卡

(2)有一个数值152,它与十六进制数6A相等,那么该数值是

A)二进制数B)八进制数C)十进制数D)四进制数

(3)使用超大规模集成电路制造的计算机应该归属于

A)第一代B)第二代C)第三代D)第四代

(4)已知英文字母a的ASCII代码值是十六进制数61H,那么字母d的ASCII代码值是

A)34HB)54HC)24HD)64H

(5)一片存储容量是1.44MB的软磁盘,可以存储大约140万个

A)ASCII字符B)中文字符C)磁盘文件D)子目录

(6)在MS-DOS环境中同时按下[Ctrl]和[Break]两个键,其作用是

A)终止当前操作B)暂停当前操作C)关机D)热启动

(7)将二进制数10000001转换为十进制数应该是

A)127B)129C)126D)128

(8)磁盘处于写保护状态,那么磁盘中的数据

A)不能读出,不能删改,也不能写入新数据B)可以读出,不能删改,也不能写入新数据

C)可以读出,可以删改,但不能写入新数据D)可以读出,不能删改,但可以写入新数据

(9)微型机启动后,DOS提示符是C:

\>,现提示符变为C:

\USER>,则说明刚执行过命令

A)PROMPTB)PROMPTUSERC)PROMPTSP$GD)CDUSER

(10)MS-DOS文件系统目录的组织形式属于

A)关系型结构B)网络型结构C)树型结构D)直线型结构

(11)应用软件系统TH的总容量大约1MB,其主要程序文件存放在C:

\TH目录中,而数据文件存放在C:

\TH\DATA目录中,如果将它们完整地复制到A盘,应该使用的命令是

A)XCOPYC:

\THA:

\B)XCOPYC:

\THA:

\/S

C)XCOPYC:

\THA:

\/MD)XCOPYC:

\THA:

\/P

(12)执行COPYA.TXT+B.TXT这个DOS命令后,得到的磁盘文件是

A)A.TXTB)B.TXTC)AB.TXTD)A+B.TXT

(13)在WINDOWS中,将一个应用程序窗口最小化之后,得到的磁盘文件是

A)仍在后台运行B)暂时停止运行C)完全停止运行D)出错

(14)CD-ROM属于

A)感觉媒体B)表示媒体C)表现媒体D)存储媒体

(15)在因特网(Internet)中电子公告板的缩写是

A)FTPB)WWWC)BBSD)E-mail

(16)设x、y、z和k都是int型变量,则执行表达式:

x=(y=4,z=16,k=32)后,x的值为

A)4B)16C)32D)52

(17)设有如下的变量定义:

inti=8,k,a,b;

unsignedlongw=5;

doublex=1,42,y=5.2;

则以下符合C语言语法的表达式是

A)a+=a-=(b=4)*(a=3)B)x%(-3);

C)a=a*3=2D)y=float(i)

(18)假定有以下变量定义:

intk=7,x=12;

则能使值为3的表达式是

A)x%=(k%=5)B)x%=(k-k%5)C)x%=k-k%5D)(x%=k)-(k%=5)

(19)以下叙述中正确的是

A)输入项可以是一个实型常量,如:

scakf("%f",3.5);

B)只有格式控制,没有输入项,也能正确输入数据到内存,例如:

scakf("a=%d,b=%d");

C)当输入一个实型数据时,格式控制部分可以规定小数点后的位数,例如:

scakf("%4.2f",&f);

D)当输入数据时,必须指明变量地址,例如:

scakf("%f",&f);

(20)设x和y均为int型变量,则以下语句:

x+=y,y=x-y;x-=y;的功能是

A)把x和y按从大到小排列B)把x和y按从小到大排列

C)无确定结果D)交换x和y中的值

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

A)1010B)1212C)1110D)1113

main()

{inta=12,b=12;

printf("%d,%d\n",--a,++b);

}

(22)以下程序运行后,输出结果是

A)cdeB)字符c的ASCII码值C)字符c的地址D)出错

main()

{char*s="abcde";

s+=2;

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

}

(23)以下程序输出结果是

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

main()

{intm=5;

if(m++>5)printf("%d\n",m);

esleprintf("%d\n",m--);

}

(24)当a=1,b=3,c=5,d=5时,执行下面一段程序后,x的值为

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

if(a

if(c

else

if(a

if(b

elsex=3;

elsex=6;

elsex=7;

(25)在执行以下程序时,如果从键盘上输入,ABCdef<回车>,则输出为

A)ABCdefB)abcDEFC)abcD)DEF

#include

main()

{charch;

while((ch=getchar())!

='\n')

{if(ch>='A'&&ch<='Z')ch=ch+32;

elseif(ch>='a'&&ch<='z')ch=ch-32;

printf("%c",ch);

}

printf("\n");

}

(26)下面能正确进行字符串赋值操作的语句是

A)chars[5]={"ABCDE"};B)chars[5]={'A','B','C','D','E'};

C)char*s;s="ABCDEF";D)char*s;scanf("%s",s);

(27)执行以下程序段时

A)循环体将执行一次B)循环体将执行两次

C)循环体将执行无限次D)系统将提示有语法错误

X=-1;

do{x=x*x;}while(!

x);

(28)执行以下程序后,输出的结果是

A)-1B)1C)8D)0

main()

{inty=10;

do{y--;}while(--y);

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

}

(29)在下列选项中,没有构成死循环的程序段是

A)inti=100B)for(;;);

while

(1)

{i=i%100+1;

if(i>100)break;

}

C)intk=1000;D)ints=36;

do{++k;}while(k>=10000);while(s);--s;

(30)执行语句:

for(i=l:

i++<4:

);后,变量i的值是

A)3B)4C)5D)不定

(31)以下程序运行后,如果从键盘上输入ABCDE<回车>,则输出结果为

A)8B)7C)6D)5

#include

#include

func

{intnum=0;

while(*(str+num)!

='\0')num++;

return(num);

}

main()

{charstr[10],*p=str;

gets(p);printf("%d\n",func(p));

}

(32)运行以下程序后,如果从键盘上输入china#<回车>,则输出结果为

A)2,0B)5,0C)5,5D)2,5

#include

mair()

{intv1=0,v2=0;

charch;

while((ch=getchar())!

='#')

switch(ch)

{case'a';

case'h';

default;v1++;

case'0';v2++;

}

printf("%d,%d\n",v1,v2);

}

(33)若以下程序所生成的可执行文件名为filel.exe;当打入以下命令执行该程序时;

FILELCHINABEIJINGSHANGHAI

程序的输出结果是

A)CHINABEIJINGSHANGHAIB)FILELCHINABEIJING

C)CBSD)FCB

main(intargc,char*argv[])

{while(arge-->0)

{++argv;printf("%s",*argv);}

}

(34)下面程序运行的结果是

A)2ba56B)6521C)6D)62

main()

{charch[7]={65ab21"};

inti,s=0

for(i=0;ch[i]>='0'&&ch[i]<='9';i+=2)

s=10*s+ch[i]-'0';

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

}

(35)运行下面的程序,如果从键盘上输入:

ab<回车>

c<回车>

def<回车>

则输出结果为

A)aB)aC)abD)abcdef

bbc

ccd

dd

e

f

#include

#defineN6

main()

{charc[N];

inti=0;

for(;i

for(i=0;i

}

(36)以下程序运行后,输出结果是

A)8B)7C)6D)5

#include

ss(char*s)

{char*p=s;

while(*p)p++;

return(p-s);

}

main()

{char*a="abded";

inti;

i=ss(a);

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

}

(37)以下程序运行后,输出结果是

A)8,15B)8,16C)8,17D)8,8

func(inta,intb)

{staticintm=0,i=2;

i+=m+1;

m=i+a+b;

return(m);

}

main()

{intk=4,m=1,p;

p=func(k,m);printf("%d,",p);

p=func(k,m);printf("%d\n",p);

}

(38)以下程序运行后,输出结果是

A)49.5B)9.5C)22.0D)45.0

#include

#definePT5.5

#defineS(x)PT*x*x

main()

{inta=1,b=2;

printf("%4.1f\n",S(a+b));

}

(39)以下程序运行后,输出结果是

A)ABCDEFGB)CDGC)abcdefghD)abCDefGh

main()

{staticchara[]="ABCDEFGH",b[]="abCDefGh";

char*p1,*p2;

intk;

p1=a;p2=b;

for(k=0;k<=7;k++)

if(*(p1+k)==*(p2+k))

printf("%c",*(p1+k));

printf("\n");

(40)以下程序运行后,a的值是

A)4B)1C)0D)运行时出错,a无定值

main()

{inta,k=4,m=6,*p1=&k,*p2=&m;

a=p1==&m;

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

}

(41)以下程序运行后,输出结果是

A)84B)99C)95D)44

intd=1;

fun(intp)

{intd=5;

d+=p++;

printf("%d,d);

}

main()

{inta=3;

fun(a);

d+=a++;

printf("%d\n,d);

}

(42)以下程序运行后,输出结果是

A)6385B)22C)33D)693825

main()

{charch[2][5]={'693","825"},*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);

}

(43)以下程序运行后,输出结果是

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

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);

printf("%d\n",*P);

}

(44)设有如下定义:

inta=1,b=2,c=3,d=4,m=2,n=2:

则执行表达式:

(m=a>b)&&(n=c>d)后,n的值为

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

(45)在执行以下程序时,为了使输出结果为:

t=4,则给a和b输入的值应满足的条件是

A)a>bB)aa>b

main()

{ints,t,a,b;

scanf("%d,%d",&a,&b);

s=1;t=1;

if(a>0)s=s+1;

if(a>b)t=s+t;

elseif(a==b)t=5;

elset=2*s;

printf("t=%d\n",t);

}

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

A)x=4B)x=8C)x=6D)x=12

main()

{inti,j,x=0;

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

{x++;

for(j=0;j<=3;j++)

{if(j%2)continue;

x++;

}

x++;

}

printf("x=%d\n",x);

}

(47)以下程序运行后,输出结果是

A)1234567B)7654321C)1711717D)7177171

#inchude

#inchude

fun(char*w,intn)

{chart,*s1,*s2;

s1=w:

s2=w+n-1;

while(s1

{t=*s1++;

*s1=*s2--;

*s2=t;

}

}

main()

{char*p;

p="1234567";

fun(p,strlen(p));

puts(p);

}

(48)运行以下程序后,如果从键盘上输入6514<回车>,则输出结果为:

A)m=3B)m=2C)m=1D)m=1

main()

{intm,n;

printf("Enterm,n;");scanf("%d%d",&m,&n):

while(m!

=n)

{while(m>n)m-=n;

while(n>m)n-=m;

}

printf("m=%d\n",m);

}

(49)以下程序运行后,如果从键盘上输入:

book<回车>

book<空格><回车>

则输出的结果是

A)*8B)#9C)#6D)*9

#include

main()

{chara1[80],a2[80],*s1=a1,*s2=a2;

gets(s1);gets(s2);

if(!

strcmp(s1,s2))printf("*");

esleprintf("#");

printf("%d/n",strlen(strcat(s1,s2)));

}

(50)以下程序运行后,输出结果是

A)10000B)10010C)00110D)10100

main()

{inty=18,i=0,j,a[8];

do

{a[i]=y%2;i++

y=y/2;

}while(y>=1)

for(j=i-1;j>=0;j--)printf("%d",a[j];

printf("\n");

}

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

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

(1)DOS中的自动批处理文件的全名是【1】。

(2)在DOS启动盘中,除COMMAND.COM外,还有两个必备的系统文件,它们是MSDOS.SYS(或IBMDOS.COM)与【2】。

(3)在DOS下,要将当前目录中AB.TXT文件设置为只读属性,应该使用的完整命令行是【3】。

(4)在DOS下,要查看当前目录中所有批处理文件的总字节数,应该使用的完整命令行是【4】。

(5)计算机病毒除有破坏性、潜伏性和激发性外,还有一个最明显的特性是【5】。

(6)若想通过以下输入语句使a中存放字符串1234,b中存放字符5,则输入数据的形式应该是【6】

:

.

chara[10],b;

scanf("a=%sb=%c",a,&b);

:

.

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

charb[]="ABCD";

main()

{char*chp;

for(chp=b;*chp:

chp+=2)printf("%s",chp);

printf("\n");

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

#defineMAX3

inta[MAX];

main()

{fun1();fun2(a);printf("\n");}

fun1()

{intk,t=0;

for(k=0;k<MAX;K++,t++)a[k]=t+t;

}

fun2(intb[])

{intk;

for(k=0;k<NAX;k++)printf("%d",*(b+K));

}

(9)以下程序输出的是【9】

main()

{inta[10]={19,23,44,17,37,28,49,36},*p;

p=a;

printf("%d\n",(p+=3)[3]);

}

(10)以下程序输出的是【10】

main()

{inti=3,j=2;

char*a="DCBA";

printf("%c%c\n",a[i],a[j]);

}

(11)以下函数的功能是,把两个整数指针所指的存储单元中的内容进行交换。

请填空。

exchange(int*x,int*y)

{intt;

t=*y;*y=【11】;*x=【12】;

}

(12)若以下定义和语句,则sizeof(a)的值是【13】,而sizeof(b)的值是【14】

struct{intday;charmouth;intyear;}a,*b;

b=&a;

(13)以下fun函数的功能是:

累加数组元数中的值.n为数组中元素的个数,累加的和值放入x所指的存储单元中,请填空.

fun(intb[],intn,int*x)

{intk,r=0;

for(k=0;k

【16】=r;

}

spnextdata

┌─┬─┬─┐

root││││

└─┴─┴─┘

(14)变量root有如图所示有存储结构,其中sp是指向字符串的指针域,next是指向该结构的指针域,data用以存放整型数.请填空,完成此结构的类型说明和变量root的定义

structlist

{char*sp;

【17】;

【18】;

}root;

(15)下面程序把从终端读入的10个整数以二进制方式写到一个名为bi.dat的新文件中,请填空.

#include

FILE*fp;

main()

{inti,j;

if((fp=fopen(【19】,"wb"))==NULL)exit(0);

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

{scanf("%d",&j);

fwrite(&j,sizeof(int),1,【20】);

}

fclose(fp);

}

〖完〗

2013年4月

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

答案及评分标准

一.选择(

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

(1)B

(2)B

(3)D

(4)D

(5)A

(6)A

(7)B

(8)B

(9)D

(10)C

(11)B

(12)A

(13)A

(14)D

(15)C

(16)C

(17)A

(18)D

(19)D

(20)D

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

当前位置:首页 > 经管营销 > 经济市场

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

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