二级C语言笔试真题及答案计算机等级考试历年真题.docx
《二级C语言笔试真题及答案计算机等级考试历年真题.docx》由会员分享,可在线阅读,更多相关《二级C语言笔试真题及答案计算机等级考试历年真题.docx(46页珍藏版)》请在冰豆网上搜索。
![二级C语言笔试真题及答案计算机等级考试历年真题.docx](https://file1.bdocx.com/fileroot1/2022-10/29/9ad6cb1f-44e6-4836-8f66-e7284104d290/9ad6cb1f-44e6-4836-8f66-e7284104d2901.gif)
二级C语言笔试真题及答案计算机等级考试历年真题
2004年3月二级C语言笔试真题及答案计算机等级考试历年真题
一、选择题,(1-40)每题1分,(41-50)每题2分,共60分)
下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。
(1)1MB等于(D)
A.1000字节B.1024字节C.1000×1000字节D.1024×1024字节
(2)与十六进制数200等值的十进制数为(B)
A.256B.512C.1024D.2048
(3)所谓“裸机”是指(C)
A.单片机B.单板机C.不装备任何软件的计算机D.只装备操作系统的计算机
(4)能将高级语言编写的源程序转换成目标程序的是(C)
A.链接程序B.解释程序C.编译程序D.编辑程序
(5)在64位计算机中,一个字长所占的字节数为(B)
分析:
字长:
电脑技术中对CPU在单位时间内(同一时间)能一次处理的二进制数的位数叫字长。
所以能处理字长为8位数据的CPU通常就叫8位的CPU。
同理64位的CPU就能在单位时间内处理字长为64位的二进制数据。
8位1个字节。
字节是电脑里的数据量单位。
64/8=8。
A.64B.8C.4D.1
(6)在Windows环境下,当一个应用程序窗口被最小化后,该应用程序(A)
A.继续在后台运行B.继续在前台运行
C.终止运行D.暂停运行
(7)在Windows环境下,能实现窗口移动的操作是(D)
A.用鼠标拖动窗口中的任何部位B.用鼠标拖动窗口的边框
C.用鼠标拖动窗口的控制按钮D.用鼠标拖动窗口的标题栏
(8)在Windows环境下,PrintScreen键的作用是(C)
分析:
printscreen是将整个屏幕复制到剪切板上,注意alt+printscreen是将整个活动窗口复制到剪切板上,这两个很容易混
A.打印当前窗口的内容B.打印屏幕内容
C.复制屏幕到剪贴板D.复制当前窗口到剪贴板
(9)Internet的通信协议是(A)
A.TCP/IPB.BBSC.WWWD.FTP
(10)下列叙述中正确的是(D)
A.计算机病毒只感染可执行文件B.计算机病毒只感染文本文件
C.计算机病毒只能通过软件复制的方式进行传播
D.计算机病毒可以通过网络或读写磁盘等方式进行传播
(11)一个算法应该具有“确定性”等5个特性,下面对另外4个特性的描述中错误的是(B)
A.有零个或多个输入B.有零个或多个输出C.有穷性D.可行性
(12)以下叙述中正确的是(B)
A.C语言的源程序不必通过编译就可以直接运行
B.C语言中的每条可执行语句最终都将被转换成二进制的机器指令
C.C源程序经编译形成的二进制代码可以直接运行
D.C语言中的函数不可以单独进行编译
(13)以下符合C语言语法的实型常量是(C)
A.1.2E0.5B.3.14.159EC..5E-3D.E15
(14)以下4组用户定义标识符中,全部合法的一组是(A)(?
)
A._mainB.IfC.txtD.int
(15)若以下选项中的变量已正确定义,则正确的赋值语句是(C)
A.x1=26.8%3B.1+2=x2C.x3=0x12D.x4=1+2=3;
(16)设有以下定义
inta=0;
doubleb=1.25;
charc=’A’;
#defined2
则下面语句中错误的是(D)
A.a++;B.b++C.c++;D.d++;
(17)设有定义:
floata=2,b=4,h=3;,以下C语言表达式与代数式计算结果不相符的是(B)(?
)
A.(a+B)*h/2B.(1/2)*(a+B)*hC.(a+B)*h*1/2D.h/2*(a+B)
(18)有以下程序(?
)
main()
{
intx=102,y=012;
printf(“-,-”,x,y);
}
执行后输出结果是(C)
A.10,01B.02,12C.102,10D.02,10
(19)以下4个选项中,不能看作一条语句的是(D)
A.{;}
B.a=0,b=0,c=0;
C.if(a>0);
D.if(b==0)m=1;n=2;
(20)设有定义:
inta,*pa=&a;以下scanf语句中能正确为变量a读入数据的是(A)
A.scanf(“%d”,pA)B.scanf(“%d”,A)
C.scanf(“%d”,&pA)D.scanf(“%d”,*pA)
(21)以下程序段中与语句k=a>b?
(b>c?
1:
0):
0;功能等价的是
A.if((a>B)&&(b>C))k=1;
B.if((a>B)||(b>C))k=1elsek=0;
C.if(a<=B)k=0;
D.if(a>B)k=1;elseif(b<=C)k=1;elseif(b>C)k=1;elsek=0;
(22)有以下程序
main()
{chark;intI;
for(i=1;i<3;i++)
{scanf(“%c”,&k);
switch(k)
{case‘0’:
printf(“another”);
case‘1’:
printf(“number”);
}
}
}
程序运行时,从键盘输入:
01<回车>,程序执行后的输出结果是
A.another
B.another
C.another
D.number
numbernumbernumbernumber
anothernumber
(23)有以下程序
main()
{intx=0,y=5,z=3;
while(z-->0&&++x<5)y=y-1;
printf(“%d,%d,%d”,x,y,z);
}
程序执行后的输出结果是
A.3,2,0
B.3,2,-1
C.4,3,-1
D.5,-2,-5
(24)有以下程序
main()
{inti,s=0;
for(i=1;i<10;i+=2)s+=i+1;
printf(“%d”,s);
}
程序执行后的输出结果是
A.自然数1~9的累加和
B.自然数1~10的累加和
C.自然数1~9中的奇数之和
D.自然数1~10中的偶数之和
(25)有以下程序 main()
{inti,n=0;
for(i=2;i<5;i++)
{do
{if(i%3)continue;
n++;
}while(!
i);
n++;
}
printf(“n=%d”,n);
}
程序执行后的输出结果是
A.n=5
B.n=2
C.n=3
D.n=4
(26)若程序中定义了以下函数
doublemyadd(doublea,doubleB)
{return(a+B);}
并将其放在调用语句之后,则在调用之前应该对该函数进行说明,以下选项中错误的说明是
A.doublemyadd(doublea,B);
B.doublemyadd(double,double);
C.doublemyadd(doubleb,doubleA);
D.doublemyadd(doublex,doubley);
(27)有以下程序
charfun(charx,chary)
{if(x returny;
}
main()
{inta=’9’,b=’8’,c=’7’;
printf(“%c”,fun(fun(a,B),fun(b,C)));
}
程序的执行结果是
A.函数调用出错B)8C)9D)7
(28)设有定义:
intn=0,*p=&n,**q=&p;则以下选项中,正确的赋值语句是
A.p=1;
B.*q=2;
C.q=p;
D.*p=5;
(29)有以下程序
voidf(intv,intw)
{intt;
t=v;v=w;w=t;
}
main()
{intx=1,y=3,z=2;
if(x>y)f(x,y);
elseif(y>z)f(y,z);
elsef(x,z);
printf(“%d,%d,%d”,x,y,z);
}
执行后输出结果是
A.1,2,3
B.3,1,2
C.1,3,2
D.2,3,1
(30)有以下程序段
inta[10]={1,2,3,4,5,6,7,8,9,10},*p=&a[3],b;
b=p[5];
b中的值是
A.5
B.6
C.8
D.9
(31)31、有以下程序
main()
{chara[]=”abcdefg”,b[10]=”abcdefg”;
printf(“%d%d”,sizeof(
A.,sizeof(B));
}
执行后输出结果是
A.77
B.88
C.810
D.1010
(32)有以下程序
voidswap1(intc[])
{intt;
t=c[0];c[0]=c[1];c[1]=t;
}
voidswap2(intc0,intc1)
{intt;
t=c0;c0=c1;c1=t;
}
main()
{inta[2]={3,5},b[2]={3,5};
swap1(A);swap2(b[0],b[1]);
printf(“%d%d%d%d”,a[0],a[1],b[0],b[1]);
}
其输出结果是
A.5353
B.5335
C.3535
D.3553
(33)有以下程序
voidsum(int*
A.
{a[0]=a[1];}
main()
{intaa[10]={1,2,3,4,5,6,7,8,9,10},i;
for(i=2;i>=0;i--)&nb
sp;sum(&aa[i]);
printf(“%d”,aa[0]);
}
执行后的输出结果是
A.4
B.3
C.2
D.1
(34)34、有以下程序
intf(intb[][4])
{inti,j,s=0;
for(j=0;j<4;j++)
{i=j;
if(i>2)i=3-j;
s+=b[i][j];
}
returns;
}
main()
{inta[4][4]={{1,2,3,4},{0,2,4,5},{3,6,9,12},{3,2,1,0}};
printf(“%d”,f(A));
}
执行后的输出结果是
A.12
B.11
C.18
D.16
(35)有以下定义
#include
chara[10],*b=a;
不能给数组a输入字符串的语句是
A.gets(A)
B.gets(a