国家二级C++机试(选择题)模拟试卷503
选择题
1.下列关于栈叙述正确的是( )。(A)
A. 栈顶元素最先能被删除
B. 栈顶元素最后才能被删除
C. 栈底元素永远不能被删除
D. 以上三种说法都不对
解析:栈是先进后出的线性表,栈顶的元素最先被删除,栈底的元素最后被删除。
2.有如下程序段:
int i=4;int j=1;
int main(){
int i=8,j=i;
cout<<i<<j<<endl;
}
运行时的输出结果是( )。(C)
A. 44
B. 41
C. 88
D. 81
解析:这个程序定义了全局整型对象i和j,其值分别等于4和l。而在主函数中定义了局部整型对象i和j,i值赋予8,再把i值赋给j,接着输出i和j的值,所以其结果为88。这个题目要注意的一点是,全局整型对象i和j和主函数中定义了局部整型对象i和i,在计算机内存中表示的是不同的存储单元。它们的值是独自存放的,互相不同。
3.若有定义“int x=4,y=5;”,则表达式“y>x++?x一:y++”的值为( )。(C)
A. 3
B. 4
C. 5
D. 6
解析:在表达式“y>x++?x-:y++”中,由于自加(++)运行符的优前级高于比较运算符(>),所以首先进行自加运算,即变量x的值前自加l,等于5,此时表达式y>x不成立,所以整个表达式的值等于y++的值,由于y++是后自加运算,所以其值等于5。
4.下列叙述中正确的是( )。(B)
A. 线性表的链式存储结构与顺序存储结构所需要的存储空间是相同的
B. 线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构
C. 线性表的链式存储结构所需要的存储空间一般要少于顺序存储结构
D. 上述三种说法都不对
解析:线性表的存储分为顺序存储和链式存储。在顺序存储中,所有元素所占的存储空间是连续的,各数据元素在存储空间中是按逻辑顺序依次存放的。所以每个元素。只存储其值就可以了,而在链式存储的方式中,将存储空间的每一个存储结点分为两部分,一部分用于存储数据元素的值,称为数据域;另一部分用于存储下一个元素的存储序号,称为指针域。所以线性表的链式存储方式比顺序存储方式的存储空间要大一些。
5.下列叙述中正确的是( )。(B)
A. 有一个以上根结点的数据结构不一定是非线性结构
B. 只有一个根结点的数据结构不一定是线性结构
C. 循环链表是非线性结构
D. 双向链表是非线性结构
解析:在数据结构中,树这类的的数据结构只有一个根结点,但它不是线性结构。
6.下列叙述中正确的是(A)
A. 对长度为n的有序链表进行查找,最坏情况下需要的比较次数为n
B. 对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(n/2)
C. 对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(log2n)
D. 对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(nlog2n)
解析:本题主要考查的知识点为查找技术。顺序查找的使用情况:①线性表为无序表:②表采用链式存储结构。二分法查找只适用于顺序存储的有序表,并不适用于线性链表。
7.下列描述中,不符合良好程序设计风格要求的是( )。(A)
A. 程序的效率第一,清晰第二
B. 程序的可读性好
C. 程序中要有必要的注释
D. 输入数据前要有提示信息
解析:一般来讲,程序设计风格是指编写程序时所表现出的特点、习惯和逻辑思路。程序设计风格总体而言应该强调简单和清晰,程序必须是可以理解的。著名的“清晰第一,效率第二”的论点已成为当今主导的程序设计风格。
8.设有一个栈与一个队列的初始状态均为空。现有一个序列A,B,C,D,E,F,G,H。先分别将序列中的前4个元素依次入栈,后4个元素依次入队;然后分别将栈中的元素依次退栈,再将队列中的元素依次退队。最后得到的序列为(A)
A. D,C,B,A,E,F,G,H
B. D,C,B,A,H,G,F,E
C. A,B,C,D,E,F,G,H
D. A,B,C,D,H,G,F,E
解析:栈(stack)又名堆栈,它是一种运算受限的线性表。其限制是仅允许在表的一端进行插入和删除运算。因此栈的出栈顺序是先入后出,所以顺序是D,C,B,A。
队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列足一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。因此,队的出队顺序是,先入先出,所以顺序是E,F,Q,H。最后的顺序是:D,C,B,A,E,F,G,H。
9.下列选项中不符合良好程序设计风格的是( )。(D)
A. 源程序要文档化
B. 数据说明的次序要规范化
C. 避免滥用goto语句
D. 模块设计要保证高耦合、高内聚
解析:一般来讲,程序设计风格是指编写程序时所表现出的特点、习惯和逻辑思路。程序设计风格总体而言应该强调简单和清晰,程序必须是可以理解的。可以认为,著名的“清晰第一、效率第二”的论点已成为当今主导的程序设计风格。
良好的程序设计风格主要应注重和考虑下列几个因素:
①源程序文档化,包括下列三个方面:A)符号的命名应具有一定的含义;B)正确的注释能够帮助读者理解程序;C)视觉组织,可以在程序中利用空格、空行、缩进等技巧使程序层次清晰。
②数据说明的方法,包括下列三个方面:A)数据说明的次序规范化;B)说明语句中变量安排有序化;C)使用注释来说明复杂数据的结构。
③语句的结构应该简单直接,不应该为提高效率而把语句复杂化。
④输入和输出方式和风格应尽可能方便用户的使用。
10.为了提高函数调用的实际运行速度,可以将较简单的函数定义为( )。(A)
A. 内联函数
B. 重载函数
C. 递归函数
D. 函数模板
解析:c++引入内联函数的原因是用它来取代c中的预处理宏函数。两者的区别在于,宏函数是由预处理器对宏进行替换,而内联函数是通过编译器来实现的。内联函数在调用时像宏函数一样展开,所以它没有一般函数的参数压栈和退栈操作,减少了调用开销,因此,内联函数比普通函数有更高的执行效率。
11.软件设计中模块划分应遵循的准则是( )。(B)
A. 低内聚低耦合
B. 高内聚低耦合
C. 低内聚高耦合
D. 高内聚高耦合
解析:耦合性和内聚性是模块独立性的两个定性标准,各模块的内聚性越强,则耦合性越弱。软件设计应该遵循高内聚低耦合。
12.下列描述中正确的是(D)
A. 程序就是软件
B. 软件开发不受计算机系统的限制
C. 软件既是逻辑实体,又是物理实体
D. 软件是程序、数据与相关文档的集合
解析:计算机软件与硬件是计算机系统中相互依存的两部分。计算机软件是包括程序、数据及相关文档的完整集合。软件由两部分组成:一部分是机器可执行的程序和数据;二是机器不可执行的,与软件开发、运行、维护、使用等有关的文档。软件具有以下
本文档预览:3600字符,共9485字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载