二级C语言笔试真题及答案已再修改.docx

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

二级C语言笔试真题及答案已再修改.docx

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

二级C语言笔试真题及答案已再修改.docx

二级C语言笔试真题及答案已再修改

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

1、选择题,(1-40)每题1分,(41-50)每题2分,共60分)

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

11)以下不合法的用户标识符是

 A)j2_KEY

 B)Double

 C)4d

 D)_8_

12)以下不合法的数值常量是

 A)011

 B)lel

 C)8.0E0.5

 D)0xabcd

13)以下不合法的字符常量是

 A)'\018'

 B'\'''

 C)'\\'

 D)‘\xcc'

14)表达式3.6-5/2+1.2+5%2的值是

 A)4.3

 B)4.8

 C)3.3

 D)3.8

15)以下能正确定义字符串的语句是

 A)charstr[]={‘\064'};

 B)charstr=”\x43”;

 C)charstr=”; 

 D)charstr[]=”\0”;

16)以下数组定义中错误的是

 A)intx[][3]={0};  

 B)intx[2][3]={{1,2},{3,4},{5,6}};

 C)ntx[][3]={{1,2,3},{4,5,6}};

 D)intx[2][3]={1,2,3,4,5,6};

17)若要求从键盘读入含有空格字符的字符串,应使用函数

 A)getc()

 B)gets()

 C)getchar()

 D)scanf()

删18)下四个程序中,完全正确的是

 A)#include         B)#include

   main();          main()

  {/*programming*/       {/*/programming/*/

  printf(“programming!

\n”);   }printf(“programming!

\n”);}

 C)#include         D)include

   main()            main()

  {/*/*programming*/*/     {/*programming*/

  printf(“programming!

\n”);} printf(“programming!

\n”);}

19)若有定义:

floatx=1.5;inta=1,b=3,c=2;则正确的switch语句是

 A)switch(x)       B)switch((int)x);

  {case1.0:

printf(“*\n”);{case1:

printf(“*\n”);

  case2.0:

printf(“**\n”);}case2:

printf(“**\n”);}

 C)switch(a+b)      D)switch(a+b)

 {case1:

printf(“*\n”); {case1:

printf(*\n”);

  case2+1:

printf(“**\n”);} casec:

printf(“**\n”);}

20)若各选项中所用变量已正确定义,函数fun中通过return语句返回一个函数值,以下选项中错误的程序是

 A)main()       B)floatfun(inta,intb){……}

  {……x=fun(2,10);……}  main()

  floatfun(inta,intb){……} {……x=fun(i,j);……}

 C)floatfun(int,int);    D)main()

  main()         {floatfun(inti,intj);

  {……x=fun(2,10);……}   ……x=fun(i,j);……}

  floatfun(inta,intb){……} floatfun(inta,intb){……}

21)在以下给出的表达式中,与while(E)中的(E)不等价的表达式是

 A)(!

E=0) B)(E>0||E<0)

 C)(E==0) D)(E!

=0)

22)要求通过while循环不断读入字符,当读入字母N时结束循环。

若变量已正确定义,以下正确的程序段是

 A)while((ch=getchar())!

='N')printf(“%c”,ch);

 B)while(ch=getchar()!

='N')printf(“%c”,ch);

 C)while(ch=getchar()==N')printf(“%c”,ch);

 D)while((ch=getchar())=='N')printf(“%c”,ch);

23)已定义以下函数

intfun(int*p)

{return*p;}

fun函数返回值是

 A)不确定的值     

 B)一个整数

 C)形参p中存放的值

 D)形参p的地址值

24)若有说明语句:

double*p,a;则能通过scanf语句正确给输入项读入数据的程序段是

 A)*p=&a;scanf(“%lf”,p);

 B)*p=&a;scanf(“%f”,p);

 C)p=&a;scanf(“%lf”,*p);

 D)p=&a;scanf(“%lf”,p);

删除25)现有以下结构体说明和变量定义,如图所示,指针p,q,r分别指向一个链表中连续的三个结点。

structnode

{

chardata;

structnode*next;

}*p,*q,*r;

现要将q和r所指结点交换前后位置,同时要保持链表的连续,以下不能完成此操作的语句是

 A)q->next=r->next;p->next=r;r->next=q;

 B)p->next=r;q->next=r->next;r-.next=q;

 C)q->next=r->next;r->next=q;p->next=r;

 D)r->next=q;p-next=r;q-next=r->next;

删除26)有以下程序段

structst

{intx;int*y;}*pt:

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

structstc[2]={10,a,20,b};

pt=c;

以下选项中表达式的值为11的是

 A)*pt->y

 B)pt->x

 C)++pt->x

 D)(pt++)->x

27)设fp为指向某二进制文件的指针,且已读到此文件末尾,则函数feof(fp)的返回值为

 A)EOF B)非0值

 C)0 D)NULL

删28)设有以下语句

inta=1,b=2,c;

c=a^(b<<2);

执行后,c的值为

 A)6 B)7

 C)8 D)9

29)有以下程序

#include

main()

{charc1,c2,c3,c4,c5,c6;

scanf(“%c%c%c%c”,&c1,&c2,&c3,&c4);

c5=getchar();c6=getchar();

putchar(c1);putchar(c2);

printf(“%c%c\n”,c5,c6);

}

程序运行后,若从键盘输入(从第1列开始)

123<回车>//回车键也为一个字符

45678<回车>

则输出结果是

 A)1267 B)1256

 C)1278 D)1245

30)若有以下程序

main()

{inty=10;

while(y--);printf(“y=%d\n”,y);

}

程序运行后的输出结果是

 A)y=0

 B)y=-1

 C)y=1x

 D)while构成无限循环

31)有以下程序

main()

{inta=0,b=0,c=0,d=0;

if(a=1)b=1;c=2;

2、elsed=3;选择题,(1-40)每题1分,(41-50)每题2分,共60分)

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

11)以下不合法的用户标识符是

 A)j2_KEY

 B)Double

 C)4d

 D)_8_

12)以下不合法的数值常量是

 A)011

 B)lel

 C)8.0E0.5

 D)0xabcd

13)以下不合法的字符常量是

 A)'\018'

 B'\'''

 C)'\\'

 D)‘\xcc'

14)表达式3.6-5/2+1.2+5%2的值是

 A)4.3

 B)4.8

 C)3.3

 D)3.8

15)以下能正确定义字符串的语句是

 A)charstr[]={‘\064'};

 B)charstr=”\x43”;

 C)charstr=”; 

 D)charstr[]=”\0”;

16)以下数组定义中错误的是

 A)intx[][3]={0};  

 B)intx[2][3]={{1,2},{3,4},{5,6}};

 C)ntx[][3]={{1,2,3},{4,5,6}};

 D)intx[2][3]={1,2,3,4,5,6};

17)若要求从键盘读入含有空格字符的字符串,应使用函数

 A)getc()

 B)gets()

 C)getchar()

 D)scanf()

删18)下四个程序中,完全正确的是

 A)#include         B)#include

   main();          main()

  {/*programming*/       {/*/programming/*/

  printf(“programming!

\n”);   }printf(“programming!

\n”);}

 C)#include         D)include

   main()            main()

  {/*/*programming*/*/     {/*programming*/

  printf(“programming!

\n”);} printf(“programming!

\n”);}

19)若有定义:

floatx=1.5;inta=1,b=3,c=2;则正确的switch语句是

 A)switch(x)       B)switch((int)x);

  {case1.0:

printf(“*\n”);{case1:

printf(“*\n”);

  case2.0:

printf(“**\n”);}case2:

printf(“**\n”);}

 C)switch(a+b)      D)switch(a+b)

 {case1:

printf(“*\n”); {case1:

printf(*\n”);

  case2+1:

printf(“**\n”);} casec:

printf(“**\n”);}

20)若各选项中所用变量已正确定义,函数fun中通过return语句返回一个函数值,以下选项中错误的程序是

 A)main()       B)floatfun(inta,intb){……}

  {……x=fun(2,10);……}  main()

  floatfun(inta,intb){……} {……x=fun(i,j);……}

 C)floatfun(int,int);    D)main()

  main()         {floatfun(inti,intj);

  {……x=fun(2,10);……}   ……x=fun(i,j);……}

  floatfun(inta,intb){……} floatfun(inta,intb){……}

21)在以下给出的表达式中,与while(E)中的(E)不等价的表达式是

 A)(!

E=0) B)(E>0||E<0)

 C)(E==0) D)(E!

=0)

22)要求通过while循环不断读入字符,当读入字母N时结束循环。

若变量已正确定义,以下正确的程序段是

 A)while((ch=getchar())!

='N')printf(“%c”,ch);

 B)while(ch=getchar()!

='N')printf(“%c”,ch);

 C)while(ch=getchar()==N')printf(“%c”,ch);

 D)while((ch=getchar())=='N')printf(“%c”,ch);

23)已定义以下函数

intfun(int*p)

{return*p;}

fun函数返回值是

 A)不确定的值     

 B)一个整数

 C)形参p中存放的值

 D)形参p的地址值

24)若有说明语句:

double*p,a;则能通过scanf语句正确给输入项读入数据的程序段是

 A)*p=&a;scanf(“%lf”,p);

 B)*p=&a;scanf(“%f”,p);

 C)p=&a;scanf(“%lf”,*p);

 D)p=&a;scanf(“%lf”,p);

删除25)现有以下结构体说明和变量定义,如图所示,指针p,q,r分别指向一个链表中连续的三个结点。

structnode

{

chardata;

structnode*next;

}*p,*q,*r;

现要将q和r所指结点交换前后位置,同时要保持链表的连续,以下不能完成此操作的语句是

 A)q->next=r->next;p->next=r;r->next=q;

 B)p->next=r;q->next=r->next;r-.next=q;

 C)q->next=r->next;r->next=q;p->next=r;

 D)r->next=q;p-next=r;q-next=r->next;

删除26)有以下程序段

structst

{intx;int*y;}*pt:

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

structstc[2]={10,a,20,b};

pt=c;

以下选项中表达式的值为11的是

 A)*pt->y

 B)pt->x

 C)++pt->x

 D)(pt++)->x

27)设fp为指向某二进制文件的指针,且已读到此文件末尾,则函数feof(fp)的返回值为

 A)EOF B)非0值

 C)0 D)NULL

删28)设有以下语句

inta=1,b=2,c;

c=a^(b<<2);

执行后,c的值为

 A)6 B)7

 C)8 D)9

29)有以下程序

#include

main()

{charc1,c2,c3,c4,c5,c6;

scanf(“%c%c%c%c”,&c1,&c2,&c3,&c4);

c5=getchar();c6=getchar();

putchar(c1);putchar(c2);

printf(“%c%c\n”,c5,c6);

}

程序运行后,若从键盘输入(从第1列开始)

123<回车>//回车键也为一个字符

45678<回车>

则输出结果是

 A)1267 B)1256

 C)1278 D)1245

30)若有以下程序

main()

{inty=10;

while(y--);printf(“y=%d\n”,y);

}

程序运行后的输出结果是

 A)y=0

 B)y=-1

 C)y=1x

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

}

程序输出

 A)0,1,2,0 B)0,0,0,3

 C)1,1,2,0D)编译有错

32)有以下程序

main()

{inti,j,x=0;

for(i=0;i<2;i++)//运行步骤较多

{x++;

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

{if(j%2)continue;

x++;

}

x++;

}

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

}

程序执行后的输出结果是

 A)x=4 B)x=8

 C)x=6 D)x=12

33)有以下程序

intfun1(duoblea){returna*=a;}

intfun2(dpublex,doubley)

{doublea=0,b=0;

a=fun1(x);b=fun1(y);return(int)(a+b);

}

main()

{doublew;w=fun2(1.1,2.0);}

程序执行后变量w中的值是

 A)5.21

 B)5

 C)5.0

 D)0.0

34)有以下程序

main()

{inti,t[][3]={9,8,7,6,5,4,3,2,1};

for(i=0;i<3;i++)printf(“%d”,t[2-i][i]);

}

程序的执行后的输出结果是

 A)753

 B)357

 C)369

 D)751

35)有以下程序

fun(charp[][10])

{intn=0,i;

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

if(p[i][0]=='T')n++;

returnn;

}

main()

{charstr[][10]={“Mon”,“Tue”,“Wed”,“Thu”,”Fri”,”Sat”,”Sun”};

printf(“%d\n”,fun(str));

}

程序执行后的输出结果是

 A)1

 B)2

 C)3

 D)0

36有以下程序

main()

{inti,s=0,t[]={1,2,3,4,5,6,7,8,9};

for(i=0;i<9;i+=2)s+=*(t+i);

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

}

程序执行后的输出结果是

 A)45 B)20

 C)25 D)36

37)有以下程序

voidfun1(char*p)

{char*q;

q=p;

while(*q!

='\0')

{(*q)++;q++;}//(*q)++为q所指的变量值加1

}//‘h’+1==h

main()

{chara[]={“Program”},*p;

p=&a[3];fun1(p);printf(“%s\n”,a);

}

程序执行后的输出结果是

 A)Prohsbn

 B)Prphsbn

 C)Progsbn

 D)Program

删除38)有以下程序

voidswap(char*x,char*y)

{chart;

t=*x;*x=*y;*y=t;

}

main()

{char*s1=”abc”,*s2=”123”;

swap(s1,s2);printf(“%s,%s\n”,s1,s2);

}

程序执行后的输出结果是

 A)123,abc

 B)abc,123

 C)1bc,a23

 D)321,cba

删除39)有以下程序

intfun(intn)

{if(n==1)return1;

else

return(n+fun(n-1));

}

main()

{

intx;

scanf(“%d”,&x);x=fun(x);printf(“%d\n”,x);

}

程序执行时,给变量x输入10,程序的输出结果是

 A)55

 B)54

 C)65

 D)45

40)有以下程序

intfun(intx[],intn)

{staticintsum=0,i;

for(i=0;i

returnsum;

}

main()

{inta[]={1,2,3,4,5},b[]={6,7,8,9},s=0;

s=fun(a,5)+fun(b,4);printf(“%d\n”,s);

}

程序执行后的输出结果是

 A)45

 B)50

 C)60

 D)55

删除41)有以下程序

main()

{union{

charch[2];

intd;

}s;

s.d=0x4321;

printf(“%x,%x\n”,s.ch[0],s.ch[1]);

}

在16位编译系统上,程序执行后的输出结果是

 A)21,43

 B)43,21

 C)43,00

 D)21,00

删除42)有以下程序

main()

{char*p[]={“3697”,”2584”};

inti,j;longnum=0;

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

{j=0;

while(p[i][j]!

='\0')

{if((p[i][j]-‘0')%2)num=10*num+p[i][j]-‘0';

j+=2;

}}

printf(“%d\n”num);

}

程序执行后的输出结果是

 A)35

 B)37

 C)39

 D)3975

删除43)执行以下程序后,test.txt文件的内容是(若文件能正常打开)

#include

main()

{FILE*fp;

char*s1=”Fortran”,*s2=”Basic”;

if((fp=fopen(“test.txt”,”wb”))==NULL)

{printf(“Can'topentest.txtfile\n”);exit

(1);}

fwrite(s1,7,1,fp);/*把从地址s1开始的7个字符写到fp所指文件中*/

fseek(fp,0L,SEEK_SET);/*文件位置指针移到文件开头*/

fwrite(s2,5,1,fp);

fclose(fp);

}

 A)Basican

 B)BasicFortran

 C)Basic

 D)FortranBasic

44)以下叙述中错误的是

 A)C语言源程序经编译后生成后缀为.obj的目标程序

 B)C语言经过编译、连接步骤之后才能形成一个真正可执行的二进制机器指令文件

 C)用C语言编写的程序称为源程序,它以ASCII代码形式存放在一个文本文件中

 D)C语言的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令

45)以下叙述中错误的是

 A)算法正确的程序最终一定会结束

 B)算法正确的程序可以有零个输出?

 C)算法正确的程序可以有零个输入

 D)算法正确的程序对于相同的输入一定有相同的结果

46)以下叙述中错误的是

 A)C程序必须由一个或一个以上的函数组成

 B)函数调

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

当前位置:首页 > 党团工作 > 入党转正申请

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

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