国家二级C语言机试(选择题)模拟试卷308
选择题
1.下列叙述中正确的是( )。(C)
A. 非完全二叉树可以采用顺序存储结构
B. 有两个指针域的链表就是二叉链表
C. 有的二叉树也能用顺序存储结构表示
D. 顺序存储结构一定是线性结构
解析:在计算机中,二叉树为非线性结构,通常采用链式存储结构,但对于满二叉树和完全二叉树来说,可以按层进行顺序存储。因此A项错误,C项正确。虽然满二叉树和完全二叉树可以采用顺序存储结构,但仍是一种非线性结构,因此D项错误。双向链表也有两个指针域,因此B项错误。
2.设栈的顺序存储空间为S(1: 50),初始状态为top=0。现经过一系列入栈与退栈运算后,top=20,则当前栈中的元素个数为( )。(C)
A. 30
B. 29
C. 20
D. 19
解析:在栈中,top位置直接反映栈中元素的个数,top=20,则说明当前栈中的元素个数为20。
3.下列排序方法中,最坏情况下比较次数最少的是(D)
A. 冒泡排序
B. 简单选择排序
C. 直接插入排序
D. 堆排序
解析:冒泡排序、简单选择排序和直接插入排序法在最坏的情况下比较次数为:n(n-1)/2。而堆排序法在最坏的情况下需要比较的次数为O(nlog 2 n)。其中堆排序的比较次数最少。
4.下面不属于需求分析阶段任务的是 ’(D)
A. 确定软件系统的功能需求
B. 确定软件系统的性能需求
C. 需求规格说明书评审
D. 制定软件集成测试计划
解析:需求分析阶段的工作可分为4个阶段:需求获取、需求分析、编写需求规格说明书、需求评审。
5.下面属于黑盒测试方法的是(C)
A. 语句覆盖
B. 逻辑覆盖
C. 边界值分析
D. 路径覆盖
解析:采用黑盒技术设计测试用例的方法有:等价类划分、边界值分析、错误推测、因果图和综合策略。
6.软件(程序)调试的任务是(A)
A. 诊断和改正程序中的错误
B. 尽可能多地发现程序中的错误
C. 发现并改正程序中的所有错误
D. 确定程序中错误的性质
解析:在对程序进行了成功的测试之后将进入程序调试(通常称Dcbug,即排错)。程序调试的任务是诊断和改正程序中的错误。它与软件测试不同,软件测试是尽可能多地发现软件中的错误。先要发现软件的错误,然后借助于一定的调试工具去执行并找出错误的具体位置。软件测试贯穿整个软件生命期,调试主要在开发阶段。
7.有以下程序:
#include
mmn()
{
unsigned chaur a=8,c;
c=a>>3:
pnnff(“%d\n”,c);
}
程序运行后的输出结果是( )。(C)
A. 32
B. 16
C. 1
D. 0
解析:字符常量与其ASCⅡ码值一一对应,在计算的时候,可以使用该字符的ASCⅡ码参与运算,输出时会根据格式控制符输出对应的字符或者ASCⅡ码。右移运算符“>>”的运算规则是把左边运算数的各二进制位全部右移n位,n取决于“>>”右边的数值。字符a的ASCⅡ码值为8,对应二进制为1000,所以a>>3=1,输出的字符c的ASCⅡ码值为1,答案选C。
8.下面描述中正确的是(C)
A. 软件调试是为了改善软件的性能
B. 软件测试要确定错误的性质和位置
C. 软件测试是软件质量保证的重要手段
D. 软件调试的任务是发现并改正程序中的错误
解析:软件测试(Software Testing),描述一种用来促进鉴定软件的正确性、完整性、安全性和质量的过程。
9.下面的for语句的循环次数为( )。
for(x=1,y=0;(y!=19)&&(x<6);x++);(D)
A. 是无限循环
B. 循环次数不定
C. 最多执行6次
D. 最多执行5次
解析:本题考查for循环。只考虑x的取值变化,x从1取到5,可以循环5次,但是并不知道y是如何变化的,有可能出现y=19提前跳出循环的情况,所以是最多执行了5次。
10.数据库设计中反映用户对数据要求的模式是(C)
A. 内模式
B. 概念模式
C. 外模式
D. 设计模式
解析:概念模式,是由数据库设计者综合所有用户的数据,按照统一的观点构造的全局逻辑结构,是对数据库中全部数据的逻辑结构和特征的总体描述,是所有用户的公共数据视图(全局视图)。它是由数据库管理系统提供的数掂模式描述语言(Data Description Language,DDL)来描述、定义的,体现、反映了数据库系统的整体观。
外模式,对应于用户级,它是某个或某几个用户所看到的数据库的数据视图,是与某一应用有关的数据的逻辑表示。外模式是从模式导出的一个子集,也称为子模式或用户模式,它是用户的数据视图,也就是用户所见到的数据模式,它反映了用户对数据的要求。包含模式中允许特定用户使用的那部分数据,用户可以通过外模式描述语言来描述、定义对应于用户的数据记录(外模式),也可以利用数据操纵语言(Data Manipulation Language,DML)对这些数据记录进行描述。
内模式,对应于物理级,它是数据库中全体数据的内部表示或底层描述,是数据库最低一级的逻辑描述,它描述了数据在存储介质上的存储方式和物理结构,对应着实际存储在外存储介质上的数据库。内模式由内模式描述语言来描述、定义,它是数据库的存储观。
11.以下叙述中正确的是(B)
A. 当break出现在循环体中的switch语句体内时,其作用是跳出该switch语句体,并中止循环体的执行
B. 只能在循环体内和switch语句体内使用break语句
C. continue语句的作用是:在执行完本次循环体中剩余语句后,中止循环
D. 在while语句和do—while语句中无法使用continue语句
解析:break语句可以使程序流程跳出switch语句体,也可用break语句在循环结构中终止循环体,从而提前结束循环,而当break出现在循环体中的switch语句体内时,其作用只是跳出该switch语句体,并不能中止循环体的执行。若想强行终止循环体的执行,可以在循环体中,但并不在switch语句中设置break语句,满足某种条件则跳出循环体。continue语句的作用是结束本次循环,在while和do.while循环中,continue语句使得流程直接跳到循环控制条件的测试部分,然后决定循环是否继续进行。
12.下列定义变量的语句中错误的是(A)
A. floatUS$;
B. double int_;
C. char For;
D. int_int;
解析:C语言规定,变量的标识符只能由字母、数字或下划线3种字符组成,且首字符必须为字母或下划线。在C语言中大写字母和小写字母被认为是两个不同的字符。选项B定义的变量标识符int_和选项D定义的变量标识符_int与C语言的关键字int是不同的,是正确的变量标识。选项C定义的变量标识符For与C语言中的关键字for是两个不同的标识符,而在选项A包含有特殊字符$
本文档预览:3600字符,共11553字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载