二级C语言笔试真题及答案.docx

上传人:b****2 文档编号:922515 上传时间:2023-04-30 格式:DOCX 页数:23 大小:23.11KB
下载 相关 举报
二级C语言笔试真题及答案.docx_第1页
第1页 / 共23页
二级C语言笔试真题及答案.docx_第2页
第2页 / 共23页
二级C语言笔试真题及答案.docx_第3页
第3页 / 共23页
二级C语言笔试真题及答案.docx_第4页
第4页 / 共23页
二级C语言笔试真题及答案.docx_第5页
第5页 / 共23页
二级C语言笔试真题及答案.docx_第6页
第6页 / 共23页
二级C语言笔试真题及答案.docx_第7页
第7页 / 共23页
二级C语言笔试真题及答案.docx_第8页
第8页 / 共23页
二级C语言笔试真题及答案.docx_第9页
第9页 / 共23页
二级C语言笔试真题及答案.docx_第10页
第10页 / 共23页
二级C语言笔试真题及答案.docx_第11页
第11页 / 共23页
二级C语言笔试真题及答案.docx_第12页
第12页 / 共23页
二级C语言笔试真题及答案.docx_第13页
第13页 / 共23页
二级C语言笔试真题及答案.docx_第14页
第14页 / 共23页
二级C语言笔试真题及答案.docx_第15页
第15页 / 共23页
二级C语言笔试真题及答案.docx_第16页
第16页 / 共23页
二级C语言笔试真题及答案.docx_第17页
第17页 / 共23页
二级C语言笔试真题及答案.docx_第18页
第18页 / 共23页
二级C语言笔试真题及答案.docx_第19页
第19页 / 共23页
二级C语言笔试真题及答案.docx_第20页
第20页 / 共23页
亲,该文档总共23页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

二级C语言笔试真题及答案.docx

《二级C语言笔试真题及答案.docx》由会员分享,可在线阅读,更多相关《二级C语言笔试真题及答案.docx(23页珍藏版)》请在冰点文库上搜索。

二级C语言笔试真题及答案.docx

二级C语言笔试真题及答案

2004年4月二级C语言笔试真题及答案

(考试时间:

120分钟,满分100分)

一、选择题,(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;

for(i=0;i

for(j=i+2;j

if(a[i]

}

main()

{intaa[10]={1,2,3,4,5,6,7,8,9,10},i;

sort(aa,10);

for(i=0;i<10;i++)printf(“%d”,aa[i]);

printf(“\n”);

}

其输出结果是

A)1,2,3,4,5,6,7,8,9,10,B)10,9,8,7,6,5,4,3,2,1,

C)9,2,7,4,5,6,3,8,1,10,D)1,10,3,8,5,6,7,4,9,2,

(44)以下程序段中,不能正确赋字符串(编译时系统会提示错误)的是

A)chars[10]=”abcdefg”;B)chart[]=”abcdefg”,*s=t;

C)chars[10];s=”abcdefg”;D)chars[10];strcpy(s,”abcdefg”);

(45)有以下程序

#include

main(intargc,char*argv[])

{inti,len=0;

for(i=1;i

printf(“5d\n”,len);

}

经编译链接后生成的可执行文件是ex.exe,若运行时输入以下带参数的命令行

exabcdefgh3k44

执行后输出结果是

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

(46)有以下程序

voidf(inta[],inti,intj)

{intt;

if(i

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

f(a,i+1,j-1);

}

}

main()

{inti,aa[5]={1,2,3,4,5};

f(aa,0,4);

for(i=0;i<5;i++)printf(“%d,”,aa[i]);printf(“\n”);

}

执行后输出结果是

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

(47)有以下程序

structSTU

{charname[10];

intnum;

intScore;

};

main()

{structSTUs[5]={{“YangSan”,20041,703},{“LiSiGuo”,20042,580},

{“wangYin”,20043,680},{“SunDan”,20044,550},

{“Penghua”,20045,537}},*p[5],*t;

inti,j;

for(i=0;i<5;i++)p[i]=&s[i];

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

for(j=i+1;j<5;j++)

if(p[i]->Score>p[j]->Score)

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

printf(“5d%d\n”,s[1].Score,p[1]->Score);

}

执行后输出结果是

A)550550B)680680C)580550D)580680

(48)有以下程序

#include

structNODE{

intnum;

structNODE*next;

};

main()

{structNODE*p,*q,*r;

intsum=0;

p=(structNODE*)malloc(sizeof(structNODE));

q=(structNODE*)malloc(sizeof(structNODE));

r=(structNODE*)malloc(sizeof(structNODE));

p->num=1;q->num=2;r->num=3;

p->next=q;q->next=r;r->next=NULL;

sum+=q->next->num;sum+=p->num;

printf(“%d\n”,sum);

}

执行后的输出结果是

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

(49)有以下程序

#include

main()

{FILE*fp;inti,k=0,n=0;

fp=fopen(“d1.dat”,”w”);

for(i=1;i<4;i++)fprintf(fp,”%d”,i);

fclose(fp);

fp=fopen(“d1.dat”,”r”);

fscanf(fp,”%d%d”,&k,&n);printf(“%d%d\n”,k,n);

fclose(fp);

}

执行后输出结果是

A)12B)1230C)123D)00

(50)有以下程序(提示:

程序中fseek(fp,-2L*sizeof(int),SEEK_END);语句的作用是使位置指针从文件尾向前移2*sizeof(int)字节)

#include

main()

{FILE*fp;inti,a[4]={1,2,3,4},b;

fp=fopen("data.dat","wb");

for(i=0;i<4;i++)fwrite(&a[i],sizeof(int),1,fp);

fclose(fp);

fp=fopen("data.dat

","rb");

fseek(fp,-2L*sizeof(int).SEEK_END);

fread(&b,sizeof(int),1,fp);/*从文件中读取sizeof(int)字节的数据到变量b中*/

fclose(fp);

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

}

执行后输出结果是

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

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

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

(1)E-mail地址由用户名和域名两部分组成,这两部分的分隔符为【1】。

(2)计算机网络分为广域网和局域网,因特网属于【2】。

(3)从Windows环境进入MS-DOS方式后,返回Windows环境的DOS命令为【3】。

(4)在Windows环境下,只要在“开始”菜单中单击【4】选项,就可以查阅最近打开过的文档清单。

(5)计算机的运算速度可以用MIPS来描述,1MIPS是指每秒执行【5】条指令。

(6)已知字符A的ACSII码值为65,以下语句的输出结果是【6】

charch=’B’;

printf(“%c%d\n”,ch,ch);

(7)有以下语句段

intn1=10,n2=20;

printf(“【7】”,n1.n2);

要求按以下格式输出n1和n2的值,每个输出行从第一列开始,请填空。

n1=10

n2=20

(8)有以下程序

main()

{intt=1,i=5;

for(;i>=0;i--)t*=i;

printf(“%d\n”,t);

}

执行后输出结果是【8】。

(9)有以下程序

main()

{intn=0,m=1,x=2;

if(!

n)x-=1;

if(m)x-=2;

if(x)x-=3;

printf(“%d\n”,x);

}

执行后输出结果是【9】。

(10)有以下程序

#include

main()

{charch1,ch2;intn1,n2;

ch1=getchar();ch2=getchar();

n1=ch1-‘0’;n2=n1*10+(ch2-‘0’);

printf(“%d\n”,n2);

}

程序运行时输入:

12<回车>,执行后输出结果是【10】。

(11)有以下程序

voidf(inty,int*x)

{y=y+*x;*x=*x+y;}

main()

{intx=2,y=4;

f(y,&x);

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

当前位置:首页 > 法律文书 > 调解书

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2