国家二级C语言机试(选择题)模拟试卷590
选择题
1.下列叙述中正确的是( )。(A)
A. 进程一旦创建,即进入就绪状态
B. 进程一旦进入运行状态,就会一直运行下去直到终止
C. 进程在运行状态下,如果时间片用完,即进入阻塞状态
D. 处于阻塞状态的进程,当阻塞原因解除后即进入运行状态
解析:一般来说,一个进程的活动情况至少可以划分为运行状态、就绪状态、阻塞(等待)状态、创建状态和终止状态5种。其中,就绪、运行和阻塞3种基本状态之间在一定条件下是可以相互转化的。进程一旦创建,即进入就绪状态;处于运行状态的进程,分配给它的时间片用完,就让出CPU而转为就绪状态;处于阻塞(等待)状态的进程,如果它等待的事件已经发生,即条件得到满足,就转为就绪状态。故本题答案为A选项。
2.设栈的顺序存储空间为S(1:m),初始状态为top=m+1。经过一系列入栈与出栈操作后,top=m。现又在栈中退出1个元素后,栈顶指针top值为( )。(C)
A. 0
B. m—1
C. m+l
D. 产生栈空错误
解析:栈的顺序存储空间为s(1:m),初始状态为top=m+l,所以这个栈是m在栈底(也可理解为开口向下的栈)。经过一系列入栈与出栈操作后top=m,则栈中有1个元素,若现在又退出1个元素,那么栈顶指针下移一位,回到m+1的位置。故本题答案为C选项。
3.下列叙述中正确的是( )。(C)
A. 非完全二叉树可以采用顺序存储结构
B. 有两个指针域的链表就是二叉链表
C. 有的二叉树也能用顺序存储结构表示
D. 顺序存储结构一定是线性结构
解析:在计算机中,二叉树为非线性结构,通常采用链式存储结构。但对满二叉树和完全二叉树来说,可以按层进行顺序存储。因此A选项错误,C选项正确。虽然满二叉树和完全二叉树可以采用顺序存储结构,但两者仍是一种非线性结构,因此D选项错误。双向链表也有两个指针域,因此B选项错误。故本题答案为C选项。
4.结构化程序的3种基本控制结构是( )。(C)
A. 顺序、选择和调用
B. 过程、子程序和分程序
C. 顺序、选择和重复(循环)
D. 调用、返回和转移
解析:1966年Bochm和Jacopini证明了程序设计语言仅仅使用顺序、选择和重复3种基本控制结构就足以表达出各种其他形式结构的程序设计方法。故本题答案为C选项。
5.某系统结构图如下所示:
(D)
A. 1
B. 2
C. 3
D. 4
解析:深度表示控制的层数。本题中,\\
6.在关系数据库中,描述全局数据逻辑结构的是( )。(A)
A. 概念模式
B. 用户模式
C. 内模式
D. 物理模式
解析:数据库系统在其内部具有3级模式和2级映射,3级模式即概念模式、内模式和外模式。
概念模式是数据库系统中全局数据逻辑结构的描述,是全体用户的公共数据视图。
内模式又称物理模式,是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式。
外模式也称子模式或者用户模式,是用户的数据视图,也就是用户所能够看见和使用的局部数据的逻辑结构和特征的描述,是与某一应用有关的数据的逻辑表示。故本题答案为A选项。
7.有3个关系R、S和T如下所示:
(A)
A. 交
B. 差
C. 选择
D. 并
解析:关系R与S经交运算后所得到的关系是由那些既在关系R内又在关系S内的有序组所组成的,记为R∩S。本题中,关系T中的行既属于关系R又属于关系S,故为交运算。故本题答案为A选项。
8.以下叙述中错误的是( )。(A)
A. C语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令
B. C语言程序经过编译、链接步骤之后才能形成一个真正可执行的二进制机器指令文件
C. 用C语言编写的程序称为源程序,它以ASCⅡ形式存放在一个文本文件中
D. C语言源程序经编译后生成扩展名为.obj的目标文件
解析:C语言中的非执行语句不会被编译,不会被转换成二进制的机器指令,所以A选项错误。由C语言构成的指令序列称为C语言源程序,C语言源程序经过C语言编译程序编译之后,生成一个扩展名为.obj的二进制文件(称为目标文件);最后要由链接程序把此目标文件与C语言提供的各种库函数连接起来生成一个扩展名为.exe的可执行文件。故本题答案为A选项。
9.以下选项中能用作数据常量的是( )。(A)
A. 115L
B. 0118
C. 1.5e1.5
D. 0115
解析:A选项中\\
10.C语言常量的类型从字面形式上可区分,以下判断中正确的是( )。(B)
A. 2E3——整型
B. 2.0E3——实型
C. \025’——字符串
D. a——字符型
解析:2E3是实型常量的指数形式,所以A选项错误;2.0E3是实型常量的指数形式,所以B选项正确;\\
11.若有定义\\(C)
A. 逗号表达式的计算结果是最后一个表达式的运算结果
B. 运算符\\
C. 语句\\
D. 复合运算\\
解析:逗号表达式的计算结果是最后一个表达式的运算结果,所以A选项正确;运算符\\
12.若有定义\\(C)
A. 3 5
B. 3,5
C. 3;5
D. 35
解析:输入数据的格式必须与scanf的格式控制字符串完全匹配。函数中非格式字符需要原样输入,所以输入时必须在3和5之间输入\\
13.当变量c的值不为2、4,6时,值为\\(D)
A. (c>=2&&c<=6)&&(c%2!=1)
B. (c==2)||(c==4)||(c==6)
C. (c>=2&&c<=6)&&!(c%2)
D. (c>=2&&c<=6)||(c!=3)||(c!=5)
解析:逻辑或运算中只要有一个运算量为真,结果就为真。当\\
14.有以下程序:
#include <stdio.h>
main()
{int a=1,b=2,c=3,d=4,r=0;
if(a!=1)r=1;
if(b==2)r=2;
else if(c!=3)r=3;
else if(d==4)r=4;
printf(\\(D)
A. 0
B. 4
C. 1
D. 2
解析:第1个if语句是单独的一条语句
本文档预览:3600字符,共7500字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载