国家二级(C语言)机试模拟试卷153
选择题
1.算法的空间复杂度是指( )。(A)
A. 算法在执行过程中所需要的计算机存储空间
B. 算法所处理的数据量
C. 算法程序中的语句或指令条数
D. 算法在执行过程中所需要的临时工作单元数
解析:算法的空间复杂度是指算法在执行过程中所需要的计算机存储空间。通常用o()来表示。
2.对于循环队列,下列叙述中正确的是( )。(D)
A. 队头指针是固定不变的
B. 队头指针一定大于队尾指针
C. 队头指针一定小于队尾指针
D. 队头指针可以大于队尾指针,也可以小于队尾指针
解析:在循环队列中,用队尾指针(rear)指向队列中的队尾元素,用队头指针(front)指向队头元素的前一个位置。在循环队列中,一般情况下rear>front,当存储空间的最后一个位置被使用,而新元素要入队时,如果存储空间的第一个位置空闲,便可将元素插入到第一个位置,此时存储空间的第一个位置作为队尾,便有front>rear。
3.下列数据结构中,能够按照“先进后出”原则存取数据的是( )。(B)
A. 循环队列
B. 栈
C. 队列
D. 二叉树
解析:栈是按照“先进后出”原则在表特定的一端进行插入和删除运算操作的线性表。
4.下列选项中不属于结构化程序设计原则的是( )。(A)
A. 可封装
B. 自顶向下
C. 模块化
D. 逐步求精
解析:结构化程序设计的基本原则包括:①模块化设计;②自顶向下原则;③逐步求精原则;④限制使用goto语句。可封装是面向对象的设计思想。
5.面向对象方法中,继承是指( )。(D)
A. 一组对象所具有的相似性质
B. 一个对象具有另一个对象的性质
C. 各对象之间的共同性质
D. 类之间共享属性和操作的机制
解析:继承是面向对象方法的一个主要特征,是使用已有的类的定义作为基础建立新类的定义技术。在广义上来说,继承是指能够直接获得已有的性质和特征,而不必重复定义它们,因而说继承是指类之间共享属性和操作的机制。
6.以下叙述中正确的是( )。(D)
A. 程序设计的任务就是编写程序代码并上机调试
B. 程序设计的任务就是确定所用数据结构
C. 程序设计的任务就是确定所用算法
D. 以上三种说法都不完整
解析:程序设计是指设计、编程、调试程序的方法和过程,通常分为4个阶段:①问题建模;②算法设计;③编写代码;④编译调试。其工作内容涉及有关的基本概念、工具及方法,是目标明确的智力活动。
7.在软件开发中,需求分析阶段产生的主要文档是( )。(B)
A. 可行性分析报告
B. 软件需求规格说明书
C. 概要设计说明书
D. 集成测试计划
解析:可行性分析报告是在可行性分析阶段产生的,A选项错误;概要设计说明书是总体设计阶段产生的文档,C选项错误;集成测试阶段是在概要设计阶段编写的文挡,D选项错误。需求规格说明书是后续工作如设计、编码等需要的重要参考文档。
8.软件详细设计产生的图如下:
(C)
A. N-S图
B. PAD图
C. 程序流程图
D. E-R图
解析:程序流程图基本图符有3种:控制流(用箭头表示)、加工步骤(用方框表示)、逻辑条件(用菱形表示)。控制结构有5种:①顺序结构;②选择结构;③多分支选择结构;④后判断重复型结构;⑤先判断重复型结构。题目中是选择结构的程序流程图。
9.在黑盒测试方法中,设计测试用例的主要依据是( )。(B)
A. 程序内部逻辑
B. 程序外部功能
C. 程序数据结构
D. 程序程序流程
解析:黑盒测试是对软件已经实现的功能是否满足需求进行测试和验证。黑盒测试完全不考虑程序内部的逻辑结构和内部特性,只根据程序的需求和功能规格说明,检查程序的功能是否符合它的功能说明。故B选项正确。
10.有三个关系R,S和T如下:
(D)
A. 选择
B. 投影
C. 交
D. 并
解析:选择和投影操作对单个关系进行操作,选择运算是对行的操作,投影运算是对列的操作,运算结果是一个关系。交和并运算要求参与运算的表具有相同的属性,交运算的结果是两个表的公共部分,并运算的结果包含两个表的所有元素。
11.下面是有关C语言字符数组的描述,其中错误的是( )。(D)
A. 不可以用赋值语句给字符数组名赋字符串
B. 可以用输入语句把字符串整体输入给字符数组
C. 字符数组中的内容不一定是字符串
D. 字符数组只能存放字符串
解析:字符数组可以用来存放单个的字符或者字符串。
12.计算机能直接执行的程序是( )。(D)
A. 源程序
B. 目标程序
C. 汇编程序
D. 可执行程序
解析:由高级语言编写的程序称为“源程序”,由二进制代码表示的程序称为“目标程序”。由汇编语言编写的程序称为“汇编程序”。对于计算机本身来说,它只能接收和处理由0和1的代码构成的二进制指令和数据。所以计算机能识别的程序是“目标程序”,而计算机可以直接执行的程序是可执行程序,即扩展名为.exe的程序。
13.以下选项中,能用作用户标识符的是( )。(C)
A. void
B. 8_8
C. _0_
D. unsigned
解析:标识符是由若干个字符组成的字符序列,用来命名程序的一些实体。C语言定义标识符应遵循以下六种规则:①标识符由字母、数字或下画线组成;②第一个字符必须是字母或下画线;③标识符最多由274个字符组成;④在标识符中严格区分大小写字母;⑥关键字不能作为自定义的标识符在程序中使用。
14.若有以下程序段:
int r=8;
printf(\\(C)
A. 16
B. 8
C. 4
D. 2
解析:C语言中“>>”是对二进制的右移运算符,右移相当于将原数做除二操作,它将原数右移相应位数,并将移出的位信息舍去,在高位补0,将所得的结果再赋值给变量。本题中8的二进制为00001000,右移一位得到00000100,所以是4。
15.有以下定义语句,编译时会出现编译错误的是( )。(C)
A. char a=’a’
B. char a=’\n’;
C. char a=’aa’;
D. char a=’\x2d’
解析:本题中a为一个字符型变量,只能为其赋值一个字符常量。C项中’aa’不是字符常量,所以会编译错误。BD两项为转义字符,编译可以通过。
16.有以下程序:
#include<stdio.h>
main()
{
char c1,c2;
c1=’A’
本文档预览:3600字符,共15254字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载