计算机二级c语言.docx

上传人:b****3 文档编号:5434027 上传时间:2022-12-16 格式:DOCX 页数:129 大小:140.83KB
下载 相关 举报
计算机二级c语言.docx_第1页
第1页 / 共129页
计算机二级c语言.docx_第2页
第2页 / 共129页
计算机二级c语言.docx_第3页
第3页 / 共129页
计算机二级c语言.docx_第4页
第4页 / 共129页
计算机二级c语言.docx_第5页
第5页 / 共129页
点击查看更多>>
下载资源
资源描述

计算机二级c语言.docx

《计算机二级c语言.docx》由会员分享,可在线阅读,更多相关《计算机二级c语言.docx(129页珍藏版)》请在冰豆网上搜索。

计算机二级c语言.docx

计算机二级c语言

机密■启用前

2012年3月全国计算机等级考试二级C语言真题

(考试时间90分钟,满分100分)

一、选择题

1、下列叙述中正确的是:

A、循环队列是队列的一种顺序存储结构

B、循环队列是队列的一种链式存储结构

C、循环队列是非线性结构

D、循环队列是一直逻辑结构

2、下列叙述中正确的是

A、栈是一种先进先出的线性表

B、队列是一种后进先出的线性表

C、栈和队列都是非线性结构

D、以上三种说法都不对

3、一棵二叉树共有25个节点,其中5个时子节点,那么度为1的节点数为

A、4B、6C、10D、16

4、在下列模式中,能够给出数据库物理存储结构与物理存取方法的是

A、内模式B、外模式C、概念模式D、逻辑模式

5、在满足实体完整性约束的条件下

A、一个关系中可以没有候选关键词

B、一个关系中只能有一个候选关键词

C、一个关系中必须有多个候选关键词

D、一个关系中应该有一个或者多个候选关键词

6、有三个关系R、S和T如下:

R

A

B

C

a

1

2

b

2

1

c

3

1

 

T

A

B

C

a

2

1

b

3

1

 

S

A

B

C

a

1

2

b

2

1

 

则由关系R和S得到关系T的操作是

A、自然连接B、并C、差D、交

7、软件生命周期中的活动不包括

A、软件维护B、市场调研C、软件测试D、需求分析

8、下面不属于需求分析阶段任务的是

A、确定软件系统的功能需求B、确定软件系统的系统的系能需求

B、制定软件集成测试计划D、需求规格说明书审评

9、在黑盒测试方式中,设计测试用例的主要根据是

A、程序外部功能B、程序内部逻辑

C、程序数据结构D、程序流程图

10、在软件设计中不使用的工具是

A、系统结构图B、程序流程图

C、PAD图D、数据流图(DFD图)

11、针对简单程序设计,以下叙述的实施步骤正确的是

A、确定算法和数据结构、编码、调试、整理文档

B、编码、确定算法和数据结构、调试、整理文档

C、整理文档、确定算法和数据结构、编码、调试

D、确定算法和数据结构、调试、编码、整理文档

12、关于C语言中数的表示,以下叙述正确的是

A、只有整型数在允许范围内能精确无误的表示,实型数会有误差

B、只要在在允许范围内整型和实型都能精确表示

C、只有实型数在允许范围内能精确无误的表示,整型数会有误差

D、只有八进制表示的数在不会有误差

13、以下关于算法叙述错误的是

A、算法可以用伪代码、流程图等多种形式来描述

B、一个正确的算法必须有输入

C、一个正确的算法必须有输出

D、用流程图可以描述的算法可以用任何一种计算机高级语言编写成程序代码

14、以下叙述错误的是

A、一个C程序可以包含多个不同名的函数

B、一个C程序只能有一个主函数

C、C程序在书写时,有严格的缩进要求,否则不能编译通过

D、C程序的主函数必须用main作为函数名

15、设有以下语句

Charch1,ch2,scanf(”%c%c”,&ch1,&ch2);

若要为变量ch1和ch2分别输入字符A和B,正确的输入形式应该是

A、A和B之间用逗号间隔B、A和B之间不能有任何间隔符

C、A和B之间可以用回车间隔D、A和B之间用空格间隔

16、以下选项中非法的字符常量是

A、’\102’B、’\65’C、’\xff’D、’\019’

17、有以下程序

#include

Main()

{

IntA=0,B=0,C=0;

C=(A-=A-5);(A=B,B+=4);

Printf(“%d,%d,%d\n”,A,B,C)

}

程序运行后输出的结果是

A0,4,5B4,4,5C4,4,4D0,0,0

18、设变量均已正确定义并且赋值,以下与其他三组输出结构不同的一组语句是

A、x++;printf((“%d\n”,x);B、n=++x;printf((“%d\n”,n);

C、++x;printf((“%d\n”,x);D、n=x++;printf((“%d\n”,n);

19、以下选项中,能表示逻辑值“假”的是

A1B0.000001C0D100.0

20、有以下程序

#include

Main()

{inta;

Scanf(“%d”,&a);

If(a++<9)printf((“%d\n”,a);

Elseprintf((“%d\n”,a--);

}

程序运行时键盘输入9<回车>,则输出的结构是

A、10B11C9D8

21、有以下程序

#include

Main()

{ints=0,n;

For(n=0;n<3;n<++)

{switch(s)

{case0;

Case1;s+=1;

Case2;s+=2;break;

Case3;s+3;

Case4;s+=4;

}

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

}

}

程序运行后的结果是

A1,2,4B1,3,6C3,10,14D3,6,10

22、若k是int类型变量,且有以下for语句

For(k=-1;k<0;k++)printf(****\n”);

下面关于语句执行情况的叙述中正确的是

A、循环体执行一次B、循环体执行两次

C、循环体一次也不执行D、构成无限循环

23、有以下程序

#include

Main()

{charA,B,C;

B=’1’;C=’A’

For(A=0;A<6;A++)

{if(A%2)putchar(B+A);

Elseputchar(C+A);

}

}

程序运行后输出的结果是

A1B3D5FBABCDFECA2C4E6D123456

24、设有如下定义语句

Intm[]={2,4,6,8},*k=m;

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

A*(k+2)Bk+2C*k+2D*k+=2

25、fun函数的功能是:

通过键盘输入给x所指的整型数组所有元素赋值。

在下列划线处应该填写的是

#include

#defineN5

Viodfun(intx[N])

{intm;

For(m=N-1;m>0;m--)scanf(“%d\n”,);

}

A&x[++m]B&x[m+1]Cx+(m++)Dx+m

26、若有函数

Viodfun(doublea[],int*n)

{………}

以下叙述中正确的是

调用fun函数时只有数组执行按值传送,其他实参和形参之间执行按地址传送

形参a和n都是指针变量

形参a是一个数组名,n是指针变量

调用fun函数时将把double型实参数组元素一一对应地传送给形参a数组

27、有以下程序

#include

Main()

{inta,b,k,m,*p1,*p2;

k=1,m=8;

p1=&k,p2=&m;

a=/*p1-m;b=*p1+*p2+6;

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

}

编译时编译器提示错误信息,你认为出错的语句是

A、a=/*p1-mB、b=*p1+*p2+6

C、k=1,m=8;D、p1=&k,p2=&m;

28、以下选项中有语法错误的是

Achar*str[]={“guest”};B、charstr[10]={“guest”};

C、char*str[3]*str[1]={“guest”};D、charstr[3][10];str[1]={“guest”};

29、avg函数的功能是求整型数组中的前若干个元素的平均值,设数组元素个数最多不超过10,则下列函数说明语句错误的是

A、intavg(int*a,intn);B、intavg(inta[10],intn);

C、intavg(inta,intn);D、intavg(inta[],intn);

30、有以下函数

#include

#include

main()

{printf(“%d\n”,strren”ATS\n012\1”));}

程序运行后的输出结果是

A3B8C4D9

31、有以下函数

#include

main()

{chara[20],b[20],c[20];

scanf(”%s%s”,a,b);

get(c);

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

}

程序运行时从第一行开始输入thisisacat!

<回车>,则输出结果是

Athisisacat!

BthisisaCthisisacat!

Dthisisacat!

32、有以下函数

#include

viodfun(charc)

{if(c>’x’)fun(c-1);

printf(“%c”,c);

}

main()

{fun”z”;}

程序运行输出结果是

AxyzBwxyzCzyxwDzyx

33、有以下函数

#include

viodfunc(intn)

{inti;

for(i=0;i<=n;i++)printf(“*”);

printf(“#”);

main()

{func(3);printf(“?

?

?

?

”);func(4);printf(“\n”);}

程序运行输出结果是

A****#?

?

?

?

***#B***#?

?

?

?

*****#

C**#?

?

?

?

*****#D****#?

?

?

?

*****#

34、有以下函数

#include

viodfun(int*s)

{staicintj=0;

do{s[j]=s[j]+s[j+1];}wihle(++j<2);

}

main()

{intk,a[10]={1,2,3,4,5};

for(K+1;k<3;k++)fun(a);

for(K+1;k<5;k++)printf(“%d”,a[k]);

printf(“\n”);

}

程序运行输出结果是

A12345B23445C34756D35745

35、有以下函数

#include

#defineS(x)(x)*x*2

main()

{intk=5,j=2;

printf(“%d,”,S[k+j]);printf(“%d\n”,S(k-j)));

}

程序运行输出结果是

A98,18B39,11C39,18D98,11

36、有以下函数

#include

Viodexch(intt[])

{t[0]=t[5];}

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

While(i<=4){exch(&x[i])’i++;}

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

printf(“\n”);

}

程序运行输出结果是

A246810B13579C12345D678910

37、设有以下程序段

StructMP3

{charname[20];

Charcolor;

Floatprice;

}std,*ptr;

ptr=&std;

若要引用结构体变量std中的color成员,写法错误的是

Astd.colorBptr->colorCstd->colorD(*ptr).color

38、有以下函数

#include

structstu

{intmun;charname[10];intage;};

viodfun(structstu*p)

{printf(“%s\n”,p->name);}

mian()

{structstux[3]={{01,”zhang”,20},{02,”wang”,19},{03,”zhao”,18}};

fun(x+2);

}

程序运行输出结果是

AzhangBzhaoCwangD19

39、有以下函数

#include

mian()

{inta=12,c;

c=(a<<2)<<1;

printf(“%d\n”,c):

}

程序运行输出结果是

A3B50C2D96

40、以下函数不能用于向文件写入数据的是

AftellBfwriteCfputcDfprintf

填空题

1、将长度为n的顺序存储在线性表中删除一个元素,最坏情况下需要移动表中的元素个数为()。

2、设循环队列的存储空间为Q(1:

3),初始状态为front=rear=30。

现经过一系列入队与退队运算后,front=16,rear=15,则循环队列中有()个元素。

3、数据库管理系统提供的数据语言中,负责数据的增、删、改和查询的是()。

4、在将E-R图转换到关系模式时,实体和联系都可以表示成()。

5、常见的软件工程方法有结构化方法和面向对象方法,类、继承以及多态性等概念属于()。

6、设变量a和b已定义为int类型,若要通过scanf(”a=%d,b=%d”,&a,&b);语句分别给a和b输入1和2,则正确的数据输入内容是()。

7、以下程序的输出结果是()。

#include

mian()

{inta=37;

a+=a%=9;printf(“%d\n”,a);

}

8、设a、b、c都是整型变量,如果a的值为1,b的值为2,则执行c=a++||b++;语句后,变量b的值是().

9、有以下程序段

s=1.0;

for(k=1,k<=n;k++)s=s+1.0(k*(k+1));

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

请填空,使以下程序段的功能与上面的程序段完全相同。

s=1.0;k=1;

while()

{s=s+1.0(k*(k+1));k=k+1;}

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

10、以下程序段的输出结果是()

#include

mian()

{chara,b;

for(a=0;a<20;a+=7){b=a%10;putchar(b+’0’);}

}

11、以下程序段的输出结果是()

#include

mian()

{char*ch[4]={“red”,”green”,”blue”};

Inti=0;

While(ch[i]);

{putchar(ch[i][0];i++;}

}

有以下程序

#include

mian()

{intarr[]={1,3,5,7,2,4,6,8{,i,start;

Scanf(“%d”,&start);

For(i=0,i<3,i++)

printf(“%d”,arr[(start+i)%8]);

}

若在程序运行时输入整数10<回车>,则输出结果为()。

以下程序的功能是输出a数组中的所有字符串,请填空

#include

mian()

{char*a[]={“ABC”,”DEFGH”,”IJ”,”KLMNOP”};

Inti=0;

For(;i<4;i++)printf(“%s\n”,);

}

14、以下程序的输出结果是()。

#include

#include

#include

mian()

{char*p,*q,*r;

p=q=r=(char*)malloc(sizeof(char)*20);

strcpy(p,”attaboy,welcome!

”);

printf(“%c%c%c\n”,p[11],q[3],r[4]);

free(p);

}

15、设文件test.txt中原已写入字符串Begin,执行以下程序后,文件中的内容为()。

#include

mian()

{file*fp;

fp=fopen(“test.txt”,”w+”);

fputs(“test”,fp);

fclose(fp);

}

 

2012年3月全国计算机等级考试二级C语言真题

标准答案

一、选择题

1-5、ADDAD6-10、CBCAD11-15、ABBCB16-20、DADCA

21-25、CACAD26-30、CADCB31-35、CADDC36-40、DCBDA

二、填空题

1、n-12、293、数据操纵语言4、关系

5、面向对象方法6、a=1,b=27、28、29、k《=n

10、07411、rgb12、57213、a[i]14、cab15、test

 

2011年9月二级C语言笔试真题

选择题(每小题2分,共70分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的。

1、下列叙述正确的是()

A.算法就是程序B设计算法时只需要考虑数据结构的设计

C.设计算法时只需要考虑结果的可靠性D以上三种说法都不对

2、下列关于线性链表的叙述中,正确的是()

A.各数据结点的存储空间可以不连续,但它们的存储循序与逻辑循序必须一致

B.各数据结点的存储顺序与逻辑顺序可以不一致,但它们的存储空间必须连续

C.进行插入与删除时,不需要移动表中的元素

D.以上三种说法都不对

3、下列关于二叉树的叙述中,正确的是()

A.叶子结点总是比度为2的结点少一个B叶子结点总是比度为2的结点多一个

C.叶子结点数是度为2的结点数的两倍D度为2的结点数是度为1的结点数的两倍

4、软件按功能可以分为应用软件、系统软件和支撑软件(或工具软件)。

下面属于应用软件的是()

A.学生成绩管理系统BC语言编译程序

C.UNIX操作系统D数据库管理系统

5、某系统总体结构图如下图所示:

该系统总体结构图的深度是()

A.7B6C3D2

6、程序调试的任务是()

A.设计测试用例B验证程序的正确性

C.发现程序中的错误D诊断和改正程序中的错误

7、下列关于数据库设计的叙述中,正确的是()

A.在需求分析阶段监理数据字典B在概念设计阶段监理数据字典

C.在逻辑设计阶段监理数据字典D在物理设计阶段监理数据字典

8、数据库系统的三级模式不包括()

A.概念模式B内模式C外模式D数据模式

9、有三个关系R、S和T如下:

则由关系R和S得到关系T的操作是()

A.自然连接B差C交D并

10、下列选项中属于面向对象设计方法主要特征的是()

A.继承B自顶向下C模块化D逐步求精

11、以下叙述中错误的是()

A.C语言编写的函数源程序,其文件名后缀可以是C

B.C语言编写的函数都可以作为一个独立的源程序文件

C.C语言编写的每个函数都可以进行独立的编译并执行

D.一个C语言程序只能有个一主函数

12、以下选项中关于程序模块化的叙述错误的是()

A.把程序分成若干相对独立的模块可便于编码和调试

B.把程序分成若干相对独立,功能单一的模块,可便于重复使用这些模块

C.可采用自底向上、逐步细化的设计方法把若干独立模块组装成所需要的程序

D.可采用自顶向下、逐步细化的设计方法把若干独立模块组装成所需要的程序

13、以下选项中关于C语言常量的叙述错误的是()

A.所谓常量,是指在程序运行过程中,其值不能被改变的量

B.常量分为整型常量、实行常量、字符常量和字符串常量

C.常量可分为数值型常量和非数值型常量

D.经常被使用的变量可定义成常量

14、若有定义语句:

inta=10;doubleb=3.14,则表达式’A’+a+b值的类型是()

A.charBintCdoubleDfloat

15、如有定义语句:

intx=12,y=8,z;,在其后执行语句z=0.9+x/y,则z的值为()

A.1.9B1C2D2.4

16、若有定义:

inta,b;,通过语句scanf(“%d;%d”,&a,&b);,能把整数3赋给变量a,5赋给变量b的输入数据是()

A35B3,5C3;5D35

17、若有定义语句:

intk1=10,k2=20;,执行表达式(k1=k1>k2)&&(k2=k2>k1)后,k1和k2的值分别为()

A0和1B0和20C10和1D10和20

18、有以下程序

#include

main()

{inta=1,b=0;

If(--a)b++;

elseif(a==0)b+=2;

elseb+=3;

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

}

程序运行后的输出结果是()

A0B1C2D3

19、下列条件语句中输出结果与其它语句不同的是()

Aif(a)printf(“%d\n”,x);elseprintf(“%d\n”,y);

Bif(a==0)printf(“%d\n”,y);elseprintf(“%d\n”,x);

Cif(a!

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

Dif(a==0)printf(“%d\n”,x);elseprintf(“%d\n”,y);

20、有以下程序:

#include

main()

{inta=7;

while(a--);

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

}

程序运行后的输出结果是()

A.-1B0C1D7

21、以下不能输出字符A的语句是(  )(注:

字符A的ASCII码值为65,字符a的ASCII码值为97)

A.printf(“%c\n”,’A’-32);Bprintf(“%d\n”,’A’);

C.printf(“%c\n”,65);Dprintf(“%c\n”,’B’-1);

22、有以下程序(注:

字符a的ASCII码值为97)

#include

main()

{char*s={“abc”};

do

{printf(“%d”,*s%10);s++;}

while(*s);

}

程序运行后的输出结果是()

AabcB789C7890D979898

23、若有定义语句:

doublea,*p=&a;以下叙述中错误的是()

A.定义语句中

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

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1