2017年9月计算机二级c语言笔试题库

进修社 人气:2.77W

C语言已先后被移植到大、中、小及微型机上,它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。下面是小编整理的关于计算机二级c语言笔试题库,希望大家认真阅读!

2017年9月计算机二级c语言笔试题库

一、选择题((1)—(10)、( 21)—(40)每题2 分,(11)—(20)每题1分。共70分)

下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写

在答题卡上,答在试卷上不得分。

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

A)对长度为n 的有序链表进行查找,最坏情况下需要的比较次数为n

B)对长度为n 的有序链表进行对分查找,最坏情况下需要的比较次数为(n/2)

C)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为( log 2n )

D) 对长度为n 的有序链表进行对分查找,最坏情况下需要的比较次数为(nlog 2n )

(2) 算法的时间复杂度是指

A)算法的执行时间B)算法所处理的数据量

C)算法程序中的语句或指令条数D)算法在执行过程中所需要的基本运算次数

(3) 软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。下面属于系统软件

的是

A)编辑软件B)操作系统C)教务管理系统D)浏览器

(4) 软件(程序)调试的任务是

A)诊断和改正程序中的错误B)尽可能多地发现程序中的错误

C)发现并改正程序中的所有错误D)确定程序中错误的性质

(5) 数据流程图(DFD 图)是

A)软件概要设计的工具B)软件详细设计的工具

C)结构化方法的需求分析工具D)面向对象方法的需求分析工具

(6) 软件生命周期可分为定义阶段,开发阶段和维护阶段。详细设计属于

A)定义阶段B)开发阶段C)维护阶段D)上述三个阶段

(7) 数据库管理系统中负责数据模式定义的语言是

A)数据定义语言B)数据管理语言C)数据操纵语言D)数据控制语言

(8) 在学生管理的关系数据库中,存取一个学生信息的数据单位是

A)文件B)数据库C)字段D)记录

(9) 数据库设计中,用E-R 图来描述信息结构但不涉及信息在计算机中的表示,它属于数据库

设计的

A)需求分析阶段B)逻辑设计阶段

C)概念设计阶段D)物理设计阶段

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

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

(1)一个栈的初始状态为空。首先将元素5,4,3,2,1 依次入栈,然后退栈一次,再将

元素A,B,C,D 依次入栈,之后将所有元素全部退栈,则所有元素退栈(包括中间退栈的元

素)的顺序为【1】

(2)在长度为n 的`线性表中,寻找最大项至少需要比较【2】次。

(3)一棵二叉树有10 个度为1 的结点,7 个度为2 的结点,则该二叉树共有【3】个

结点。

(4)仅由顺序、选择(分支)和重复(循环)结构构成的程序是【4】程序。

(5)数据库设计的四个阶段是:需求分析,概念设计,逻辑设计【5】。

(6)以下程序运行后的输出结果是【6】。

#include

main()

{int a=200,b=010;

printf(”%d%dn”,a,b);

(7)有以下程序

#include

main()

{int x,Y;

scanf(”%2d%ld”,&x,&y);printf(”%dn”,x+y);

程序运行时输入:1234567 程序的运行结果是【7】。

(8)在C 语言中,当表达式值为0 时表示逻辑值“假”,当表达式值为【8】时表示逻

辑值“真”。

(9)有以下程序

#include

main()

{int i,n[]={0,0,0,0,0};

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

{n[i]=n[i-1]*3+1; printf(”%d ",n[i]);}

}

程序运行后的输出结果是【9】。

(10)以下fun 函数的功能是:找出具有N 个元素的一维数组中的最小值,并作为函

数值返回。请填空。(设N 已定义)

int fun(int x[N])

{int i,k=0;

for(i=0;i

if(x[i]

return x[k];

}

(11)有以下程序

#include

int*f(int *p,int*q);

main()

{int m=1,n=2,*r=&m;

r=f(r,&n);printf(”%dn”,*r);

int*f(int *p,int*q)

{return(*p>*q)?p:q;}

程序运行后的输出结果是【11】

(12)以下fun 函数的功能是在N 行M 列的整形二维数组中,选出一个最大值作为函

数值返回,请填空。(设M,. N 已定义)

int fun(int a[N][M))

{int i,j,row=0,col=0;

for(i=0;i

for(j=0;j

if(a[i][j]>a[row][col]){row=i;col=j;}

return(【12】):

}

(13)有以下程序

#include

main()

{int n[2],i,j;

for(i=0;i<2;i++)n[i]=0;

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

for(j=0;j<2;j++)n[j]=n「i」+1;

printf(”%dn”,n[1]);

程序运行后的输出结果是【13】

(14)以下程序的功能是:借助指针变量找出数组元素中最大值所在的位置并输出该

最大值。请在输出语句中填写代表最大值的输出项。

#include

main()

{int a〔10],*p,*s;

for(p=a;p-a<10;p++)scanf(”%d”,p);

for(p=a,s=a;p-a<10;p++)if(*p>*s)S=P;

printf("max=%dn”,【14】);

(15)以下程序打开新文件,并调用字符输出函数将a 数组中的字符写入其中,

请填空。

#include

main()

{【15】*fp;

char a[5]={’1’,’2’,’3’,’4’,’5’},i;

fp=fopen(”f ”,”w”);

for(i=0;i<5;i++)fputc(a[i],fp);

fclose(fp);