国家二级C语言机试(选择题)模拟试卷583
选择题
1.计算机工作的本质是( )。(D)
A. 存取数据
B. 执行程序的过程
C. 进行数的运算
D. 取指令、分析指令和执行指令
解析:计算机的工作就是自动、快速地执行程序,而程序就是解决实际问题的计算机指令的集合。指令的执行过程可分为取指令、分析指令和执行指令。故本题答案为D选项。
2.下列叙述中正确的是( )。(A)
A. 非线性结构可以为空
B. 只有一个根节点和一个叶子节点的必定是线性结构
C. 只有一个根节点的必定是线性结构或二叉树
D. 没有根节点的一定是非线性结构
解析:如果一个非空的数据结构满足下列两个条件:①有且只有一个根节点;②每一个节点最多有一个前件,也最多有一个后件,则称该数据结构为线性结构。如果一个数据结构不是线性结构,则称之为非线性结构。线性结构和非线性结构都可以是空的数据结构。树只有一个根节点,但不论有几个叶子节点,树都是非线性结构。故本题答案为A选项。
3.下列叙述中错误的是( )。(B)
A. 循环链表中有一个表头节点
B. 循环链表是循环队列的存储结构
C. 循环链表的表头指针与循环链表中最后一个节点的指针均指向表头节点
D. 循环链表实现了空表与非空表运算的统一
解析:循环链表是指在单链表的第1个节点前增加一个表头节点,队头指针指向表头节点,最后一个节点的指针域的值由NULL改为指向表头节点。循环链表是线性表的一种链式存储结构,循环队列是队列的一种顺序存储结构。故本题答案为B选项。
4.下列叙述中正确的是( )。(A)
A. 二分查找只适用于顺序存储的有序线性表
B. 二分查找适用于任何存储结构的有序线性表
C. 二分查找适用于有序循环链表
D. 二分查找适用于有序双向链表
解析:二分查找(又称对分查找)只适用于顺序存储的有序线性表。在此所说的有序线性表是指表中的元素按值非递减排列(从小到大排列,但允许相邻元素值相等)。故本题答案为A选项。
5.下列描述中不属于软件需求分析阶段任务的是( )。(B)
A. 编写软件需求规格说明书
B. 软件的总体结构设计
C. 软件的需求分析
D. 软件的需求评审
解析:软件需求是指用户对目标软件系统在功能、行为、性能、设计约束等方面的期望。需求分析阶段的任务可以分为4个方面:需求获取、需求分析、编写需求规格说明书和需求评审。软件的总体结构设计属于软件设计阶段的任务。故本题答案为B选项。
6.通常软件测试实施过程的步骤是( )。(B)
A. 集成测试、确认测试、系统测试
B. 单元测试、集成测试、确认测试
C. 确认测试、集成测试、单元测试
D. 单元测试、集成测试、回归测试
解析:软件测试的实施过程主要有4个步骤:单元测试、集成测试、确认测试(验收测试)和系统测试。故本题答案为B选项。
7.在关系数据库设计中,关系模式是用来记录用户数据的( )。(D)
A. 实体
B. 视图
C. 属性
D. 二维表
解析:关系模式采用二维表来表示关系,简称表。故本题答案为D选项。
8.某图书集团数据库中有关系模式R(书店编号,书籍编号,库存数量,部门编号,部门负责人),其中要求:①每个书店的每种书籍只在该书店的一个部门销售;②每个书店的每个部门只有一个负责人;③每个书店的每种书籍只有一个库存数量。则关系模式R最高是( )。(B)
A. 1NF
B. 2NF
C. 3NF
D. BCNF
解析:由题可知关系模式R有以下3个函数依赖:
(书店编号,书籍编号)→部门编号;
(书店编号,部门编号)→部门负责人;
(书店编号,书籍编号)→库存数量。
由此可知,(书店编号,书籍编号)可以唯一标识关系模式R中的每个元组,因此属于关系模式的主键。在此关系模式中,每个属性都是不可再分的,R属于1NF,且\\
9.下列定义变量的语句中错误的是( )。(D)
A. int_int;
B. double int_;
C. char For;
D. float US$;
解析:C语言规定,变量名必须符合标识符的命名规则。D选项中包含非法字符\\
10.以下不属于C语言整数的是( )。(A)
A. 12f
B. 25u
C. —32
D. +20L
解析:C语言中整型常量,从表示形式来看,有十进制、八进制或十六进制;从符号位来看,有有符号整数和无符号整数两类。A选项中的\\
11.若有定义\\(B)
A. i=(a+k)<=(i+k);
B. i=a%11;
C. a=a++,i++;
D. i=!a;
解析:运算符\\
12.若有定义\\(A)
A. (x%=k)—(k%=5)
B. x%=(k%=5)
C. x%=(k—k%5)
D. x%=k—k%5
解析:A选项中,表达式\\
13.有以下程序:
#include <stdio.h>
void main()
{
double x=3.14159:
printf(\\(A)
A. 3.142000
B. 3.141000
C. 3.143000
D. 3.140000
解析:根据算术表达式和运算符的优先级与结合性,表达式\\
14.下列叙述中正确的是( )。(A)
A. 在switch语句中不一定使用break语句
B. 在switch语句中必须使用default语句
C. break语句必须与switch语句中的case配对使用
D. break语句只能用于switch语句
解析:default语句在switch语句中可以省略,所以B选项错误;switch语句中并非每个case后都需要使用break语句,所以C选项错误;break语句还可以用于for等循环结构中,所以D选项错误。故本题答案为A选项。
15.若变量已正确定义,有以下程序段\\(A)
A. 0,1
B. 0,0
C. 1,1
D. 程序进入无限循环
解析:第1次首先执行循环体,输出i的值为0,然后判断while的条件\\
16.有以下程序:
#include <stdio.h>
#include <math.h>
main()
{
int s;float n,t,pai;
t=1,pai=0,n=1.0,s=1;
while(fabs(t)>1.0e—6)
{
pai+=t:
n+=2;s=—s
本文档预览:3600字符,共7109字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载