全国计算机二级C语言考试模拟试题及答案18.docx

上传人:b****6 文档编号:16766668 上传时间:2023-07-17 格式:DOCX 页数:15 大小:21.64KB
下载 相关 举报
全国计算机二级C语言考试模拟试题及答案18.docx_第1页
第1页 / 共15页
全国计算机二级C语言考试模拟试题及答案18.docx_第2页
第2页 / 共15页
全国计算机二级C语言考试模拟试题及答案18.docx_第3页
第3页 / 共15页
全国计算机二级C语言考试模拟试题及答案18.docx_第4页
第4页 / 共15页
全国计算机二级C语言考试模拟试题及答案18.docx_第5页
第5页 / 共15页
全国计算机二级C语言考试模拟试题及答案18.docx_第6页
第6页 / 共15页
全国计算机二级C语言考试模拟试题及答案18.docx_第7页
第7页 / 共15页
全国计算机二级C语言考试模拟试题及答案18.docx_第8页
第8页 / 共15页
全国计算机二级C语言考试模拟试题及答案18.docx_第9页
第9页 / 共15页
全国计算机二级C语言考试模拟试题及答案18.docx_第10页
第10页 / 共15页
全国计算机二级C语言考试模拟试题及答案18.docx_第11页
第11页 / 共15页
全国计算机二级C语言考试模拟试题及答案18.docx_第12页
第12页 / 共15页
全国计算机二级C语言考试模拟试题及答案18.docx_第13页
第13页 / 共15页
全国计算机二级C语言考试模拟试题及答案18.docx_第14页
第14页 / 共15页
全国计算机二级C语言考试模拟试题及答案18.docx_第15页
第15页 / 共15页
亲,该文档总共15页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

全国计算机二级C语言考试模拟试题及答案18.docx

《全国计算机二级C语言考试模拟试题及答案18.docx》由会员分享,可在线阅读,更多相关《全国计算机二级C语言考试模拟试题及答案18.docx(15页珍藏版)》请在冰点文库上搜索。

全国计算机二级C语言考试模拟试题及答案18.docx

全国计算机二级C语言考试模拟试题及答案18

2021年9月全国计算机二级C语言考试模拟试题及答案

一、选择题(

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

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

(1)通常所说的主机主要包括

A.CPU

B.CPU和内存

C.CPU、内存与外存

D.CPU、内存与硬盘

(2)在微机系统中,基本的输入输出模块BIOS存放在

A.RAM中

B.ROM中

C.硬盘中

D.寄存器中

(3)一个24*24点阵的汉字字形信息所占的字节数为

A.2

B.24

C.32

D.72

(4)bit的意思是

A.字

B.字长

C.字节

D.二进制位

(5)某学校的工资管理程序属于

A.系统程序

B.应用程序

C.工具软件

D.文字处理软件

(6)与十六进制数BB等值的十进制数是

A.187

B.188

C.185

D.186

(7)设一张软盘已染上病毒,能清除病毒的措施是

A.删除该软盘上的所有文件

B.格式化该软盘

C.删除该软盘上的所有可执行文件

C.删除该软盘上的所有批处理文件

(8)一张3.5英寸双面高密度软盘片的容量为

A.360KB

B.720KB

C.1.44MB

D.1.2MB

(9)与二进制小数0.1等值的十六进制小数为

A.0.1

B.0.2

C.0.4

D.0.8

(10)DOS系统的热启动与冷启动的不同之处为热启动时

A.不检测键盘、处设接口与内存

B.不提示用户输入日期与时间

C.不用装入COMMAND.COM文件

D.不能从软盘启动

(11)为了将磁盘上的文件K1,K2,K3,依次连接在文件K4的后面,应使用命令

A.COPYK1+K2+K3K4

B.COPYK1+K2+K3+K4

C.COPYK1+K2+K3+K4K4

D.COPYK4+K1+K2+K3

(12)下列文件名中可以作为批处理文件名的是

A.AUTOEXC.C

B.AUTOEXEC

C.ATX.BAT

D.AUTO.TXT

(13)要打印输出当前盘的根目录下所有文件与子目录清单,应使用命令

A.DIR\>PRN

B.TYPE\>PRN

C.DIR>PRN

C.TYPE>PRN

C.DIR>PRN

D.TYPE>PRN

(14)设可执行文件ABC.EXE所需要的本该由键盘输入的数据已经按格式存放在文件XYZ中,并要求执行结果放在XYZ中输入数据的后面。

下列命令中正确的是

A.ABCXYZ

B.ABC>XYZ

C.ABC

D.ABC>>XYZ

(15)设当前盘中某一目录路径为\A\B\C,当前目录为\A。

下列命令中肯定出错的是

A.MD\A\C

B.CD..

C.MD\A\B\A

D.MD\A\B

(16)设A盘的目录结构如下:

根目录

┌────┬────┬──┴───┬─────┬────┐

││││││

ABCD1子目录DX.CQ.DATD2子目录A.FOR

││

┌────┬┴──┬───┐┌─────┼────┐

│││││││

B.PASD3子目录Y.BASA.CA1.CD4子目录XYZ.C

┌───┬──┴─┬───┐

││││

QR.CNA.CA.TXTB.C

如果当前盘为C盘,A盘的当前目录为\D2,则下列对A盘上文件QR.C的指定中,合法的是

A.\D2\D4\QR.C

B.D4\QR.C

C.A:

D4\QR.C

D.A:

D2\D4\QR.C

(17)下列DOS命令中,有错误的是

A.TYPEAAB.FOR>CON

B.TYPE?

AB.FOR

C.COPY*.CCON

D.COPYCONPRN

(18)设当前盘为A盘,为了将当前盘当前目录下的文件AB1.TXT连接在C盘根目录下的文件XYZ.TXT的后面,正确的命令是

A.COPYC:

\XYZ.TXT+AB1.TXT

B.COPYAB1.TXT>>C:

\XYZ.TXT

C.TYPEAB1.TXT>C:

\XYZ.TXT

D.AB1.TXT+C:

\XYZ.TXT>C:

\XYZ.TXT

(19)下列命令中合法的是

A.DISKCOPYA:

A:

B.DISKCOPYA:

C:

C.DISKCOPYC:

A:

D.DISKCOPYC:

D:

(20)设当前盘中某一目录路径为\A\B\C\D\XU,当前目录为\A。

要将根目录下扩展名为.C的所有文件复制到当前目录下,并将扩展名改为.FOR,应使用命令

A.COPY\*.C*.FOR

B.COPY*.C\A\*.FOR

C.COPY*.FOR\*.C

D.COPY\A\*.C*.FOR

(21)下列不正确的转义字符是

A.'\\'

B.'\"

C.'074'

D.'\0'

(22)若有以下定义:

chara;intb;

floatc;doubled;

则表达式a*b+d-c值的类型为

A.float

B.int

C.char

D.double

(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)设a=1,b=2,c=3,d=4,则表达式:

A.765.12<回车>

B.i=100,f=765.12<回车>

C.100<回车>765.12<回车>

D.x=100<回车>y=765.12<回车>

(29)设x和y均为int型变量,则执行下的循环后,y值为

for(y=1,x=1;y<=50;y++)

{if(x>=10))break;

if(x%2==1)

{x+=5;continue;}

x-=3;

}

A.2

B.4

C.6

D.8

(30)给出以下定义:

charx[]="abcdefg";

chary[]={'a','b','c','d','e','f','g'};

则正确的叙述为

A.数组X和数组Y等价

B.数组x和数组Y的长度相同

C.数组X的长度大于数组Y的长度

D.数组X的长度小于数组Y的长度

(31)以下叙述中不正确的是

A.在不同的函数中可以使用相同名字的变量

B.函数中的形式参数是局部变量

C.在一个函数内定义的变量只在本函数范围内有效

D.在一个函数内的复合语句中定义的变量在本函数范围内有效

(32)假定a和b为int型变量,则执行以下语句后b的值为

a=1;b=10;

do

{b-=a;a++;}

while(b--<0);

A.9

B.-2

C.-1

D.8

(33)设j为int型变量,则下面for循环语句的执行结果是

for(j=10;j>3;j--)

{if(j%3)j--;

--j;--j;

printf("%d",j);

}

A.63

B.74

C.62

D.73

(34)设有以下宏定义:

#defineN3

#defineY(n)((N+1)*n)

则执行语句:

z=2*(N+Y(5+1));后,z的值为

A.出错

B.42

C.48

D.54

(35)设P1和P2是指向同一个int型一维数组的指针变量,k为int型变量,则不能正确执行的语句是

A.k=*P1+*P2;

B.p2=k;

C.P1=P2;

D.K=*P1*(*P2);

(36)设有如下定义:

intarr[]={6,7,8,9,10};

int*ptr;

则下列程序段的输出结果为

ptr=arr;

*(ptr+2)+=2;

printf("%d,%d\n",*ptr,*(ptr+2));

A.8,10

B.6,8

C.7,9

D.6,10

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

main()

{inti,k,a[10],p[3]:

K=5;

for(i=0;i<10;i++)a[i]=i;

for(i=0;i<3;i++)p[i]=a[i*(i+1)];

for(i=0;i<3;i++)k+=p[i]*2;

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

}

A.20

B.21

C.22

D.23

(38)执行以下程序段后,m的值为

inta[2][3]={{1,2,3},{4,5,6}};

intm,*p;

p=&a[0][0];

m=(*p)*(*(p+2))*(*(p+4));

A)15

B.14

C.13

D.12

(39)有以下程序段

chararr[]="ABCDE";

char*ptr;

for(ptr=arr;ptr

main()

{union

{intk;

chari[2];

}*s,a;

s=&a;

s->i[0]=0x39;s->i[1]=0x38;

printf("%x\n",s->k);

}

输出结果是

A.3839

B.3938

C.380039

D.390038

(42)有以下程序

#include

main()

{inta,b,c=246;

a=c/100%9;

b=(-1)&&(-1);

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

B.;

}

输出结果是

A.2,1

B.3,2

C.4,3

D.2,-1

(43)设有如下定义:

int(*ptr)*();

则以下叙述中正确的是

A.ptr是指向一维组数的指针变量

B.ptr是指向int型数据的指针变量

C.ptr是指向函数的指针,该函数返回一个int型数据

D.ptr是一个函数名,该函数的返回值是指向int型数据的指针

(44)有以下程序

#include

structstu

{intnum;

charname[10];

intage;

};

voidfun(structstu*p)

{printf("%s\n",(*p).name);}

main()

{

structstustudents[3]={{9801,"Zhang",20},

{9802,"Wang",19},

{9803,"Zhao",18}};

fun(students+2);

}

输出结果是

A.Zhang

B.Zhao

C.Wang

D.18

(45)设有以下说明和定义:

typedefunion

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

structdate

{intcat;DATEcow;doubledog;}too;

DATEmax;

则下列语句的执行结果是

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

A.26

B.30

C.18

D.8

(46)有以下程序

main()

{chara[]="programming",b[]="language";

char*p1,*p2;

inti;

p1=a;p2=b;

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

if(*(p1+i)==*(p2+i))printf("%c",*(p1+i));

}

输出结果是

A.gm

B.rg

C.or

D.ga

(47)有以下程序

viodfun(inta,intb,int

C.

{a=456;b=567;c=678;}

main()

{intx=10,y=20,z=30;

fun(x,y,z);

printf("%d,/%d\n",c,

D.;

}

输出结果是

A.30,20,10

B.10,20,30

C.456,567,678

D.678,567,456

(48)有以下程序

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

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

main()

{inta,b,c,d;

a=30;b=50;

fun(a,b,&c,&

D.;

printf("%d,%d\n",c,

D.;

}

输出结果是

A.50,30

B.30,J50

C.80,-20

D.80,20

(49)有以下程序

main()

{inti,j;

for(j=10;j<11;j++)

{for(i=9;i=j-1)printf("%d",j);

}

}

输出结果是

A.11

B.10

C.9

D.1011

(50)有以下程序

#include"atdio.h"

intabc(intu,intv);

main()

{inta=24,b=16,c;

c=abc(a,

B.;

printf('%d\n",

C.;

}

ntabc(intu,intv)

{intw;

while(v)

{w=u%v;u=v;v=w}

returnu;

}

输出结果是

A.6

B.7

C.8

D.9

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

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

(1)自动批自理文件名为【1】。

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

(3)设当前为C盘,现要用一条DOS命令在打印机上输出A盘当前目录下所有扩展名为.DAT的文件内容。

这一条DOS命令应为【3】。

(4)要将当前盘当前目录下的子目录XYZ中所有扩展名为.BAK的文件名改成扩展名为.FOR,应使用的DOS命令为【4】。

(5)设DOS外部命令文件所在的路径均已用PATH命令打通。

现要将当前盘当前目录下的文件WST.TXT设置为只读属性,应使用的DOS命令为【5】。

(6)设x和y均为int型变量,且x=1,y=2,则以下表达式的值为【6】。

1.0+x/y

(7)设i,j,k均为int型变量,则执行完下面的for循环后,k的值为【7】。

for(i=0,j=10;i<=j;i++,j--)

k=i+j;

(8)设有以下定义的语句:

inta[3][2]={10,20,30,40,50,60},(*p)[2];

p=a;

则*(*(p+2)+1)值为【8】。

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

#include

intfun(intx,inty)

{staticintm=0,i=2;

i+=m+1;

m=i+x+y;

returnm

}

main()

{intj=4,m=1,k;

k=fun(j,m);printf("%d,",k);

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

}

(10)函数fun的功能是:

使一个字符串按逆序存放,请填空

voidfun(charstr[])

{charm;inti,j;

for(i=0,j=strlen(str);i<【10】;i++,j--)

{m=str[i];

str[i]=【11】;

str[j-1]=m;

}

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

}

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

从键盘上输入一行字符,存入一个字符数组中,然后输出该字符串,请填空。

#include"ctype.h"

#include"stdio.h"

main()

{charstr[81],*sptr;

inti;

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

{str[i]=getchar();

if(str[i]=='\n')break;

}

str[i]=【12】;

sptr=str;

while(*sptr)putchar(*sptr【13】);

}

(12)以下程序用来对从键盘上输入的两个字符串进行比较,然后输出两个字符串中个不相同字符的ASCII码之差。

例如:

输入的两个字符串分别为abcdef和abceef,则输出为-1。

请填空。

#include

main()

{charstr[100],str2[100],c;

inti,s;

printf("\ninputstring1:

\n");gest(str1);

printf("\ninputstring2:

\n");gest(str2);

i=0;

while((strl[i]==str2[i]&&(str1[i]!

=【14】))

i++;

s=【15】;

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

}

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

从键盘上输入一个字符串,把该字符串中的小写字母转换为大写字母,输出到文件test.txt中,然后从该文件读出字符串并显示出来。

请填空。

#include

main()

{FILE*fp;

charstr[100];inti=0;

if((fp=fopen("text.txt",【16】))==NULL)

{printf("can'topenthisfile.\n");exit(0);}

printf("inputastring:

\n");gest(str);

while(str[i])

{if(str[i]>='a'&&str[i]<='z')

str[i]=【17】;

fputc(str[i],fp);

i++;

}

fclose(fp);

fp=fopen("test.txt",【18】);

fgets(str,100,fp);

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

fclose(fp);

}

(14)以下程序可以把从键盘上输入的十进制数(long型)以二到十六进制形式输出,请填空。

#include.

main()

{charb[16]={'0','1','2','3','4','5','6','7','8','9','A','B','C'

'D','E','F'};

intc[64],d,i=0,base;

longn;

printf("enteranumber:

\n");scanf("%ld",&n);

printf("enternewbase:

\n");scanf("%d",&base);

do

{c[i]=【19】;

i++;n=n/base;

}while(n!

=0);

printf("transmitenewbase:

\n");

for(--i;i>=0;--i)

{d=c[i];

printf("%c",b【20】;

}

}

参考答案

一、选择题(

(1)-(40)题每题1分;(41)-(50)题每题2分)

(1)B

(2)B(3)D(4)D(5)B(6)A(7)B(8)C(9)D(10)A

(11)D(12)C(13)A(14)B(15)D(16)C(17)B(18)A(19)A(20)A

(21)C(22)D(23)A(24)D(25)B(26)C(27)C(28)B(29)C(30)C

(31)D(32)D(33)B(34)C(35)B(36)D(37)B(38)A(39)D(40)D

(41)A(42)A(43)C(44)B(45)B(46)D(47)A(48)C(49)B(50)C

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

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

(1)【1】AUTOEXEC.BAT

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

(3)【3】COPYA:

*.DATPRN

(在COPY后面与A:

*.DAT后面都至少要有一个空格)

(4)【4】RENXYZ\*.BAK*.FOR或RENAMEXYZ\*.BAK*.FOR

(在REN或RENAME后面与XYZ\*.BAK后面都至少要有一个空格)

(5)【5】ATTRIB+RWST.TXT

(在ATTRIB后面与+R后面都至少有一个空格)或ATTRIBWST.TXT+R(在ATTRIB后面与WST.TXT后面都至少要有一个空格)

(6)【6】1.0或1

(7)【7】10

(8)【8】60

(9)【9】8,17

(10)【10】strlen(str)/2或strlen(str)/2.0或0.5*strlen(str)或j或j-1

【11】str[j-1]或*(str+j-1)

(11)【12】'\0'或0

【13】++

(12)【14】'\0'或0

【15】strl[i]-str2[i]

(13)【16】"w"或"w+"或"wt"或"w+t"或"""wt+"

【17】str[i]-32或str[i]-('a'-'A'或str[i]-'a'+'A'

【18】"r"或"r+"或"r+t"或"rt+"

(14)【19】nºse

【20】[d]

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

当前位置:首页 > 法律文书 > 调解书

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2