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

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

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

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

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

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

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

基础部分和C语言程序设计

(考试时间:

120分钟,满分100分)

2000年4月

一、选择题(

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

下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项在

答题卡相应位置上涂黑,答在试卷上不得分。

(1)下列述叙中正确的是

A)显示器和打印机都是输出设备B)显示器只能显示字符

C)通常的彩色显示器都有7种颜色D)打印机只能打印字符和表格

(2)微型计算机中运算器的主要功能是进行

A)算术运算B)逻辑运算C)算术和逻辑运算D)初等函数运算

(3)COMMAND。

COM是DOS系统的最外层模块,通常称之为

A)引导程序B)输入输出系统C)命令处理系统D)文件管理系统

(4)电子邮件是

A)网络信息检索服务

B)通过Web网页发布的公告信息

C)通过网络实时交互的信息传递方式

D)一种利用网络交换信息的非交互式服务

(5)和十进制数225相等的二进制数是

A)11101110B)11111110C)10000000D)11111111

(6)下列叙述中正确的是

A)指令由操作数和操作码两部分组成

B)常用参数xxMB表示计算机的速度

C)计算机的一个字长总是等于两个字节

D)计算机语言是完成某一任务的指令集

(7)计算机的内存储器比外存储器

A)价格便宜B)存储容量大C)读写速度快D)读写速度慢

(8)设当前盘为C盘,执行DOS命令"COPYB:

\A.TXTPRN"之后,结果是

A)B盘上的A.TXT文件被复制到C盘的PRN文件

B)屏幕上显示B盘上的A.TXT文件内容

C)B盘上的A.TXT文件内容在打印机上输出

D)B盘上的A.TXT文件被复制到B盘上的PRN文件

(9)要将当前盘当前目录下的两个文件X1.TXT和B1.TXT连接起来之后存入B盘当前目录下并且命名为Z.TXT,无论B盘当前目录是什么,完成这件任务可以使用的命令是

A)COPYA:

X1.TXT+C:

B1.TXTZ.TXT

B)COPYX1.TXT+C:

\WS\B1.TXTB:

\Z.TXT

C)COPYA:

X1.TXT+C:

\WS\B1.TXT

D)COPYX1.TXT+B1.TXTB:

Z.TXT

(10)下列四组DOS命令中,功能等价的一组是

A)COPYA:

*.*B:

与DISKCOPYA:

B:

B)COPYABC.TXT+XYZ.TXT与TYPEXYZ.TXT>>ABC.TXT

C)COPYABC.TXT+XYZ.TXT与COPYXYZ.TXT+ABC.TXT

D)TYPE*.FOR>CON与COPY*.FORCON

(11)设当前目录为D:

\BB,现要把D:

\AA目录下首字符是A的文本文件全部删除,应该使用命令

A)DELA*.TXTB)DEL\AA\A.TXT

C)DEL\AA\A*.TXTD)DEL\AA\A?

.TXT

(12)在Windows中,启动应用程序的正确方法是

A)用鼠标指向该应用程序图标

B)将该应用程序窗口最小化成图标

B)将该应用程序窗口还原

D)用鼠标双击该应用程序图标

(13)在Windows中,终止应用程序执行的正确方法是

A)将该应用程序窗口最小化成图标

B)用鼠标双击应用程序窗口右上角的还原按钮

C)用鼠标双击应用程序窗口中的标题栏

D)用鼠标双击应用程序窗口左上角的控制菜单框

(14)在微机系统中,对输入输出设备进行管理的基本程序模块(BIOS)存放在

A)RAM中B)ROM中C)硬盘中D)寄存器中

(15)使计算机病毒传播范围最广的媒介是

A)硬磁盘B)软磁盘C)内部存储器D)互联网

(16)设有intx=11;则表达式(x++*1/3)的值是

A)3B)4C)11D)12

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

A)3B)3.2C)0D)3.07

main()

{doubled=3.2;intx,y;

x=1.2;y=(x+3.8)/5.0;

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

}

(18)下列程序执行后的输出结果是(小数点后只写一位)

A)666.06.0B)666.76.7

C)666.06.7D)666.76.0

main()

{doubled;floatf;lingl;inti;

i=f=1=d=20/3;

printf("%d%ld%f%f\n",i,l,f,d);

}

(19)下列变量定义中合法的是

A)short_a=1-.le-1;B)doubleb=1+5e2.5;

C)longdo=0xfdaL;D)float2_and=1-e-3;

(20)设intx=1,y=1;表达式(!

x||y--)的值是

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

(21)与y=(x>0?

1:

x<0?

-1:

0);的功能相同的if语句是

A)if(x>0)y=1;B)if(x)

elseif(x<0)y=-1;if(x>0)y=1;

elsey=0;elseif(x<0)y=-1;

elsey=0;

C)y=-1D)y=0;

if(x)if(x>=0)

if(x>0)y=1;if(x>0)y=1;

elseif(x==0)y=0;elsey=-1;

elsey=-1;

(22)以下循环体的执行次数是

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

main()

{inti,j;

for(i=0,j=1;i<=j+1;i+=2,j--)printf("%d\n",i);

}

(23)以下叙述正确的是

A)do-while语句构成的循环不能用其它语句构成的循环来代替。

B)do-while语句构成的循环只能用break语句退出。

C)用do-while语句构成的循环,在while后的表达式为非零时结束循环。

D)用do-while语句构成的循环,在while后的表达式为零时结束循环。

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

A)GB)HC)ID)J

main()

{intx='f';printf("%c\n",'A'+(x-'a'+1));}

(25)执行下面的程序段后,变量k中的值为

A)不定值B)33C)30D)10

intk=3,s[2];

s[0]=k;k=s[1]*10;

(26)若已定义:

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

其中0≤i≤9,则对a数组元素不正确的引用上

A)a[p-a]B)*(&a[i])C)p[i]D)a[10]

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

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

voidfunc(int*a,intb[])

{b[0]=*a+6;}

main()

{inta,b[5];

a=0;b[0]=3;

func(&a,b);printf("%d\n,b[0]);

}

(28)下列程序的运行结果是

A)a=%2,b=%5B)a=2,b=5

C)a=d,b=dD)a=%d,b=%d

#include

main()

{inta=2,c=5;

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

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

A)3B)6C)9D)随机数

main()

{inta[3][3],*p,i;

p=&a[0][0];

for(i=p;i<9;i++)p[i]=i+1;

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

}

(30)设有数组定义:

chararray[]="China";则数组array所占的空间为

A)4个字节B)5个字节C)6个字节D)7个字节

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

A)4B)6C)8D)10

intb=2;

intfunc(int*a)

{b+=*a;return(b);}

main()

{inta=2,res=2;

res+=func(&a);

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

}

(32)在以下四组中,每组有两个分别运算的函数,运算结果相同的是

A)4B)2C)2D)0

main()

{inti,j,m=0,n=0;

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

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

if(j>=i)m=1;n++;

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

}

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

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

structabc

{inta,b,c;};

main()

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

t=s[0],a+s[1],b;

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

}

(34)设intb=2;表达式(b>>2)/(b>>1)的值是

A)0B)2C)4D)8

(35)在C程序中,可把整型数以二进制形式存放到文件中的函数是

A)fprintf函数B)fread函数C)fwrite函数D)fputc函数

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

A)-32767B)FFFEC)-1D)-32768

main()

{charx=0xFFFF;printf("%d\n",x--);}

(37)若有定义:

floatw;inta,b;则合法的switch语句是

A)switch(w)B)switch(a);

{case1.0:

printf("*\n");{case1printf("*\n");

case2.0:

printf("**\n");case2printf("**\n");

}}

C)switch(b)D)switch(a+b);

{case1:

printf("*\n");{case1:

printf("*\n");

default:

printf("\n");case2:

printf("**\n");

case1+2:

printf("**\n");default:

printf("\n");

}}

(38)以下程序段的执行结果是

A)a=12y=12B)a=12y=12

a=14y=16a=16y=28

a=16y=20

a=18y=24

C)a=12y=12D)a=12y=12

a=14y=26

a=14y=44

inta,y;

a=10;y=0;

do

{a+=2;y+=a;

printf("a=%dy=%d\n",a,y);

if(y>20)break;

{while(a=14);

.

.

.

(39)若有以下调用语句,则不正确的fun函数的首部是

A)voidfun(intm,intx[])B)voidfun(ints,inth[41])

C)voidfun(intp,int*s)D)voidfun(intn,inta)

main()

{…

inta[50],n;

fun(n,&a[9]);

}

(40)语句printf("a\bre\'hi\'y\\\bou\n");的输出结果是

A)a\bre\'hi\'y\\\bouB)a\bre\'hi\'y\bou

C)re'hi'youD)abre'hi'y\bou

(说明:

'\b'是退格符)

(41)请选出正确的程序段

A)int*p;B)int*s,k;

scanf("%d",p);*s=100;

……

C)int*s,k;D)int*s,k;

char*p,c;char*p,e;

s=&k;s=&k;

p=&c;p=&c;

*p='a';s=p;

…*s=1;

(42)已知指针p的指向如下图所示,则执行语句*--p;后*p的值是

A)30B)20C)19D)29

a[0]

a[1]

a[2]

a[3]

a[4]

10

20

30

40

50

(43)设已有定义:

char*st="howareyou";下列程序段中正确的是

A)chara[11],*p;strcpy(p=a+1,&st[4]);

B)chara[11];strcpy(++a,st);

C)chara[11];strcpy(a,st);

D)chara[],*p;strcpy(p=&a[1],st+2);

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

A)you&neB)youC)meD)err

mai()

{chararr[2][4];

strcpy(arr,"you");strcpy(arr[1],"me");

arr[0][3]='&';

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

}

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

A)helloB)helC)hloD)hlm

voidfunc1(inti);

voidfunc2(inti);

charst[]="hello,friend!

";

voidfunc1(inti)

{printf("%c",st[i]);

if(i<3){i+=2;func2(i);}

}

voidfunc2(inti)

{printf("%c",st[i]);

if(i<3){i+=2;func1(i);}

}

main()

{inti=0;func1(i);printf("\n");}

(46)假定下列程序的可执行文件名为prg.exe,则在该程序所在的子目录下输入命令行:

prghellogood<回车>后,程序的输出结果是

A)hellogoodB)hgC)helD)hellogood

main()(intargc,char*argv[])

{inti;

if(argc<-0)return;

for(i=1;i

}

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

A)6B)8C)10D)12

#defineMA(x)x*(x-1)

main()

{inta=1,b=2;printf("%d\n",MA(1+a+b));}

(48)有以下结构体说明和变量的定义,且如下图所示指针p指向变量a,指针q指向变量b。

则不能把结点b连接到结点a之后的语句是

A)a.next=q;B)p.next=&b;

C)p->next=&b;D)(*p).next=q;

structnode

{chardata;

structnode*next;

{a,b,*p=&a,*q=&b;

datanextdatanext

(49)变量a所占内存字节数是

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

unionU

{charst[4];

inti;

longl;

};

structA

{intc;

unionUu;

}a;

(50)执行下列程序时输入:

123<空格>456<空格>789<回车>,输出结果是

A)123,456,789B)1,456,789

C)1,23,456,789D)1,23,456

main()

{chars[100];intc,i;

scanf("%c",&c);scanf("%d",&i);scanf("%s",s);

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

}

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

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

(1)计算机网络按通信距离来划分,可分为局域网和广域网。

因特网属于[1]。

(2)当前盘是C,确保在D盘的根目录下建立一个子目录USER的一条DOS命令是[2]。

(3)要将当前盘当前目录中所有扩展名为.TXT的文件内容显示在屏幕上的DOS命令是[3]。

(4)DOS命令分为内部命令和外部命令,CHKDSK命令是[4]命令。

(5)在Windows中,为了终止一个应用程序的运行,首先单击该应用程序窗口中的控制菜单框,然后在控制菜单中单击[5]命令。

(6)设有以下变量定义,并已赋确定的值

charw;intx;floaty;doublez;

则表达式:

w*x+z-y所求得的数据类型为[6]。

(7)若x为int类型,请以最简单的形式写出与逻辑表达式!

x等价的C语言关系表达式[7]。

(8)若有如下图所示五个连续的int类型的存储单元并赋值如下图,a[0]的地址小于a[4]的地址。

p和s是基类型为int的指针变量。

请对以下问题进行填空。

a[0]

a[1]

a[2]

a[3]

a[4]

22

33

44

55

66

1,若p已指向存储单元a[1]。

通过指针p,给s赋值,使s指向最后一个存储单元a[4]的语句是[8]。

2,若指针s指向存储单元a[2],p指向存储单元a[0],表达式s-p的值是[9]。

(9)下面函数用来求出两个整数之和,并通过形参传回两数相加之和值,请填空。

intadd(intx,inty,[10]z)

{[11]=x+y;}

(10)下面程序的功能是:

计算1到10之间奇数之和及偶数之和,请填空。

#include

main()

{inta,b,c,i;

a=c=0;

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

{a+=i;

[12];

c+=b;

}

printf("偶数之和=%d\n",a);

printf("奇数之和=%d\n",c-11);

}

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

输出100以内能被3整除且个位数为6的所有整数,请填空。

#include

main()

{inti,j;

for(i=0;[13];i++)

{j=i*10+6;

if([14])continue;

printf("%d",j);

}

}

(12)下面程序的功能是:

将字符数组a中下标值为偶数的元素从小到大排列,其它元素不变。

请填空。

#include

#include

main()

{chara[]="clanguage",t;

inti,j,k;

k=strlen(a);

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

for(j=i+2;j<=k;[15])

if([16])

{t=a[i];a[i]=a[j];a[j]=t;}

puts(a);

printf("\n");

}

(13)以下程序的运行结果是[17]

#include

main()

{intk=4,m=1,p;

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

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

}

func(inta,intb)

{staticintm=0,i=2;

i+=m+1;

m=i+a+b;

returnm;

}

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

将无符号八进制数字构成的字符串转换为十进制整数。

例如,输入的字符串为:

556,则输出十进制整数366。

请填空。

#include

main()

{char*p,s[6];

intn;

p=s;

gets(p);

n=*p-'0';

while([18]!

='\0')n=n*8+*p-'0';

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

}

(15)函数voidfun(float*sn,intn)的功能是:

根据以下公式计算S,计算结果通过形参指针sn传回;n通过形参传入,n的值大于等于0。

请填空。

voidfun(float*sn,intn)

{floats=0.0,w,f=-1.0;

inti=0;

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

{f=[19]*f;

w=f/(2*i+1);

s+=w;

}

[20]=s;

}

「完」

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

2000年4月C语言

一、选择题(

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

(1)A

(2)C

(3)C

(4)D

(5)D

(6)A

7)C

(8)C

(9)D

(10)B

(11)C

(12)D

(13)D

(14)B

(15)D

(16)A

(17)C

(18)A

(19)A

(20)B

(21)A

(22)C

(23)D

(24)A

(25)A

(26)D

(27)A

(28)B

(29)B

(30)C

(31)B

(32)A

(33)B

(34)D

(35)A

(36)C

(37)D

(38)B

(39)C

(40)C

(41)C

(42)B

(43)A

(44)A

(45)C

(46)B

(47)B

(48)B

(49)C

(50)D

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

当前位置:首页 > 成人教育 > 自考

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

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