国家二级C语言机试(选择题)模拟试卷353
选择题
1.算法的空间复杂度是指( )。(A)
A. 算法在执行过程中所需要的计算机存储空间
B. 算法所处理的数据量
C. 算法程序中的语句或指令条数
D. 算法在执行过程中所需要的临时工作单元数
解析:算法的空间复杂度是指算法在执行过程中所需要的内存空间,所以选择A选项。
2.设栈的存储空间为S(1:m),初始状态为top=m+1。经过一系列入栈与退栈操作后,top=m。现又在栈中退出一个元素后,栈顶指针top值为( )。(C)
A. 0
B. m-1
C. m+1
D. 产生栈空错误
解析:栈的顺序存储空间为s(1:m),初始状态top=m+1,所以这个栈是m在栈底(也可理解为开口向下的栈)。经过一系列入栈与退栈操作后top=m,则栈中有1个元素,若现在又退出一个元素,那么栈顶指针下移一位,回到m+1的位置。
3.下列叙述中正确的是(B)
A. 循环队列是队列的一种链式存储结构
B. 循环队列是队列的一种顺序存储结构
C. 循环队列是非线性结构
D. 循环队列是一种逻辑结构
解析:本题主要考查循环队列的概念,循环队列作为队列的一种也应该是线性结构。队列是一种逻辑结构,而循环队列是一种顺序存储结构的队列。
4.设变量均已正确定义并赋值,以下与其他三组输出结果不同的一组语句是(C)
A. x++;printf(\\
B. ++x;printf(\\
C. n=x++;printf(\\
D. n=++x;printf(\\
解析:本题考查自增运算符。++在前表示先自增然后使用,++在后面表示先使用然后自增。选项A中首先执行x++,执行完后x自增1,然后printf输出的是x自增后的值;选项B首先执行++x,x的值增加1,接着输出x的值;选项C中++在x的后面,因此n的值是x自增前的值,printf输出的是x自增前的值;选项D中++在x的前面,因此x首先自增,然后再赋值给n,n的值是x自增后的值,输出的也是x自增后的值。
5.在关系数据库中,描述全局数据逻辑结构的是( )。(A)
A. 概念模式
B. 用户模式
C. 内模式
D. 物理模式
解析:数据库系统在其内部分为三级模式及两级映射,三级模式即概念模式、内模式和外模式。
概念模式是数据库系统中全局数据逻辑结构的描述,是全体用户公共数据视图。
外模式也称子模式或者用户模式,是用户的数据视图,也就是用户所能够看见和使用的局部数据的逻辑结构和特征的描述,是与某一应用有关的数据的逻辑表示。
内模式又称物理模式,是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式。
6.有以下定义:inta;longb;doublex,y;则以下选项中正确的表达式是(A)
A. a%(int)(x-y)
B. a*x<>y
C. (a*y)%b
D. y=x+y=x
解析:选项B中<>运算符不存在,选项C中double类型不能进行取余(%)操作,要求两个运算数必须是整数,选项D中x+y=x错误。
7.下列叙述中正确的是(D)
A. 算法的复杂度是指算法所处理的数据量
B. 算法的复杂度是指算法程序中指令的数量
C. 算法的复杂度是指算法控制结构的复杂程度
D. 算法的复杂度包括时间复杂度与空间复杂度
解析:算法分析的目的在于选择合适算法和改进算法。一个算法的评价主要从时间复杂度和空间复杂度来考虑。
8.设循环队列的存储空间为Q(1:50),初始状态为front=rear=50。经过一系列正常的操作后,front=rear-1。为了在该队列中寻找值最大的元素,在最坏情况下需要的比较次数为(A)
A. 0
B. 1
C. 49
D. 50
解析:front指定队头位置,删除一个元素就将front顺时针移动一位;rear指尾指针,指向元素要插入的位置,插入一个元素就将rear顺时针移动一位;操作后,循环队列的队头指针等于尾指针-1,说明此时队列已经是空队列,那么就不用比较了。
9.以下不正确的定义语句是( )。
B
解析:本题考查对一维数组的赋值。选项B)中,y[5]说明数组中有5个元素,但却给它赋了6个值,数组溢出所以是错误的。
10.以下叙述中正确的是(C)
A. a表示一一个字符常量
B. ’\0’表示字符0
C. 表达式:’a’>’b’的结果是“假”
D. ’\’\\
解析:字符常量可以参加关系运算,按照其存储的ASCII码值进行比较,’a’>’b’不成立,值为假。而’\0’表示NULL,ASCII码值为0。
11.设有定义:
struct complex
{int real,unreal;}data1={1,8},data2;
则以下赋值语句中错误的是( )。
C
解析:本题主要考查结构体变量的定义与初始化。题目中定义了complex类型的结构体变量datal和data2,并对datal进行了初始化。可以用一个结构体变量的成员对另一个结构体变量的成员赋值。
12.下面不属于软件设计阶段任务的是( )。(C)
A. 软件总体设计
B. 算法设计
C. 制定软件确认测试计划
D. 数据库设计
解析:指定软件确认测试计划属于软件测试阶段的任务,不属于软件设计阶段的任务,所以答案选C。
13.数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。下面图符名标识的图符不属于数据流图合法图符的是(A)
A. 控制流
B. 加工
C. 数据存储
D. 源和潭
解析:数据流图中的主要图形元素有加工(转换)、数据流、存储文件(数据源)、源和潭等。
14.以下选项中,能用作用户标识符的是( )。(A)
A. _0_
B. 8_8
C. void
D. unsigned
解析:C语言中的标识符由字母、下划线、数字组成,且开头必须是字母或下划线。另外,关键字不能作为标识符。B选项中以数字8开头,所以错误。C选项与D选项中用的是关键字void与unsigned,所以错误。
15.以下正确的字符串常量是( )。(D)
A. \\\
B. ’abc’
C. Olympic Games
D.
解析:本题考查的知识点是字符串常量。在C语言中,字符串常量是以双引号括起来的字符序列,因此B选项和C选项不正确。字符序列中可包含一些转义字符,转义字符都是以“\”开头的。A选项中包含了3个“\”,前两个(\\)代表了一个“\”字符,后面一个和“\\
16.若有定义:double a=22;int i=0,k=18;,则不符合C语言规定的赋值语句是( )。(B)
A. i=(a+k)<=(i+k);
B. i=a%11;
C. a=a++,i++
D. i=!a;
解析:取模运算符“%”、二元运算符具有左结合性,参与运算的量均为整型。B选项中的a变量是dou
本文档预览:3600字符,共12110字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载