计算机二级c语言真题及答案解析

来源: 语言    真题    答案   

计算机二级c语言真题及答案解析

一、单选题

1). 若变量x、y已正确定义并赋值,以下符合C语言语法的表达式是( )

A.++x,y=x--

B.x+1=y

C.x=x+10=x+y

D.double(x)/10

2). 下列叙述中正确的是( )

A.一个算法的空间复杂度大,则其时间复杂度也必定大

B.一个算法的空间复杂度大,则其时间复杂度必定小

C.一个算法的时间复杂度大,则其空间复杂度必定小

D.算法的时间复杂度与空间复杂度没有直接关系

3). 待排序的关键码序列为(15,20,9,30,67.65,45,90),要按关键码值递增的顺序排序,采取简单选择排序法,第一趟排序后关键码15被放到第( )个位置。

A.2

B.3

C.4

D.5

4). 以下结构体类型说明和变量定义中正确的是( )

A.typedef struct { int n; char c; } REC; REC t1,t2;

B.struct REC ; { int n; char c; }; REC t1,t2;

C.typedef struct REC; { int n=0; char c=′A′; } t1,t2;

D.struct { int n; char c; } REC; REC t1,t2;

计算机二级c语言真题及答案解析

一、单选题

1.正确答案:A

答案解析:用逗号将表达式连接起来的式子称为逗号表达式。其表达式的一般形式为:达式1,表达式2,……,表达式n。最后一个表达式的值就是此逗号表达式的值。所以选项A为C语言中的逗号表达式。赋值表达式的左侧只能是变量,不能是常量或表达式。强制类型转换表达式的形式为:(类型名)(表达式),其中(类型名)称为强制类型转换运算符,数据类型两边的圆括号不能省略。

2.正确答案:D

答案解析:算法的复杂度主要包括时间复杂度和空间复杂度。算法的时间复杂度是指执行算法所需要的计算工作量,算法的工作量用算法所执行的基本运算次数来度量,而算法所执行的基本运算次数是问题规模的函数,即算法的工作量=f(n),其中n是问题的规模;算法的空间复杂度,一般是指执行这个算法所需要的内存空间。一个算法所占用的存储空间包括算法程序所占用的空间、输入的初始数据所占的存储空间以及算法执行过程中所需要的额外空间。根据各自的定义可知,算法的时间复杂度与空间复杂度并不相关。

3.正确答案:B

答案解析:选择排序的基本思想是扫描整个线性表,从中选出最小的元素,将它交换到表的最前面,然后对剩下的子表采用同样的方法,直到子表为空。所以第一趟排序后,将选出最小的元素9放在第一个位置,元素15则被交换放在第三个位置。

4.正确答案:A

答案解析:定义结构体类型的一般形式为:struct 结构体名 {成员列表};struct 结构体名后不能加″;″号,所以选项B、C)错误,选项D中定义无名称的结构体类型同时定义结构体变量形式应为struct t1,t2;选项A为用户自定义类型,其为正确的定义形式。

答案解析