计算机等级考试C语言真题及答案.docx
- 文档编号:25684403
- 上传时间:2023-06-11
- 格式:DOCX
- 页数:24
- 大小:23.13KB
计算机等级考试C语言真题及答案.docx
《计算机等级考试C语言真题及答案.docx》由会员分享,可在线阅读,更多相关《计算机等级考试C语言真题及答案.docx(24页珍藏版)》请在冰豆网上搜索。
计算机等级考试C语言真题及答案
全国计算机等级考试二级笔试试卷
基础部分和C语言程序设计
(考试时间:
120分钟,满分100分)
2004年4月
一、选择题,(1-40)每题1分,(41-50)每题2分,共60分)
下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。
(1)1MB等于
A)1000字节B)1024字节
C)1000×1000字节D)1024×1024字节
(2)与十六进制数200等值的十进制数为
A)256B)512C)1024D)2048
(3)所谓“裸机”是指
A)单片机B)单板机
C)不装备任何软件的计算机D)只装备操作系统的计算机
(4)能将高级语言编写的源程序转换成目标程序的是
A)链接程序B)解释程序C)编译程序D)编辑程序
(5)在64位计算机中,一个字长所占的字节数为
A)64B)8C)4D)1
(6)在Windows环境下,当一个应用程序窗口被最小化后,该应用程序
A)继续在后台运行B)继续在前台运行
C)终止运行D)暂停运行
(7)在Windows环境下,能实现窗口移动的操作是
A)用鼠标拖动窗口中的任何部位B)用鼠标拖动窗口的边框
C)用鼠标拖动窗口的控制按钮D)用鼠标拖动窗口的标题栏
(8)在Windows环境下,PrintScreen键的作用是
A)打印当前窗口的内容B)打印屏幕内容
C)复制屏幕到剪贴板D)复制当前窗口到剪贴板
(9)Internet的通信协议是
A)TCP/IPB)BBSC)WWWD)FTP
(10)下列叙述中正确的是
A)计算机病毒只感染可执行文件
B)计算机病毒只感染文本文件
C)计算机病毒只能通过软件复制的方式进行传播
D)计算机病毒可以通过网络或读写磁盘等方式进行传播
(11)一个算法应该具有“确定性”等5个特性,下面对另外4个特性的描述中错误的是
A)有零个或多个输入B)有零个或多个输出
C)有穷性D)可行性
(12)以下叙述中正确的是
A)C语言的源程序不必通过编译就可以直接运行
B)C语言中的每条可执行语句最终都将被转换成二进制的机器指令
C)C源程序经编译形成的二进制代码可以直接运行
D)C语言中的函数不可以单独进行编译
(13)以下符合C语言语法的实型常量是
A)1.2E0.5B)3.14.159EC).5E-3D)E15
(14)以下4组用户定义标识符中,全部合法的一组是
A)_mainB)IfC)txtD)int
enclude-maxREALk_2
sinturbo3COM_001
(15)若以下选项中的变量已正确定义,则正确的赋值语句是
A)x1=26.8%3B)1+2=x2C)x3=0x12D)x4=1+2=3;
(16)设有以下定义
inta=0;
doubleb=1.25;
charc=’A’;
#defined2
则下面语句中错误的是
A)a++;B)b++C)c++;D)d++;
(17)设有定义:
floata=2,b=4,h=3;,以下C语言表达式与代数式计算结果不相符的是
A)(a+B)*h/2B)(1/2)*(a+B)*h
C)(a+B)*h*1/2D)h/2*(a+B)
(18)有以下程序
main()
{
intx=102,y=012;
printf(“%2d,%2d\n”,x,y);
}
执行后输出结果是
A)10,01B)02,12C)102,10D)02,10
(19)以下4个选项中,不能看作一条语句的是
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)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=1
elsek=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\n”);
case‘1’:
printf(“number\n”);
}
}
}
程序运行时,从键盘输入:
01<回车>,程序执行后的输出结果是
A)anotherB)anotherC)anotherD)number
numbernumbernumbernumber
anothernumber
(23)有以下程序
main()
{intx=0,y=5,z=3;
while(z-->0&&++x<5)y=y-1;
printf(“%d,%d,%d\n”,x,y,z);
}
程序执行后的输出结果是
A)3,2,0B)3,2,-1C)4,3,-1D)5,-2,-5
(24)有以下程序
main()
{inti,s=0;
for(i=1;i<10;i+=2)s+=i+1;
printf(“%d\n”,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”,n);
}
程序执行后的输出结果是
A)n=5B)n=2C)n=3D)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\n”,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\n”,x,y,z); } 执行后输出结果是 A)1,2,3B)3,1,2C)1,3,2D)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)5B)6C)8D)9 (31)31、有以下程序 main() {chara[]=”abcdefg”,b[10]=”abcdefg”; printf(“%d%d\n”,sizeof(A),sizeof(B)); } 执行后输出结果是 A)77B)88C)810D)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\n”,a[0],a[1],b[0],b[1]); } 其输出结果是 A)5353B)5335C)3535D)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\n”,aa[0]); } 执行后的输出结果是 A)4B)3C)2D)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\n”,f(A)); } 执行后的输出结果是 A)12B)11C)18D)16 (35)有以下定义 #include chara[10],*b=a; 不能给数组a输入字符串的语句是 A)gets(A)B)gets(a[0])C)gets(&a[0]);D)gets(B); (36)有以下程序 main() {char*p[10]={“abc”,”aabdfg”,”dcdbe”,”abbd”,”cd”}; printf(“%d\n”,strlen(p[4])); } 执行后输出结果是 A)2B)3C)4D)5 (37)有以下程序 inta=2; intf(int*A) {return(*A)++;} main() {ints=0; {inta=5; s+=f(&A); } s+=f(&A); printf(“%d\n”,s); } 执行后输出结果是 A)10B)9C)7D)8 (38)有以下程序 #definef(x)x*x main() {inti; i=f(4+4)/f(2+2); printf(“%d\n”,i); } 执行后输出结果是 A)28B)22C)16D)4 (39)设有以下语句 typedefstructS {intg;charh;}T; 则下面叙述中正确的是 A)可用S定义结构体变量B)可以用T定义结构体变量 C)S是struct类型的变量D)T是structS类型的变量 (40)有以下程序 strucSTU {charname[10]; intnum; }; voidf1(structSTUC) {structSTUb={“LiSiGuo”,2042}; c=b; } voidf2(structSTU*C) {structSTUb={“SunDan”,2044}; *c=b; } main() {structSTUa={“YangSan”,2041},b={“WangYin”,2043}; f1(A);f2(&B); printf(“%d%d\n”,a.num,b.num); } 执行后的输出结果是 A)20412044B)20412043C)20422044D)20422043 (41)有以下程序 main() {unsignedchara,b; a=4|3; b=4&3; printf(“%d%d\n”,a,b(; } 执行后输出结果是 A)70B)07C)11D)430 (42)下面程序的功能是输出以下形式的金字塔图案是: * *** ***** ******* main() {inti,j; for(i=1;i<=4;i++) {for(j=1;j<=4-i;j++)printf(““); for(j=1;j<=_______;j++)printf(“*”); printf(“\n”); } } 在下划线处应填入的是 A)iB)2*i-1C)2*i+1D)i+2 (43)有以下程序 voidsort(inta[],intn) {inti,j,t;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机等级考试 语言 答案