1994年全国计算机等级考试二级C语言笔试试题及答案.docx
- 文档编号:26782210
- 上传时间:2023-06-22
- 格式:DOCX
- 页数:13
- 大小:22.68KB
1994年全国计算机等级考试二级C语言笔试试题及答案.docx
《1994年全国计算机等级考试二级C语言笔试试题及答案.docx》由会员分享,可在线阅读,更多相关《1994年全国计算机等级考试二级C语言笔试试题及答案.docx(13页珍藏版)》请在冰豆网上搜索。
1994年全国计算机等级考试二级C语言笔试试题及答案
1994年4月全国计算机等级考试二级C语言笔试试题及答案
一、选择题(1-30每小题1分,31-45每小题2分,共60分)
下列各题A),B),C),D)四个选项,只有一个选项是正确的,请将正确的选项在答题卡相应位置上涂黑。
答在试卷上不得分。
(1)二进制数101110转换为等值的八进制数是( )。
A.45B.56C.67D.78
(2)CPU是由( )组成的。
A.内存储器和控制器B.控制器和运算器
C.内存储器和运算器D.内存储器、控制器和运算器
(3)DOS是为IBMPC系列微型计算机及其兼容机所配置的( )磁盘操作系统。
A.多用户多任务B.单用户单任务
C.分时D.分布式
(4)启动MS-DOS操作系统后,( )已驻留内存。
A.COMMAND.COMB.DISKCOPY.COM
C.FORMAT.COMD.CCCC.EXE
(5)设驱动器B中软盘上的目录结构如下图所示。
设当前目录为F2,则把A盘根目录下的PROG.BAS文件复制到B盘F3子目录中的命令是 ( )。
A.COPYPROG.BASB:
B.COPYA:
PROG.BASB:
\
C.COPYA:
\PROG.BASB:
\F3D.COPYA:
PROG.BASB:
\F3\
(6)下面四组DOS命令中,意义完全相同的一组是( )。
A.COPY和DISKCOPYB.COMP和DISKCOMP
C.DEL和RDD.RENAME和REN
(7)防止软盘感染病毒的有效方法是( )。
A.不要把软盘和有毒软盘放在一起 B.在写保护缺口上贴上胶条
C.保持机房清洁D.定期对软盘格式化
(8)双面高密度5英寸软磁盘的容量是 ( )。
A.360KB B.720KBC.1.2MBD.1.44MB
(9)在FOXBASE中,可以使用的两类变量是 ( )。
A.内存变量和字段变量B.全局变量和局部变量
C.字段变量和简单变量D.内存变量和自动变量
(10)建立一个新子目录的DOS命令是( )。
A.CREATEB.RD C.MD D.CD
(11)在C语言中,如果下面的变量都是int类型,则输出的结果是( )。
sum=pad=5;pAd=sum++,pAd++,++pAd;
printf("%d\n",pad);
A.7 B.6 C.5 D.4
(12)以下程序的输出结果是( )。
#include
main()
{inti=010,j=10;
printf("%d,%d\n",++i,j--);}
A.11,10 B.9,10 C.010,9 D.10,9
(13)已知在ASCII代码中,字母A的序号为65,以下程序的输出的结果是( )。
#include
main()
{charc1=’A’,c2=’Y’;
printf("%d,%d\n",c1,c2);}
A.因输出格式不合法,输出错误信息 B.65,90 C.A,Y D.65,89
(14)指针s所指字符串的长度为( )。
char*s="\\"Name\\Address\n";
A.19 B.15 C.18 D.说明不合法
(15)设有说明int(*ptr)[m];其中的标识符ptr是( )。
A.M个指向整型变量的指针 B.指向M个整型变量的函数指针
C.一个指向具有M个整型元素的一维数组的指针
D.具有M个指针元素的一维指针数组,每个元素都只能指向整型量
(16)语句while(!
E);中的条件!
E等价于 ( )。
A.E==0 B.E!
=1 C.E!
=0 D.~E
(17)以下程序的输出结果是 ( ) 。
#include
main()
{printf("%d\n",NULL);}
A.不确定的(因变量无定义) B.0 C.-1 D.1
(18)以下函数调用语句中含有( )个实参。
func((exp1,exp2),(exp3,exp4,exp5));
A.1 B.2 C.4 D.5
(19)设有以下语句:
chara=3,b=6,c;
c=a^b%26lt;%26lt;2;
则c的二进制值是( )。
A.00011011 B.00010100 C.00011100 D.00011000
(20)下面的程序中( )有错误(每行程序前面的数字是行号)。
1#include
2main()
3{
4floata[3]={0,0};
5inti;
6for(i=0;i%26lt;3;i++)scanf("%d",%26amp;a[i]);
7for(i=1;i%26lt;3;i++)a[0]=a[0]+a[i];
8printf("%f\n",a[0]);
9}
A.没有 B.第4行 C.第6行 D.第8行
(21)设有语句inta=3;则执行了语句a+=a-=a*a;后,变量a的值是 ( )。
A.3 B.0 C.9 D.-12
(22)以下的for循环( )。
for(x=0,y=0;(y!
=123)%26amp;%26amp;(x%26lt;4);x++);
A.是无限循环 B.循环次数不定 C.执行4次 D.执行3次
(23)设有语句chara=’\72’;则变量a( ) 。
A.包含1个字符 B.包含2个字符 C.包含3个字符 D.说明不合法
(24)以下程序的输出结果是 ( )。
#include
#include
main()
{inta=1,b=4,c=2;
floatx=10..5,y=4.0,z;
z=(a+
B./c+sqrt((double)y)*1.2/c+x;
pritnf("%f\n",z);}
A.14.000000 B.015.400000 C.13.700000 D.14.900000
(25)sizeof(double)是 ( )。
A.一种函数调用 B.一个双精度型表达式 C.一个整型表达式 D.一个不合法的表达式
(26)C语言中 ( )。
A.不能使用do-while语句构成的循环
B.do-while语句构成的循环必须用break语句才能退出
C.do-while语句构成的循环,当while语句中的表达式值为非零时结束循环
D.do-while语句构成的循环,当while语句中的表达式值为零时结束循环
(27)以下程序的输出结果是( )。
#include
#include
main()
{charstr[12]={’s’,’t’,’r’,’i’,’n’,’g’};
printf("%d\n",strlen(str));}
A.6 B.7 C.11 D.12
(28)以下程序的输出结果是 ( )。
#include
main()
{inta=2,c=5;
printf("a=%%d,b=%%d\n",a,
C.;}
A.a=%2,b=%5 B.a=2,b=5 C.a=%%d,b=%%d D.a=%d,b=%d
(29)以下程序的输出结果是 ( )。
#include
main()
{inta,b,d=241;
a=d/100%9;
b=(-1)%26amp;%26amp;(-1);
printf("%d,%d\n",a,
B.;}
A.6,1 B.2,1 C.6,0 D.2,0
(30)以下程序的输出结果是 ( )。
#include
main()
{inti;
for(i=1;i%26lt;=5;i++){if(i%2)printf("*");
elsecontinue;printf("#");}
printf("$\n");}
A.*#*#*#$ B.#*#*#*$ C.*#*#$ D.#*#*$
(31)以下for语句构成的循环执行了( )次。
#include
#defineN2
#defineMN+1
#defineNUM(M+1)*M/2
main()
{inti,n=0;
for(i=1;i%26lt;=NUM;i++);
{n++;printf("%d",n);}
printf("\n");}
A.5 B.6 C.8 D.9
(32)设有以下语句,则 ( ) 不是对a数组元素的正确引用,其中0≤i%26lt;10。
inta[10]={0,1,2,3,4,5,6,7,8,9},*p=a;
A.a[p-a] B.*(%26amp;a[i]) C.p[i] D.*(*(a+i))
(33)有以下程序:
#include
#defineN6
main()
{charc[N];inti=0;
for(;i for(i=0;i 输入以下三行,每行输入都是在第一列上开始,代表一个回车符:
a
b
cdef
程序的输出结果是( )。
A.abcdef B.abbb C.accdcdef
D.a
d
e
f
(34)以下程序调用findmax函数求数组中值最大的元素在数组中的下标,请选择填空。
#include
findmax(s,t,k)
int*s,t,*k;
{intp;for(p=0,*k=p;p if(s[p]%26gt;s[*k])( );}
main()
{inta[10],i,k;
for(i=0;i%26lt;10;i++)scanf("%d",%26amp;a[i]);
findmax(a,10,%26amp;k);
printf("%d,%d\n",k,a[k]);}
A.k=p B.*k=p-s C.k=p-s D.*k=p
(35)有以下程序:
#include
unionpw
{inti;charch[2];}a;
main()
{a.ch[0]=13;a.ch[1]=0;printf("%d\n",a.i);}
程序的输出结果是 ( )。
(注意:
ch[0]在低字节,ch[1]在高字节。
)
A.13 B.14 C.208 D.209
(36)有以下程序:
#include
main()
{intc;
while((c=getchar())!
=’\n’)
{switch(c-’2’)
{case0:
case1:
putchar(c+4);
case2:
putchar(c+4);break;
case3:
putchar(c+3);
case4:
putchar(c+2);break;}}
printf("\n");}
从第一列开始输入以下数据,代表一个回车符。
2743
程序的输出结果是 ( ) 。
A.668977 B.668966 C.6677877 D.6688766
(37)以下程序的输出结果为 ( )。
main()
{char*alpha[6]={"ABCD","IJKL","MNOP","QRST","UVWX"};
char**p;inti;
p=alpha;
for(i=0;i%26lt;4;i++)printf("%s",p[i]);printf("\n");}
A.ABCDEFGHIJKL B.ABCD C.ABCDEFGHIJKLMNOP D.AEIM
(38)以下程序的输出结果是 ( )。
#include
#defineFUDGE(y)2.84+y
#definePR(
A.printf("%d",(int)(
A.)
#definePRINT1(
A.PR(
A.;putchar(’\n’)
main()
{intx=2;PRINT1(FUDGE(5)*x);}
A.11 B.12 C.13 D.15
(39)以下程序的输出结果是( )。
#include
main()
{inti=1,j=3;
printf("%d",i++);
{inti=0;i+=j*2;printf("%d,%d",i,j);}
printf("%d,%d\n",i,j);}
A.1,6,3,1,3 B.1,6,3,2,3 C.1,6,3,6,3 D.1,7,3,2,3
(40)以下程序的输出结果是 ( )。
#include
main()
{intk=4,m=1,p;
p=func(k,m);printf("%d,",p);p=func(k,m);printf("%d\n",p);}
func(a,
B.
inta,b;
{staticintm=0,i=2;
i+=m+1;m=i+a+b;return(m);}
A.8,17 B.8,16 C.8,20 D.8,8
(41)设有以下语句:
charstr[4][12]={"aaa","bbbb","ccccc","dddddd"},
*strp[4];
inti;
for(i=0;i%26lt;4;i++)strp[i]=str[i];
( )不是对字符串的正确引用,其中0≤k%26lt;4。
A.strp B.str[k] C.strp[k] D.*strp
(42)设有以下语句:
charstr1[]="string",str2[8],*str3,*str4="string";
则 ( )不是对库函数strcpy的正确调用,此库函数用业复制字符串。
A.strcpy(str1,"HELLO1"); B.strcpy(str2,"HELLO2"); C.strcpy(str3,"HELLO3");
D.strcpy(str4,"HELLO4");
(43)C语言中形参的缺省存储类别是 ( ) 。
A.自动(auto) B.静态(statiC) C.寄存器(register) D.外部(extern)
(44)设有以下语句:
structst{intn;structst*next;};
staticstructsta[3]={5,%26amp;a[1],7,%26amp;a[2],9,’\0’},*p;
p=%26amp;a[0];
则表达式 ( )的值是6。
A.p++-%26gt;n B.p-%26gt;n++ C.(*p).n++ D.++p-%26gt;n
(45)以下四个程序中, ( )不能对两个整型变量的值进行交换。
A.#include
main()
{inta=10,b=20;swap(%26amp;a,%26amp;
B.;
printf("%d%d\n",a,
B.;
}
swap(p,q)
int*p,*q;
{
int*t;
t=(int)malloc(sizeof(int));
t=p;*p=*q;*q=*t;}
B.#include
main()
{
inta=10,b=20;
swap(%26amp;a,%26amp;
B.;
printf("%d%d\n",a,
B.;
}
swap(p,q)
intp,q;
{
int*t;
t=*p;*p=*q;*q=t;
}
C.#include
main()
{
int*a,*b;
*a=10,*b=20;
swap(a,
B.;
printf("%d%d\n",*a,*
B.;
}
swap(p,q)
int*p,*q;
{
intt;
t=*p;*p=*q;*q=t;
}
D.#include
main()
{
inta=10,b=20;
intx=%26amp;a,y=%26amp;b;
swap(x,y);
printf("%d%d\n",a,
B.;
}
swap(p,q)
int*p,*q;
{
intt;
t=*p;*p=*q;*q=t;
}
二、填空题(每空2分,共40分)
请将每空的正确答案写在答题卡1-20序号后的横线上,答在试卷上不得分。
(1)结构化程序设计所规定的三种基本控制结构是【1】结构.选择结构和循环结构。
(2)在七位ASCII码中,除了表示数字、英文大小写字母外,还有【2】个其它符号。
(3)把B盘BAS子目录下第三个字符为A,且没有扩展名的全部文件拷贝到C盘ABC子目录下的命令是【3】。
(4)微机中ROM的中文意义是【4】存储器。
(5)启动MS-DOS系统后,能自动执行的批处理文件是【5】.BAT。
(6)设当前盘为C盘,删除B盘FOX子目录中扩展名为.TXT的所有文件的命令是【6】。
(7)十进制数53转换为十六进制数为【7】。
(8)数据库管理系统常见的数据模型有层次、网状和【8】三种。
(9)买来一张新盘
后,在存入文件前,必须进行【9】处理。
(10)在微机中,字符的比较就是对它们的【10】码进行比较。
(11)以下C语言程序将磁盘中的一个文件复制到另一个文件中,两个文件名在命令行中给出。
#include
main(argc,argv)
intargc;char*argv[];
{FILE*f1,*f2;charch;
if(argc%26lt;【11】)
{printf("Parametersmissing!
\n");exit(0);}
if(((f1=fopen(argv[1],"r"))==NULL)||((f2=fopen(argv[2],"w"))==NULL))
{printf("Cannotopenfile!
\n");exit(0);}
while(【12】)fputc(fgetc(f1),f2);
fclose(f1);fclose(f2);}
(12)以下程序中的trap函数是一个用梯形法求定积分的通用函数。
梯形法求定积分的公式为:
n-1a-b
s=((f(a)+f(b))/2+∑f(a+i*h))*h,h=|----|
i=1n
其中,n为积分小区间数。
以下程序调用trap函数求定积分,被积函数是:
f(x)=x*x+3*x+2,且n=1000,a=0,b=4。
#include
3include
doubletrap(fun,a,b)
double(*fun)(),a,b;
{doublet,h;
inti,n=1000;
t=0.5*((*fun)(a)+(*fun)(b));h=fabs(a-b)/(double)(n);
for(i=1;i%26lt;=n-1;i++)t=t+【13】;
t=t*h;return(t);}
doublemypoly(x)
doublex;
{return(x*x+3.0*x+2.0);}
main()
{doubley,(*pf)();pf=【14】;
y=trap(pf,0.0,4.0);printf("%f\n",y);}
(13)以下程序求a数组中的所有素数的和,函数isprime用来判断自变量是否为素数。
素数是只能被1和本身整除且大于1的自然数。
#include
main()
{inti,a[10],*p=a,sum=0;
printf("Enter10num:
\n");
for(i=0;i%26lt;10;i++)scanf("%d",%26amp;a[i]);
for(i=0;i%26lt;10;i++)
if(isprime
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 1994 全国 计算机等级考试 二级 语言 笔试 试题 答案