C语言考试3.docx

上传人:b****1 文档编号:2255351 上传时间:2023-05-03 格式:DOCX 页数:19 大小:20.92KB
下载 相关 举报
C语言考试3.docx_第1页
第1页 / 共19页
C语言考试3.docx_第2页
第2页 / 共19页
C语言考试3.docx_第3页
第3页 / 共19页
C语言考试3.docx_第4页
第4页 / 共19页
C语言考试3.docx_第5页
第5页 / 共19页
C语言考试3.docx_第6页
第6页 / 共19页
C语言考试3.docx_第7页
第7页 / 共19页
C语言考试3.docx_第8页
第8页 / 共19页
C语言考试3.docx_第9页
第9页 / 共19页
C语言考试3.docx_第10页
第10页 / 共19页
C语言考试3.docx_第11页
第11页 / 共19页
C语言考试3.docx_第12页
第12页 / 共19页
C语言考试3.docx_第13页
第13页 / 共19页
C语言考试3.docx_第14页
第14页 / 共19页
C语言考试3.docx_第15页
第15页 / 共19页
C语言考试3.docx_第16页
第16页 / 共19页
C语言考试3.docx_第17页
第17页 / 共19页
C语言考试3.docx_第18页
第18页 / 共19页
C语言考试3.docx_第19页
第19页 / 共19页
亲,该文档总共19页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

C语言考试3.docx

《C语言考试3.docx》由会员分享,可在线阅读,更多相关《C语言考试3.docx(19页珍藏版)》请在冰点文库上搜索。

C语言考试3.docx

C语言考试3

2012年3月全国计算机等级考试二级笔试试卷

C语言程序设计

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

一、选择题(

(1)~(10)、(21)~(40)每小题2分,(11)~(20)每小题1分,共70分)

1.下列叙述中正确的是______。

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

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

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

D.循环队列是逻辑结构

2.下列叙述中正确的是______。

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

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

C.栈与队列都是非线性结构

D.以上说法都不对

3.一棵二叉树共有25个结点,其中5个是叶子结点,则度为1的结点数为______。

A.4

B.6

C.10

D.16

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

A.内模式

B.外模式

C.概念模式

D.逻辑模式

5.在满足实体完整性约束的条件是______。

A.一个关系中可以没有候选关键字

B.一个关系中只能有一个候选关键字

C.一个关系中必须有多个候选关键字

D.一个关系中应该有一个或多个候选关键字

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

 

R

S

T

A

B

C

a

1

2

b

2

1

c

3

1

A

B

C

a

1

2

d

2

1

A

B

C

b

2

1

c

3

1

则有关系R和S得到T的操作是______。

A.并

B.差

C.交

D.自然连接

7.软件生命周期中的活动不包括______。

A.软件维护

B.需求分析

C.市场调研

D.软件测试

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

A.确定软件系统的性能需求

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

C.制定软件集成测试计划

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);

}

程序运行后的输出结果是______。

A.0,4,5

B.4,4,5

C.4,4,4

D.0,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.以下选项中,能表示逻辑值“假的”是______。

A.1

B.0.000001

C.0

D.100.0

20.有以下程序

#include

main()

{inta;

scanf("%d",&a);

if(a++<9)printf("%d\n",a);

elseprintf("%d\n",a--);

}

程序运行时,从键盘输入9<回车>,则输出结果是______。

A.10

B.11

C.9

D.8

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;

default:

s+=4;

}

printf("%d,",s);

}

}

程序运行后,输出结果是______。

A.1,2,4

B.1,3,6

C.3,10,14

D.3,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);

}

}

程序运行后,输出结果是______。

A.BB3D5F

B.ABCDEF

C.A2C4E6

D.123456

24.设有如下定义语句

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

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

A.*(k+2)

B.k+2

C.*k+2

D.*k+-2

25.fun函数的功能是:

通过键盘输入给x所指的整型数组所有元素赋值,在下划线处应填写的是______。

#include

#defineN5

voidfun(intx[N])

{intm;

for(m=N-1;m>=0;m--)scanf("%d",_____);

}

A.&x[++m]

B.&x[m+1]

C.x+(m++)

D.x+m

26.若有函数

voidfun(doublea[],int*n)

{……}

以下叙述,正确的是______。

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

B.形参a和n都是指针变量

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

D.调用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-m;

B.b=*p1+*p2+6;

C.k=1,m=8

D.p1=&k,p2=&m;

28.以下选项中有语法错误的是______。

A.char*str[]={"guest"};

B.charstr[][10]={"guset"};

C.char*str[3];str[t]="guest";

D.charstr[3][10];str[t]="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",strlen("ATS\n012\|"));}

程序运行后的输出结果是______。

A.3

B.8

C.4

D.9

31.有以下程序:

#include

main()

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

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

gets(c);

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

}

程序运行时从第一列开始输入:

Thisisacar!

<回车>

则输出结果是______。

A.Thisisacar!

B.Thisisa

C.Thisisacar!

D.Thisisacar!

32.有以下程序:

#include

voidfun(charc)

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

printf("%c",c);

}

main()

{fun('z');}

程序运行后,输出结果是______。

A.xyz

B.wxyz

C.zyxw

D.zyx

33.有以下程序:

#include

voidfunc(intn)

{inti;

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

print("#");

}

main()

{func(3);printf("?

?

?

?

");func(4);printf("\n");}

程序运行后的输出结果是______。

A.****#?

?

?

?

***#

B.***#?

?

?

?

****#

C.**#?

?

?

?

*****#

D.****#?

?

?

?

*****#

34.有以下程序:

#include

voidfun(int*s)

{staticintj=0;

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

}

main()

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

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

for(k=0;k<5;k++)printf("%d",a[k]);

printf("\n");

}

程序运行后的输出结果是______。

A.12345

B.23445

C.34756

D.35745

35.有以下程序

#include

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

main()

{intk=5,j=2;

printf("%d,",S(k+j));printf("%d\n",S((k-j)));

}

程序运行后的输出结果是______。

A.98,18

B.39,11

C.39,18

D.98,11

36.有以下程序

#include

voidexch(intt[])

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

main()

{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");

}

程序运行后的输出结果是______。

A.246810

B.13579

C.12345

D.678910

37.有以下程序:

structMP3

{charname[20];

charcolor;

charprice;

}std,*ptr;

ptr=&std;

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

A.std.color

B.ptr->color

C.std->color

D.(*ptr).color

38.有以下程序:

#include

structstu

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

voidfun(structstu*p)

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

main()

{structstux[3]={{01,"Zhang",20},{02,"Wang",19},{03,"Zhao",18}};

 fun(x+2);

}

程序运行后的输出结果的是______。

A.Zhang

B.Zhao

C.Wang

D.19

39.有以下程序:

#include

main()

{inta=12,c;

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

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

}

程序运行后的输出结果是______。

A.3

B.50

C.2

D.96

40.以下函数不能用于向文件中写入数据的是______。

A.ftell

B.fwrite

C.fputc

D.fprintf

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

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

2.设循环队列的存储控件为Q(1:

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

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

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

4.在将E-R图转换到关系模式时,实体和练习都可以表示成【4】。

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

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

7.以下程序的输出结果是【7】。

#include

main()

{inta=37;

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

}

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

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(__【9】__)

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

10.以下程序的输出结果是【10】。

#include

main()

{chara,b;

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

}

11.以下程序的输出结果是【11】。

#include

main()

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

inti=0;

while(ch[i])

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

}

12.有以下程序:

#include

main()

{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<回车>,则输出结果为__【12】__。

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

#include

main()

{char*a[]={"ABC","DEFGH","[]","KLMNOP"};

inti=0;

for(;i<4;i++)printf("%s\n",__【13】__);

}

14.以下程序的输出结果是__【14】__

#include

#include

#include

main()

{char*p,*q,*r;

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

strcpy(p,"attaboy,welcome!

");

printf("%c%c%c\n",p[1],q[3],r[4]);

free(p);

}

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

#include

main()

{FILE*fp;

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

fputs("test",fp);

fclose(fp);

}

 

【参考答案】

一、选择题答案

1.A2.D3.D4.A5.D

6.C7.B8.C9.A10.D

11.A12.A13.B14.C15.B

16.D17.A18.D19.C20.A

21.C22.A23.C24.A25.D

26.B27.A28.D29.C30.B

31.C32.A33.D34.D35.C

36.D37.C38.B39.D40.A

二、填空题答案

1.n-1

2.29

3.数据库操纵语言

4.关系

5.面向对象方法

6.a=1,b=2

7.2

8.2

9.k<=n

10.074

11.rgb

12.572

13.a[i]或*(a+i)

14.tab

15.test

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

当前位置:首页 > 初中教育 > 语文

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

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