国家二级C语言机试(选择题)模拟试卷591
选择题
1.操作系统在控制和管理进程过程中,进程存在的唯一标志是数据结构( )。(B)
A. FIF0
B. PCB
C. FDT
D. FCB
解析:每个进程有且仅有一个进程控制块(Process Control Block,PCB),它是进程存在的唯一标识,是操作系统用来记录和刻画进程状态及环境信息的数据结构,是进程动态特征的汇集,也是操作系统掌握进程的唯一资料结构和管理进程的主要依据。故本题答案为B选项。
2.下列处理中与队列有关的是( )。(B)
A. 二叉树的遍历
B. 操作系统中的作业调度
C. 执行程序中的过程调用
D. 执行程序中的循环控制
解析:队列是指允许在一端进行插入,而在另一端进行删除的线性表。由于最先进入队列的元素将最先出队,因此队列具有\\
3.有二叉树如下图所示:
(A)
A. ABDEGCFH
B. DBGEAFHC
C. DGEBHFCA
D. ABCDEFGH
解析:前序遍历首先访问根节点,然后遍历左子树,最后遍历右子树。在遍历左、右子树时,仍然先访问根节点,然后遍历左子树,最后遍历右子树。本题的前序序列是ABDEGCFH。
中序遍历首先遍历左子树,然后访问根节点,最后遍历右子树。在遍历左、右子树时,仍然先遍历左子树,然后访问根节点,最后遍历右子树。本题的中序序列是DBGEAFHC。
后序遍历首先遍历左子树,然后遍历右子树,最后访问根节点。在遍历左、右子树时,仍然先遍历左子树,然后遍历右子树,最后访问根节点。本题的后序序列是DGEBHFCA。故本题答案为A选项。
4.以下对\\(B)
A. 属性就是对象
B. 操作是对象的动态属性
C. 任何对象都必须有继承性
D. 对象是对象名和方法的封装体
解析:对象是由描述该对象属性的数据以及可以对这些数据施加的所有操作构成的统一体。对象可以做的操作表示它的动态行为,通常也称为方法或服务,属性即对象所包含的信息。一个对象名唯一标识一个对象。对象可以有继承性,但并不是任何对象都必须有继承性。故本题答案为B选项。
5.某系统结构图如下所示(图中n≥5):
(A)
A. n
B. 3
C. 2
D. 1
解析:宽度表示整体控制跨度(最大模块数的层)。本题中第1层有1个模块,第2层有n个模块(注意n≥15),第3层有5个模块,故宽度为n。故本题答案为A选项。
6.数据库中对概念模式内容进行说明的语言是( )。(C)
A. 数据控制语言
B. 数据操纵语言
C. 数据定义语言
D. 数据并发语言
解析:概念模式主要描述数据的概念记录类型和它们之间的关系,它还包括一些数据间的语义约束,对它的描述可采用数据定义语言。故本题答案为C选项。
7.有3个关系R、S和T如下所示:
(C)
A. 交
B. 投影
C. 并
D. 选择
解析:关系R与S经并运算后所得到的关系由属于关系R或属于关系S的元组构成,记为R∪S。本题中,关系T中的行要么属于关系R,要么属于关系S,故为并运算。故本题答案为C选项。
8.下列叙述中错误的是( )。(B)
A. C语言程序可以由多个程序文件组成
B. 一个C语言程序只能实现一种算法
C. C语言程序可以由一个或多个函数组成
D. 一个C语言函数可以单独作为一个C语言程序文件存在
解析:在一个C语言程序中可以实现多种算法,所以B选项错误。故本题答案为B选项。
9.在下列定义语句中,编译时会出现编译错误的是( )。(D)
A. char a=’\x2d’;
B. char a=’\n’;
C. char a=’a’;
D. char a=\\
解析:D选项中将字符串常量\\
10.以下选项中,算术表达式的值与其他3个不同的是( )。(C)
A. 3/5.
B. 3./5
C. 3/5
D. 3.0/5.0
解析:C语言中除法运算有两个运算数,两个整数的除法运算会舍去小数部分,结果为整数;由于C语言中浮点数的小数形式必须要有小数点,所以A选项(5.)、B选项(3.)、D选项(3.0和5.0)都是浮点数。A选项、B选项运算时,自动将另一个整数转换成浮点数,然后运算。D选项中两个都是浮点数,浮点数的除法运算结果还是浮点数。所以本题中A、B、D选项的运算结果是浮点数,C选项的运算结果是整数。故本题答案为C选项。
11.以下关于C语言算术表达式的叙述中错误的是( )。(D)
A. 可以通过使用圆括号来改变算术表达式中某些算术运算符的计算优先级
B. C语言采用的是人们熟悉的四则运算规则,即先乘除后加减
C. 算术表达式中,运算符两侧类型不同时,将进行类型之间的转换
D. C语言仅提供了\\
解析:C语言的算术运算符是有优先级的。圆括号可以改变算术表达式中某些算术运算符的优先级,所以A选项正确;算术运算符中,乘除运算符的优先级比加减运算符的优先级高,C语言采用的是四则运算规则,所以B选项正确;算术表达式中,运算符两侧运算对象的数据类型不同时,将进行隐式类型转换,所以C选项正确;C语言中基本算术运算符除了\\
12.若有定义\\(C)
A. scanf(\\
B. scanf(\\
C. scanf(\\
D. scanf(\\
解析:本题重点考查格式输入函数scanf。scanf函数要求:输入的变量为地址形式。4个选项中,只有C选项符合要求。故本题答案为C选项。
13.有以下程序:
#include <stdio.h>
main()
{
int a=1,b:2,e=3,d=0;
if(a==1&&b++==2)
if(b!=2||c——!=3)
printf(\\(B)
A. 1,3,2
B. 1,3,3
C. 1,2,3
D. 3,2,1
解析:else总是和最近的if配对。进入第1个if语句进行条件判断时,因为是逻辑与运算,需要两边运算对象的值均为非零值才为真,所以需要逐个执行判断。结果为1,进入第2个if语句进行条件判断。因为\\
14.有以下程序:
#include <stdio.h>
main()
{Char x,a=’A’,b=‘
本文档预览:3600字符,共7483字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载