1995年二级C真题及参考答案.docx

上传人:b****3 文档编号:26556060 上传时间:2023-06-20 格式:DOCX 页数:20 大小:33.76KB
下载 相关 举报
1995年二级C真题及参考答案.docx_第1页
第1页 / 共20页
1995年二级C真题及参考答案.docx_第2页
第2页 / 共20页
1995年二级C真题及参考答案.docx_第3页
第3页 / 共20页
1995年二级C真题及参考答案.docx_第4页
第4页 / 共20页
1995年二级C真题及参考答案.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

1995年二级C真题及参考答案.docx

《1995年二级C真题及参考答案.docx》由会员分享,可在线阅读,更多相关《1995年二级C真题及参考答案.docx(20页珍藏版)》请在冰豆网上搜索。

1995年二级C真题及参考答案.docx

1995年二级C真题及参考答案

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

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

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

1995年9月

一、选择题(

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

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

(1)第一台电子数字计算机ENIAC诞生于

A)1927年B)1936年C)1946年D)1951年

(2)用FORTRAN语言编制的源程序要变为目标程序,必须经过

A)汇编B)解释C)编辑D)编译

(3)计算机软件一般包括系统软件和

A)字处理软件B)应用软件C)管理软件D)科学计算机软件

(4)计算机内使用的数是

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

(5)目前微型机常用的5.25寸双面高密度软盘的容量是

A)360KBB)1.44MBC)760KBD)1.2MB

(6)具有多媒体功能的微机系统常用CD-ROM作为外存储器,它是

A)只读内存储器B)只读大容量软盘C)只读硬盘D)只读光盘

说明:

(7)到(17)题给定的条件如下:

微机系统有A和B两个容量相同的软盘驱动器,硬盘C的目录结构为

文件AUTOEXEC.BAT的内容为

PROMPT$P$G

CDF4

CD\DOS

(7)微机系统用硬盘C启动后,当前系统提示符是

A)C:

\>B)C:

\DOS>C)C:

\F4>D)C>

(8)在用C盘启动后,把A盘格式化成系统盘的命令为

A)FORMATA:

B)\FORMATA:

/S

C)\DOS\FORMATA:

/SD)\DOS\FORMATA:

\S

(9)设当前盘为C盘,C盘当前目录为\DOS。

把JD1.FOR和JD2.FOR连接起来后存入A盘根目录下,命名为JD3.FOR,应使用命令

A)COPYJD1.FOR+JD2.FORA:

JD3.FOR

B)COPY\F4\JD1.FOR+JD2.FORA:

\JD3.FOR

C)COPY\F4\JD1.FOR+\F4\JD2.FORA:

\JD3.FOR

D)COPY\F4\JD1.FOR+\F4\JD2.FORJD3.FOR

(10)设当前盘为C盘,C盘当前目录为\DOS。

把FORMAT.COM和DISKCOPY.COM两个命令文件复制到A盘上的命令为

A)COPY\DOS\*.*A:

B)COPY\*.COMA:

C)COPYDOS\*.*A:

D)COPYDOS\*.COMA:

(11)列出硬盘C上所有扩展名为.FOR文件的命令是

A)DIR\*.FORB)DIRC:

\F4\*.FORC)DIRC:

\*.FORD)DIRC:

\F4\*.*

(12)把A盘的所有信息复制到B盘上的命令为

A)COPYA:

*.*B:

B)COPYA:

*.*B:

*.*

C)C:

\DOS\DISKCOPYA:

B:

D)C:

\DOS\DISKCOPYB:

A:

(13)设当前盘为C盘。

删除硬盘C上的两个扩展名为.EXE文件的命令是

A)DEL\F4\*.EXEB)DEL\XD?

.EXEC)DEL\F4\*.*D)DEL\*.EXE

(14)设当前盘为C盘。

C盘当前目录为\DOS。

在硬盘C的根目录下建立新子目录USER的命令为

A)MDC:

USERB)MD\USER\C)MD\USERD)MDUSER

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

在硬盘C上删除子目录F4的命令或命令组为

A)RDF4B)RD\F4C)DEL\F4\*.*D)DEL\*.*

RDF4RDF4

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

把JD1.FOR改名为JX1.FOR的命令为

A)RENJD1.FORJX1.FORB)RENJX1.FORJD1.FOR

C)RENF4\JD1.FORJX1.FORD)REN\F4\JX1.FORJD1.FOR

(17)显示C盘根目录下所有.TXT文件内容的命令为

A)TYPEC:

\*.TXTB)TYPEC:

\*.TXT>CON

C)COPYC:

\*.TXT>COND)COPYC:

\*.TXTCON

(18)按照数据模型分类,FoxBASE和dBASE是属于

A)层次型B)网状型C)关系型D)混合型

(19)FoxBASE和dBASE命令文件的扩展名为

A).PRGB).DBFC).MEMD).TXT

(20)“计算机等级考试”这七个汉字作为字符串常量,在FoxBASE和dBASE中,可以表示为

A){计算机等级考试}B)(计算机等级考试)

C)计算机等级考试D)“计算机等级考试”

(21)请选出可用作C语言用户标识符的一组标识符

A)voidB)a3_b3C)ForD)2a

define_123-abcDO

WORDIFCasesizeof

(22)设inta=12,则执行完语句a+=a-=a*a后,a的值是

A)552B)264C)144D)-264

(23)C语言程序的基本单位是

A)程序行B)语句C)函数D)字符

(24)请选出合法的C语言赋值语句

A)a=b=58B)i++;C)a=58,b=58D)k=int(a+b);

(25)执行下面程序片段的结果是

intx=23;

do

{printf("%2d",x--);}

while(!

x);

A)打印出321B)打印出23C)不打印任何内容D)陷入死循环

(26)请选出以下语句的输出结果

printf("%d\n",strlen("\t\"\065\xff\n"));

A)5B)14C)8D)输出项不合法,无正常输出

(27)设有如下的函数

ggg(x)

floatx;

{printf("\n%d",x*x);}

则函数的类型

A)与参数x的类型相同B)是voidC)是intD)无法确定

(28)设有如下枚举类型定义:

enumlanguage{Basic=3,Assembly,Ada=100,COBOL,Fortran};

枚举量Fortran的值为

A)4B)7C)102D)103

(29)若有以下说明和语句,请选出哪个是对c数组元素的正确引用

intc[4][5],(*cp)[5];

cp=c;

A)cp+1B)*(cp+3)C)*(cp+1)+3D)*(*cp+2)

(30)标准函数fgets(s,n,f)的功能是

A)从文件f中读取长度为n的字符串存入指针s所指的内存

B)从文件f中读取长度不超过n-1的字符串存入指针s所指的内存

C)从文件f中读取n个字符串存入指针s所指的内存

D)从文件f中读取长度为n-1的字符串存入指针s所指的内存

(31)设有如下一段程序:

int*var,ab;

ab=100

var=&ab;

ab=*var+10;

执行上面的程序后,ab的值为

A)120B)110C)100D)90

(32)以下程序段给数组所有的元素输入数据,请选择正确答案填入。

#include

main()

{inta[10],i=0;

while(i<10)scanf("%d",________);

}

A)a+(i++)B)&a[i+1]C)a+iD)&a[++i]

(33)设有如下的程序段:

charstr[]="Hello";

char*ptr;

ptr=str;

执行上面的程序段后,*(ptr+5)的值为

A)'o'B)'\0'C)不确定的值D)'o'的地址

(34)在宏定义#definePI3.14159中,用宏名PI代替一个

A)单精度数B)双精度数C)常量D)字符串

(35)字符(char)型数据在微机内存中的存储形式是

A)反码B)补码C)EBCDIC码D)ASCII码

(36)执行下面的程序段

intx=35;

charz='A';

intb;

B=((x&15)&&(z<'a'));

后,B的值为

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

(37)C语言规定,程序中各函数之间

A)既允许直接递归调用也允许间接递归调用

B)不允许直接递归调用也不允许间接递归调用

C)允许直接递归调用不允许间接递归调用

D)不允许直接递归调用允许间接递归调用

(38)假设在程序中a,b,c均被定义成整型,并且已赋大于1的值,则下列能正确表示代数式

的表达式是

A)1/a*b*cB)1/(a*b*c)C)1/a/b/(float)cD)1.0/a/b/c

(39)若x是整型变量,pb是基类型为整型的指针变量,则正确的赋值表达式是

A)pb=&xB)pb=x;C)*pb=&x;D)*pb=*x

(40)设有

staticcharstr[]="Beijing";

则执行

printf("%d\n",strlen(strcpy(str,"China")));

后的输出结果为

A)5B)7C)12D)14

(41)设有如下程序:

#include

main()

{int**k,*j,i=100;

j=&i;k=&j;

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

}

上面程序的输出结果是

A)运行错误B)100C)i的地址D)j的地址

(42)设a=5,b=6,c=7,d=8,m=2,n=2,执行

(m=a>b)&&(n=c>d)

后n的值为

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

(43)下面函数的功能是

sss(s,t)

char*s,*t;

{while((*s)&&(*t)&&(*t++==*s++));

return(*s-*t);

}

A)求字符串的长度B)比较两个字符串的大小

C)将字符串s复制到字符串t中D)将字符串s接续到字符串t中

(44)请选出以下程序的输出结果

#include

sub(x,y,z)

intx,y,*z;

{*z=y-x;}

main()

{inta,b,c;

sub(10,5,&a);sub(7,a,&b);sub(a,b,&c);

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

}

A)5,2,3B)-5,-12,-7C)-5,-12,-17D)5,-2,-7

(45)下面程序的输出结果是

#include

main()

{inti=2,p;

p=f(i,i+1);

printf("%d",p);

}

intf(a,b)

inta,b;

{intc;

if(a>b)c=1;

else

if(a==b)c=0;

elsec=-1;

return(c);

}

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

(46)请选出以下程序段的输出结果

#include

#defineMIN(x,y)(x)<(y)?

(x):

(y)

main()

{inti,j,k;

i=10;j=15;

k=10*MIN(i,j);

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

}

A)15B)100C)10D)150

(47)请选出以下程序段的输出结果

#include

main()

{charsl[10],s2[10],s3[10],s4[10];

scanf("%s%s",s1,s2);gets(s3);gets(s4);

puts(s1);puts(s2);puts(s3);puts(s4);

}

输入数据如下:

(此处代表回车符)

aaaabbbb

ccccdddd

A)aaaaB)aaaaC)aaaaD)aaaabbbb

bbbbbbbbbbbbcccc

ccccccccdddddddd

ccccddddddddeeee

(48)请选出以下程序的输出结果

#include

fun(s,n1,n2)

int*s,n1,n2;

{inti,j,t;

i=n1;j=n2;

while(i

{t=*(s+i);*(s+i)=*(s+j);*(s+j)=t;

i++;j--;

}

}

main()

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

fun(p,0,3);fun(p,4,9);fun(p,0,9);

for(i=0;i<10;i++)printf("%d",*(a+i));

printf("\n");

}

A)0987654321B)4321098765

C)5678901234D)0987651234

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

#include

main()

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

intx=0;

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

{sub(a,x);printf("%d",x);}

printf("\n");

}

sub(s,y)

int*s,y;

{staticintt=3;

y=s[t];t--;

}

A)1234B)4321C)0000D)4444

(50)下面程序的输出结果为

structst

{intx;

int*y;

}*p;

intdt[4]={10,20,30,40};

structstaa[4]={50,&dt[0],60,&dt[1],

70,&dt[2],80,&dt[3]};

main()

{p=aa;

printf("%d\n",++p->x);

printf("%d\n",(++p)->x);

printf("%d\n",++(*p->y));

}

A)10B)50C)51D)60

20606070

20212131

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

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

(1)十进制数123用八位二进制表示为【1】。

(2)70年代末开始出现16位微处理器,标志着微型计算机进入了第三代;80年代起使用【2】位微处理器,标志微型计算机进入了第四代。

(3)通用计算机操作系统的功能和任务是:

作业管理、文件管理、外设管理、CPU管理和【3】管理。

(4)PC-DOS的两个隐含文件是:

IBMBIO.COM(输入输出程序)与【4】(磁盘操作管理程序)。

(5)FoxBASE和dBASE有两种变量:

即内存变量和【5】变量。

(6)设有如下程序段:

inti=0,sum=1;

do

{sum+=i++;}

while(i<6);

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

上述程序段的输出结果是【6】。

(7)阅读下列程序:

#include

main()

{inti,j,row,column,m;

staticintarray[3][3]={{100,200,300},

{28,72,-30},

{-850,2,6}

};

m=array[0][0];

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

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

if(array[i][j]

{m=array[i][j];row=i;column=j;}

printf("%d,%d,%d\n",m,row,column);

}

上述程序的输出结果是【7】。

(8)设a、b、c为整型数,且a=2、b=3、c=4,则执行完以下语句:

a*=16+(b++)-(++c);

后,a的值是【8】。

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

#include

main()

{inta=3,b=2,c=1;

c-=++b;

b*=a+c;

{intb=5,c=12;

c/=b*2;

a-=c;

printf('%d,%d,%d,",a,b,c);

a+=--c;

}

printf('%d,%d,%d,",a,b,c);

}

(10)设有如下程序:

#include

main(argc,argv)

intargc;char*argv[];

{while(--argc>0)printf("%s",argv[argc]);

printf("\n");

}

假定上述程序经编译和连接后生成可执行文件PROG.EXE,如果在DOS提示符下键入PROGABCDEFGHIJKL,则输出结果为【10】。

(11)阅读下列程序:

#include

#defineMAX_COUNT4

voidfun();

main()

{intcount;

for(count=1;count<=MAX_COUNT;count++)fun();

}

voidfun()

{staticinti;

i+=2;printf("%d",i);

}

上述程序的输出结果是【11】。

(12)设有下列程序:

#include

#include

main()

{inti;

charstr[10],temp[10];

gets(temp);

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

{gets(str);

if(strcmp(temp,str)<0)strcpy(temp,str);

}

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

}

上述程序运行后,如果从键盘上输入(在此代表回车符):

C++

BASIC

QuickC

Ada

Pascal

则程序的输出结果是【12】。

(13)设有如下程序:

#include

main(argc,argv)

intargc;char*argv[];

{FILE*fp;

voidfc();

inti=1;

while(--argc>0)

if((fp=fopen(argv[i++],"r"))==NULL)

{printf("Cannotopenfile!

\n");

exit

(1);

}

else

{fc(fp);fclose(fp);}

}

voidfc(ifp)

FILE*ifp;

{charc;

while((c=getc(ifp))!

='#')putchar(c-32);

}

上述程序经编译、连接后生成可执行文件名为cpy.exe。

假定磁盘上有三个

文本文件,其文件名和内容分别为:

文件名内容

aaaaa#

bbbbb#

ccccc#

如果在DOS下键入

cpyabc

则程序输出【13】。

(14)若输入3个整数3,2,1,则下面程序的输出结果是【14】。

#include

voidsub(n,uu)

intn,uu[];

{intt;

t=uu[n--];t+=3*uu[n];

n=n++;

if(t>=10)

{uu[n++]=t/10;uu[n]=t%10;}

elseuu[n]=t;

}

main()

{inti,n,aa[10]={0,0,0,0,0,0}

scanf("%d%d%d",&n,&aa[0],&aa[1]);

for(i=1;i

for(i=0;i<=n;i++)printf("%d",aa[i]);

printf("\n");

}

(15)若有以下定义:

doublew[10];

则w数组元素下标的上限为【15】,下限为【16】。

(16)以下程序统计从终端输入的字符中每个大写字母的个数。

用#号作为输入结束标志,请填空。

#include

#include

main()

{intnum[26],i;charc;

for(i=0;i<26;i++)num[i]=0;

while(【17】!

='#')/*统计从终端输入的大写字母个数*/

if(isupper(c))num[c-65]+=1;

for(i=0;i<26;i++)/*输出大写字母和该字母的个数*/

if(num[i])printf("%c:

%d\n,i【18】,num[i]);

}

(17)下面的程序调用getone函数开辟一个动态存储单元,调用assone函数把数据输入此动态存储单元,调用outone函数输出此动态存储单元中的数据。

请填空。

#include

getone(s)

int**s;

{*s=(int*)malloc(sizeof(int));}

assone(a)

int*a;

{scanf("%d",【19】);}

outone(b)

int*b;

printf("%d\n",【20】);}

main()

{int*p;

getone(&p);

assone(p);

outone(p);

}

『完』

1

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

当前位置:首页 > 幼儿教育 > 少儿英语

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

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