计算机二级考试c语言及答案(江西考区)

2010全国计算机等级考试二级C语言笔试真题及参考答案一、选择题

(1)下列说法是正确的。

a)搜索长度为n的有序链表,最坏情况下需要的比较次数为n。

b)在长度为n的有序链表上进行二分搜索法,最坏情况下需要的比较次数为(n/2)。

c)对长度为n的有序链表进行二分搜索法,最差情况下比较次数为(log2n)。

d)对长度为n的有序链表进行二分搜索法,最坏情况下所需的比较次数为(nlog2n) (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)在物理设计阶段(10)有如下两种关系R和T:

那么从关系K获得关系T的操作是

a)选择

b)投影

c)薪酬

d)和(11)下列说法是正确的。

A)C语言程序由过程和函数组成。

B)C语言函数可以嵌套调用,比如:fun(fun(x))

C)C语言函数不能独立编译。

d)在C语言中,除了main函数,其他函数不能作为单独的文件存在(12)。下列关于C语言的陈述是正确的。

a)C语言的注释不能夹在变量名或关键字之间。

b)C语言中的变量在使用前可以在任何地方定义。

C)在用C语言编写算术表达式时,运算符两边的操作数类型必须一致。

d)C语言中数值常量包含空格不影响常量值的正确表示(13)。在下面的C语言用户标识符中,执行以下操作是非法的

A)_1

B)AaBc

丙)甲_乙

D)a-b (14)如果定义的话,双a = 22int i=0,k = 18;,不符合C语言要求的赋值语句是

A)a=a++,i++;

b)I =(a+k)& lt;=(I+k);

c)I = a % 11;

d)我=!a;(15)有以下步骤。

# include & ltstdio.h & gt

主()

{ char a,b,c,d;

scanf("%c%c ",& amp一,& ampb);

c = getchar();d = getchar();

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

}

执行程序时,输入如下数据(从1列开始,

12 & lt;CR & gt

34 & ltCR & gt

那么输出结果是

A)1234

B)12

C)12

D)12

34(16)关于I在C语言中使用数据类型的说法中错误的是

a)如果要准确表示自然数,应该使用整数类型。

b)要保存多位小数的数据,应使用双精度类型。

c)如果要处理不同类型的相关数据,如“人员信息”,需要定义结构类型。

d)如果只处理“真”和“假”逻辑值,则应使用逻辑类型(17)。如果a是数值型,逻辑表达式(a==1)||(a!=1)是

A)1

B)0

C)2

d)如果不知道a的值,就无法确定下列选项中的(18)和If(a = = 1)a = b;else a++;具有不同语句功能的switch语句有

a)开关(a)

{ case:a = b;打破;& ltbr & gt默认:a++;& ltbr & gt} & ltbr & gtb)开关(a = = 1)& lt;br & gt{案例0:a = b;打破;& ltbr & gt案例1:a++;& ltbr & gt}

c)开关(a)

{默认值:a++;打破;& ltbr & gt案例1:a = b;& ltbr & gt}

d)开关(a==1)

{ case 1:a = b;打破;& ltbr & gt案例0:a++;& ltbr & gt} (19)有以下嵌套的if语句。

如果(a & ltb)

如果(a & ltc)k = a;

else k = c;

其他

if(b & lt;c)k = b;

else k = c;

在下列选项中,与上述if语句等效的语句是

A)k=(a

B)k=(a丙)?b:c);

C)k=(a

D)k=(a

# include < s7dio.h >

主()

{in i,j,m = 1;

for(I = 1;I < 3;i++)

{ for(j = 3;j > O;j -)

{ if(I * j)> 3)break;& ltbr & gtm = I * j;& ltbr & gt}

}

printf("m=%d\n ",m);

}

程序运行后的输出结果是

A)m=6

B)m=2

C)m=4

D)m=5 (21)有以下程序。

#include(stdio.h >

主()

{ int a = l;b = 2;

for(;a < 8;a++){ b++ = a;a+= 2;}

printf("%d,%d\n ",a,b);

}

程序运行后的输出结果是

9,18

8,11

7,11

D)10,14 (22)有以下程序,其中k的初始值是一个八进制数。

# include & ltstdio.h & gt

主()

{ int k = 011;

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

}

程序运行后的输出结果是

A)12

B)11

C)10

D)9(23)下列说法中,正确的是

a)字符;s= "奥林匹克";

char s[7];s= "奥林匹克";

c)字符;s = { " Olympic " };

d)char s[7];s = { " Olympic " };(24)下列关于退货的说法正确的是

a)自定义函数中必须有return语句。

b)可以根据不同情况,在一个自定义函数中设置多个return语句。

c)定义为void类型的函数可以有一个带有返回值的return语句。

d)没有返回语句的自定义函数在执行结束时不能返回到调用位置(25)。可以正确定义数组的语句是

a)整数[0..2008];

b)int num[];

c)int N = 2008;

整数[N];

d)#定义编号2008

整数[N];(26)有以下程序

# include & ltstdio.h & gt

void fun(char *c,int d)

{ * c = * c+1;d = d+1;

printf("%c,%c,",*c,d);

主()

{char b='a ',a = ' A

乐趣(& ampb,a);printf("%e,%e\n ",b,a);

}

程序运行后的输出结果是

A)b,B,B,A

B)b,B,B,A

C)a、B、B、a

D)a,B,a,B(27) int (* pt) [3]如果定义的话;,下列说法是正确的。

a)定义了三个基本类型为int的指针变量。

b)用基本类型int定义具有三个元素的指针数组pt。

c)定义一个名为*pt的三元素整数数组。

d)定义了一个名为pt的指针变量,可以指向一个每行三个整数元素的二维数组(28),定义为双a[10],* s = A;,下列可以代表数组元素a[3]的是

A)(*s)[3]

B)*(s+3)

C)*s[3]

D)*s+3 (29)有以下过程。

#include(stdio.h)

主()

{int a[5]={1,2,3,4,5},b[5]={O,2,1,3,0},I,s = 0;

for(I = 0;I < 5;i++)s = s+a[b[I]]);

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

}

程序运行后的输出结果是

A)6

B)10

C)11

D)15 (30)有以下程序

# include & ltstdio.h & gt

主()

{int b [3][3]={O,1,2,0,1,2,O,1,2},I,j,t = 1;

for(I = 0;我& lt3;i++)

for(j = ij & lt;=1;j++)t+= b[I][b[j][I]];

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

}

程序运行后的输出结果是

A)1

B)3

C)4

D)9(31)如果有以下定义和句子...这是2010全国C语言考试的部分题型,楼主可以下载转自:www.k8xx.com。