国家二级C语言机试(选择题)模拟试卷309
选择题
1.数据的存储结构是指(D)
A. 存储在外存中的数据
B. 数据所占的存储空间量
C. 数据在计算机中的顺序存储方式
D. 数据的逻辑结构在计算机中的表示
解析:在对数据进行处理时,各数据元素在计算机中的存储关系,即为数据的存储结构。
2.己知char a;int b:float c;double d;则表达式a-b+c-d结果为( )型。(A)
A. double
B. float
C. int
D. char
解析:C语言中允许进行不同数据类型的混合运算,但在实际运算时,要先将不同类型的数据转化成同一类型再进行运算。类型转换的一般规则是:①运算中将所有char型转换成int型,float型转换成double型;②低级类型服从高级类型,并进行相应的转换,数据类型由低到高的顺序为:char->int->unsigned->long->float->double;⑨赋值运算中最终结果的类型,以赋值运算符左边变量的类型为准,即赋值运算符右端值的类型向左边变量的类型看齐,并进行相应转换。
3.下列数据结构中,能够按照“先进后出”原则存取数据的是(B)
A. 循环队列
B. 栈
C. 队列
D. 二叉树
解析:栈按照“先进后出”(FILO)或“后进先出”(LIFO)组织数据;队列是“先进先出”(FIFO)或“后进后出”(LILO)的线性表。
4.在长度为n的有序线性表中进行二分查找,最坏情况下需要比较的次数是( )。(C)
A. O(n)
B. O(n2)
C. O(log2n)
D. O(nlog2n)
解析:当有序线性表为顺序存储时才能用二分法查找。可以证明的是对于长度为n的有序线性表。在最坏情况下,二分法查找只需要比较log2n次,而顺序查找需要比较n次。
5.以下叙述中正确的是(C)
A. 在C程序中的八进制和十六进制,可以是浮点数
B. 八进制数的开头要使用英文字母o,否则不能与十进制区分开
C. 整型变量可以分为int型、short型、。long型和unsigned型四种
D. 英文大写字母X和英文小写字母x都可以作为二进制数字的开头字符
解析:整型变量分为以下4种类型:
①基本型:以int表示。
②短整型:以short int表示,或以short表尔。
③长整型:以long jnt表示,或以long表示。
④无符号型:以unsigned int表示,选项C)正确,实型常量仅有十进制表示形式,八进制以数字0开头,十六进制开头为0x或者0X,不是二进制。
6.判断char型变量c1是否为小写字母的正确表达式为( )。(D)
A. ’a’<=c1<=’z’
B. (c1>=a)&&(c1<=z)
C. (’a’)=c1 ‖ (’z’<=c1)
D. (c1>=’a’)&&(c1<=’z’)
解析:C语言规定,字符常量在程序中要用单引号括起来。首先判断c1是否为小写字母的主要条件“c1>=’a’”和“c1<=’z’”是逻辑与关系,其次选项A)的这种形式C语言中没有,所以选项D)正确。
7.软件测试用例包括(C)
A. 被测程序和测试规程
B. 测试计划和测试数据
C. 输入数据和预期输出结果
D. 输入数据和输出数据
解析:测试用例(Test Case)是为测试设计的数据,由测试输入数据和与之对应的预期输出结构两部分组成。测试用例的格式为:[(输入值集),(输出值集)]
8.在黑盒测试方法中,设计测试用例的根据是( )。(D)
A. 数据结构
B. 模块间的逻辑关系
C. 程序调用规则
D. 软件要完成的功能
解析:黑盒测试方法也称功能测试或数据驱动测试。黑盒测试是对软件已经实现的功能是否满足需求进行测试和验证。它完全不考虑程序内部的逻辑结构和内部特征,只依据程序的需求和功能规格说明,检查程序的功能是否符合它的功能要求。
9.设二叉树的前序序列与中序序列均为ABCDEFGH,则该二叉树的后序序列为(A)
A. HGFEDCBA
B. ABCDEFGH
C. ABCDHGFE
D. DCBAHGFE
解析:前序遍历(DLR)是二叉树遍历的一种,也叫做先根遍历、先序遍历、前序周游,可记做根左右;中序遍历(LDR)是二叉树遍历的一种,也叫做中根遍历、中序周游,可记做左根右:后序遍历(LRD)是二叉树遍历的一种,也叫做后根遍历、后序周游,可记做左右根。根据题中前序和中序序列均为ABCDEFGH,可画出二叉树,该二叉树是一个子结点全部在右侧二叉树,然后根据后序遍历方法,可得出后序遍历为HGFEDCBA。
10.设表的长度为n。在下列算法中,最坏情况下时间复杂度最高的是(B)
A. 堆排序
B. 希尔排序
C. 有序链表查找
D. 循环链表中寻找最大项
解析:希尔排序(Shell Sort)是插入排序的一种。也称缩小增量排序,是直接插入排序算法的一种更高效的改进版本。排序方法最坏时间复杂度:直接插入为O(n2)、简单选择为O(n2)、起泡排序为O(n2)、快速排序为O(n2)、堆排序为O(nlog2n)、归并排序为O(nlog2n)。
11.一名教师可讲授多门课程,一门课程可由多名教师讲授。则实体教师和课程间的联系是( )。(D)
A. 1:1联系
B. 1:m联系
C. m:1联系
D. m:n联系
解析:因为一名教师可讲授多门课程,而一门课程又能由多名教师讲授,所以教师和课程之间是多对多的关系,可以表示为m:n,选择D。
12.在关系模型中,每一个二维表称为一个(A)
A. 关系
B. 属性
C. 元组
D. 主码(键)
解析:每个二维表代表一个关系,由表框架及表的元组组成。
13.有以下程序
main( ){
inta=1,b=2,c=3,d:0;
if(a::1&&b++=2)
if(b!=21‖c-!=3)
printf(’’%d,%d,%d,%\\
’’,a,b,c);
elseprintff’’%d,%d,%d,%\\
’’,a,b,c);
elseprintf(’’%d,%d,%d\\
’’,a,b,c);}
程序运行后的输出结果是(C)
A. 1,3,2
B. 1,2,3
C. 1,3,3
D. 3,2,1
解析:a,b,c,d初始值分别为l,2,3,0。嵌套的if语句中,第一个if中,表达式a=1&&b++=2值为1,执行嵌套的if分支,此时b=3,bI_2成立,由于运算符是11,不管后面一个表达式的值是不是1,其整个表达式的值总是1,c-!=3表达式不执行,最后打印出a.b,c的值是1,3,3。
14.关于do循环体while(条件表达式);以下叙述中正确的
本文档预览:3600字符,共12180字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载