国家二级C语言(数据结构与算法)机试模拟试卷1(题后含答案及解析)
国家二级(C语言)机试模拟试卷123(题后含答案及解析)

国家二级(C语言)机试模拟试卷123(题后含答案及解析)题型有:1. 选择题 2. 程序填空题 3. 程序修改题 4. 程序设计题选择题1.在关系代数运算中,有5种基本运算,它们是( )。
A.并(∪)、差(-)、交(∩)、除(÷)和笛卡儿积(×)B.并(∪)、差(-)、交(∩)、投影(π)和选择(σ)C.并(∪)、交(∩)、投影(π)、选择(σ)和笛卡儿积(×)D.并(∪)、差(-)、投影(π)、选择(σ)和笛卡儿积(×)正确答案:D解析:并、差、笛卡儿积、投影和选择是5种基本的运算,其他运算即交、连接和除,均可以通过5种基本的运算来表达。
2.在数据库系统的组织结构中,下列( )映射把用户数据库与概念数据库联系了起来。
A.外模式/模式B.内模式/外模式C.模式/内模式D.内模式/模式正确答案:A解析:数据库有两层映像,即外模式/模式和模式/内模式映像。
模式/内模式映像定义数据库全局逻辑结构与存储结构之间的对应关系。
3.下列关于线性链表的描述中,正确的是( )。
Ⅰ、只含有一个指针域来存放下一个元素地址Ⅱ、指针域中的指针用于指向该结点的前一个或后一个结点(即前件或后件)Ⅲ、结点由两部分组成:数据域和指针域。
A.仅Ⅰ、ⅡB.仅Ⅰ、ⅢC.仅Ⅱ、ⅢD.全部正确答案:D解析:在定义的链表中,若只含有一个指针域来存放下一个元素地址,称这样的链表为单链表或线性链表。
在链式存储方式中,要求每个结点由两部分组成:一部分用于存放数据元素值,称为数据域;另一部分用于存放指针,称为指针域。
其中指针用于指向该结点的前一个或后一个结点(即前件或后件)。
4.下面关于数据库三级模式结构的叙述中,正确的是( )。
A.内模式可以有多个,外模式和模式只有一个B.外模式可以有多个,内模式和模式只有一个C.内模式只有一个,模式和外模式可以有多个D.模式只有一个,外模式和内模式可以有多个正确答案:B解析:数据库的三级模式结构是指数据库系统的外模式、模式和内模式。
国家二级(C语言)笔试模拟试卷123(题后含答案及解析)

国家二级(C语言)笔试模拟试卷123(题后含答案及解析)题型有:1. 选择题 2. 填空题选择题(1-10、21-40每题2分,11-20每题1分,共70分)下列各题A、B、C、D四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上。
1.在数据结构中,从逻辑可以把数据结构分为______。
A.动态结构和静态结构B.紧凑结构和非紧凑结构C.线性结构和非线性结构D.内部结构和外部结构正确答案:C解析:逻辑结构反映数据元素之间的逻辑关系,线性结构表示数据元素之间—对—的关系,非线性结构表示数据元素之间—对多或多对—的关系。
2.若进栈序列为1,2,3,4,进栈过程中可以出栈,则下列不可能的—个出栈序列是______。
A.1,4,3,2B.2,3,4,1C.3,1,4,2D.3,4,2,1正确答案:C解析:栈是—种后进先出表,选项C中,先出栈的是3,说明此时栈内必然有1,2,由于1先于2进栈,所以1不可能在2之前出栈,故选项C这种出栈序列是不可能的。
3.排序方法中,将整个无序序列分割成若干小的子序列并分别进行插入排序的方法,称为______。
A.希尔排序B.冒泡排序C.插入排序D.选择排序正确答案:A解析:希尔排序法的基本思想是:将整个无序序列分割成若干小的子序列分别进行插入排序。
4.在顺序表(3,6,8,10,12,15,16,18,21,25,30)中,用二分法查找关键码值11,所需的关键码比较次数为______。
A.2B.3C.4D.5正确答案:C解析:二分法查找是用关键码与线性表的中间元素比较,然后根据比较结果来判断是结束查找,还是在左边或右边子表按相同的方法继续查找。
本题中,与11比较的关键码分别为15,8,10,12四个。
5.对于n个结点的单向链表(无表头结点),需要指针单元的个数至少为______。
A.n-1B.nC.n+1D.2n正确答案:C解析:在n个结点的单向链表(无表头结点)中,每个结点都有—个指针单元(即指针域),加上头指针,至少需要n+1个指针单元。
计算机二级c语言试题及答案解析

计算机二级c语言试题及答案解析一、选择题1. 在C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A解析:关键字`struct`用于定义一个结构体,它允许将多个不同类型的数据项组合成一个单一的数据结构。
2. 下列哪个选项不是C语言中的运算符?A. %B. &&C. ::D. ||答案:C解析:`%`是取模运算符,`&&`是逻辑与运算符,`||`是逻辑或运算符,而`::`不是C语言中的运算符。
二、填空题1. 在C语言中,`________`关键字用于声明一个函数。
答案:int解析:在C语言中,`int`是用于声明一个函数的返回类型,表示该函数返回一个整数值。
2. 以下代码片段中,`________`用于定义一个名为`data`的数组,包含10个整数。
```cint data[10];```答案:int data[10];解析:`int data[10];`定义了一个名为`data`的数组,它包含10个整数。
三、编程题1. 编写一个C语言函数,计算并返回两个整数的和。
```cint add(int a, int b) {return a + b;}```答案:```cint add(int a, int b) {return a + b;}```解析:该函数接受两个整数参数`a`和`b`,计算它们的和,并返回结果。
2. 编写一个C语言程序,实现将一个字符串反转。
```c#include <stdio.h>#include <string.h>void reverse(char *str) {int len = strlen(str);for (int i = 0; i < len / 2; i++) { char temp = str[i];str[i] = str[len - i - 1];str[len - i - 1] = temp;}}int main() {char str[] = "Hello, World!";reverse(str);printf("Reversed string: %s\n", str); return 0;}```答案:```c#include <stdio.h>#include <string.h>void reverse(char *str) {int len = strlen(str);for (int i = 0; i < len / 2; i++) { char temp = str[i];str[i] = str[len - i - 1];str[len - i - 1] = temp;}}int main() {char str[] = "Hello, World!";reverse(str);printf("Reversed string: %s\n", str);return 0;}```解析:该程序定义了一个`reverse`函数,它接受一个字符串作为参数,并通过交换字符的方式将字符串反转。
国家二级C语言(数据结构与运算)机试模拟试卷1(题后含答案及解析)

国家二级C语言(数据结构与运算)机试模拟试卷1(题后含答案及解析)题型有:1. 选择题选择题1.对长度为n的线性表排序,在最坏情况下,比较次数不是n(n-1)/2的排序方法是A.快速排序B.冒泡排序C.直接插入排序D.堆排序正确答案:D解析:各种排序方法中最坏情况下需要比较的次数分别为:冒泡排序n(n-1)/2、快速排序n(n-1)/2、简单插入排序n(n-1)/2、希尔排序O(n1.5)、简单选择排序n(n-1)/2、堆排序O(nlog2n)。
知识模块:数据结构与运算2.下列关于栈的叙述正确的是A.栈按“先进先出”组织数据B.栈按“先进后出”组织数据C.只能在栈底插入数据D.不能删除数据正确答案:B解析:栈是限定在一端进行插入和删除的线性表,允许进行插入和删除元素的一端称为栈顶,另一端称为栈底。
栈是按照“先进后出”的原则组织数据的。
知识模块:数据结构与运算3.某二叉树有5个度为2的结点,则该二叉树中的叶子结点数是A.10B.8C.6D.4正确答案:C解析:根据二叉树的性质,在任意二叉树中,度为0的结点总是比度为2的结点多一个。
知识模块:数据结构与运算4.下列叙述中正确的是A.算法复杂度是指算法控制结构的复杂程度B.算法复杂度是指设计算法的难度C.算法的时间复杂度是指设计算法的工作量D.算法的复杂度包括时间复杂度与空间复杂度正确答案:D解析:算法复杂度,即算法在编写成可执行程序后,运行时所需要的资源,资源包括时间资源和内存资源。
一个算法的评价主要从时间复杂度和空间复杂度来考虑。
算法的时间复杂度是指执行算法所需要的计算工作量。
空间复杂度是指算法在计算机内执行时所需存储空间的度量。
知识模块:数据结构与运算5.下列叙述中正确的是A.循环队列有队头和队尾两个指针,因此,循环队列是非线性结构B.在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况C.在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况D.循环队列中元素的个数是由队头指针和队尾指针共同决定正确答案:D解析:循环队列中元素的个数是由队头指针和队尾指针共同决定的,元素的动态变化也是通过队头指针和队尾指针来反映的。
国家二级(C语言)笔试模拟试卷101(题后含答案及解析)

国家二级(C语言)笔试模拟试卷101(题后含答案及解析)题型有:1. 选择题 2. 填空题选择题(1-10、21-40每题2分,11-20每题1分,共70分)下列各题A、B、C、D四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上。
1.在下列选项中,______ 不是一个算法一般应该具有的基本特征。
A.确定性B.可行性C.无穷性D.拥有足够的情报正确答案:C解析:一个算法,一般应具有以下几个基本特征:①可行性②确定性③有穷性④拥有足够的情报。
2.希尔排序法属于______ 类型的排序法。
A.交换类排序法B.插入类排序法C.选择类排序法D.建堆排序法正确答案:B解析:希尔排序法的基本思想是:将整个无序序列分割成若干小的子序列分别进行插入排入。
所以希尔排序法属于插入类排序,但它对简单插入排序做了很大的改进。
3.下列关于队列的叙述中正确的是______。
A.在队列中只能插入数据B.在队列中只能删除数据C.队列是先进先出的线性表D.队列是先进后出的线性表正确答案:C解析:队列是指允许在一端进行插入、而在另一端进行删除的线性表。
它又称为“先进先出”或“后进后出”的线性表,体现了“先来先服务”的原则。
4.对长度为N的线性表进行顺序查找,在最坏情况下所需要的比较次数为______。
A.N+1B.NC.(N+1)/2D.N/2正确答案:B解析:在进行顺序查找过程中,如果被查的元素是线性表中的最后一个,或者被查元素根本不在线性表中,则为了查找这个元素需要与线性表中所有元素进行比较,这是顺序查找最坏的情况。
5.信息隐蔽的概念与下述______ 概念直接相关。
A.软件结构定义B.模块独立性C.模块类型划分D.模拟耦合度正确答案:B解析:信息隐蔽是指在一个模块内包含的信息(过程或数据),对于不需要这些信息的其他模块来说是不合晰问的。
模块独立性是指每个模块只完成系统要求的独立的子功能,并且与其他模块的联系最少且接口简单。
国家二级(C语言)机试历年真题试卷汇编1(题后含答案及解析)

国家二级(C语言)机试历年真题试卷汇编1(题后含答案及解析) 题型有:1. 选择题选择题1.下列叙述中正确的是( )。
【10年9月】A.线性表的链式存储结构与顺序存储结构所需要的存储空间是相同的B.线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构C.线性表的链式存储结构所需要的存储空间一般要少于顺序存储结构D.上述3种说法都不对正确答案:B解析:线性表的存储分为顺序存储和链式存储。
在顺序存储中,所有元素所占的存储空间是连续的,各数据元素在存储空间中是按逻辑顺序依次存放的。
所以每个元素只存储其值就可以了,而在链式存储的方式中,将存储空间的每一个存储结点分为两部分,一部分用于存储数据元素的值,称为数据域;另一部分用于存储下一个元素的存储序号,称为指针域。
所以线性表的链式存储方式比顺序存储方式的存储空间要大一些。
知识模块:公共基础知识2.下列叙述中正确的是( )。
【10年9月】A.在栈中,栈中元素随栈底指针与栈顶指针的变化而动态变化B.在栈中,栈顶指针不变,栈中元素随栈底指针的变化而动态变化C.在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化D.上述3种说法都不对正确答案:C解析:在栈中,允许插入与删除的一端称为栈顶,而不允许插入与删除的另一端称为栈底。
栈跟队列不同,元素只能在栈顶压入或弹出,栈底指针不变,栈中元素随栈顶指针的变化而动态变化,遵循后进先出的规则。
知识模块:公共基础知识3.软件测试的目的是( )。
【10年9月】A.评估软件可靠性B.发现并改正程序中的错误C.改正程序中的错误D.发现程序中的错误正确答案:D解析:软件测试的目的是为了发现程序中的错误,而软件调试是为了更正程序中的错误。
知识模块:公共基础知识4.下面描述中,不属于软件危机表现的是( )。
【10年9月】A.软件过程不规范B.软件开发生产率低C.软件质量难以控制D.软件成本不断提高正确答案:A解析:软件危机主要表现在以下6个方面:①软件需求的增长得不到满足;②软件开发成本和进度无法控制;③软件质量难以保证;④软件不可维护或维护程序非常低;⑤软件的成本不断提高;⑥软件开发生产率的提高赶不上硬件的发展和应用需求的增长。
计算机二级《C语言》模拟试题及答案3篇

计算机二级《C语言》模拟试题及答案第一篇:C语言基础知识1. C语言的发明人是谁?简要介绍一下他的背景。
2. int型变量的取值范围是多少?unsigned int呢?3. 请问下面这段代码输出的结果是什么?char str1[] = "hello";char str2[] = "world";strcat(str1, str2);printf("%s", str1);4. 以下哪些数据类型可以用来存储浮点数?A. floatB. doubleC. long doubleD. char5. 下列代码的输出结果是什么?int a = 1;long b = 2;float c = 3.0;printf("%ld\n", a + b + c);答案:1. C语言的发明人是丹尼斯·里奇(Dennis Ritchie)。
他于1941年出生在美国,是贝尔实验室研究员和计算机科学家。
在20世纪70年代,他和肯·汤普逊(Ken Thompson)合作,发明了UNIX操作系统和C语言。
C语言是一种高级计算机程序语言,在操作系统、编译器、数据库、游戏等领域被广泛使用。
丹尼斯·里奇因发明了C语言,被誉为“计算机编程之父”。
2. int型变量的取值范围是-2147483648到2147483647,unsigned int的取值范围是0到4294967295。
3. 输出结果为“helloworld”。
strcat是C语言的字符串拼接函数,将两个字符串连接成一个字符串。
在拼接之前,需要保证第一个字符串的数组足够大,以容纳两个字符串的内容。
如果第一个字符串不够大,程序会出现内存溢出等问题。
4. A、B、C三个数据类型可以用来存储浮点数。
5. 输出结果为“6”。
在printf函数中,%ld表示输出长整型数据,而c是一个float型变量。
国家二级(C语言)笔试模拟试卷1(题后含答案及解析)

国家二级(C语言)笔试模拟试卷1(题后含答案及解析)题型有:1. 选择题 2. 填空题选择题(1-10、21-40每题2分,11-20每题1分,共70分)下列各题A、B、C、D四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上。
1.算法的空间复杂度是指( )。
A.算法程序的长度B.算法程序中的指令条数C.算法程序所占的存储空间D.执行算法所需要的存储空间正确答案:D解析:算法的复杂度主要包括算法的时间复杂度和算法的空间复杂度。
所谓算法的时间复杂度是指执行算法所需要的计算工作量;算法的空间复杂度一般是指执行这个算法所需要的内存空间。
2.用链表表示线性表的优点是( )。
A.便于随机存取B.花费的存储空间较顺序存储少C.便于插入和删除操作D.数据元素的物理顺序与逻辑顺序相同正确答案:C解析:链式存储结构的结点空间可以动态申请和释放,其数据元素的逻辑次序靠结点的指针来指示,在进行插入和删除操作时不需要移动数据元素,故链式存储结构下的线性表便于插入和删除操作。
3.数据结构中,与所使用的计算机无关的是数据的( )。
A.存储结构B.物理结构C.逻辑结构D.物理和存储结构正确答案:C解析:数据结构一般包括三个方面的内容:数据的逻辑结构、存储结构及数据上的运算集合。
数据的逻辑结构只抽象的反映数据元素之间的逻辑关系,而不管它在计算机中的存储表示形式。
4.结构化程序设计主要强调的是( )。
A.程序的规模B.程序的效率C.程序设计语言的先进性D.程序的易读性正确答案:D解析:结构化程序设计方法的主要原则可以概括为自顶向下、逐步求精、模块化及限制使用goto语句,总的来说可使程序结构良好、易读、易理解、易维护。
5.软件设计包括软件的结构、数据、接口和过程设计,其中软件的过程设计是指( )。
A.模块间的关系B.系统结构部件转换成软件的过程描述C.软件层次结构D.软件开发过程正确答案:B解析:软件设计包括软件结构设计、数据设计、接口设计和过程设计,其中结构设计是定义软件系统各主要部件之间的关系;数据设计是将分析时创建的模型转化为数据结构的定义;接口设计是描述软件内部、软件和操作系统之间及软件与人之间如何通信;过程设计则是把系统结构部件转换成软件的过程性描述。
国家二级C语言机试(选择题)模拟试卷100(题后含答案及解析)

国家二级C语言机试(选择题)模拟试卷100(题后含答案及解析) 题型有:1. 选择题选择题1.数据结构主要研究的是数据的逻辑结构、数据的运算和( )。
A.数据的方法B.数据的存储结构C.数据的对象D.数据的逻辑存储正确答案:B解析:数据结构是研究数据元素及其之间的相互关系和数据运算的一门学科,它包含3个方面的内容,即数据的逻辑结构、存储结构和数据的运算。
2.一棵二叉树的前序遍历结果是ABCEDF,中序遍历结果是CBAEDF,则其后序遍历的结果是( )。
A.DBACEFB.CBEFDlAC.FDAEBCD.DFABEC正确答案:B解析:由于该二叉树的前序遍历结果是ABCEDF,显然A结点为根结点,所以后序遍历时A结点是最后遍历的,其后序遍历的结果为CBEFDA。
3.在数据处理中,其处理的最小单位是( )。
A.数据B.数据项C.数据结构D.数据元素正确答案:B解析:数据元素是由多个数据项组成,数据是能够被计算机识别、存储和加工处理的信息载体,数据处理的最小单位是数据项。
4.在数据库系统的内部结构体系中,索引属于( )。
A.模式B.内模式C.外模式D.概念模式正确答案:B解析:内模式又称物理模式,它给出了数据库物理存储结构与物理存取方法,如数据存储的文件结构、索引、集簇及hash等存取方式与存取路径,内模式的物理性主要体现在操作系统及文件级上,它还未深入到设备级上(如磁盘及磁盘操作)。
5.以下( )不属于对象的基本特征。
A.继承性B.封装性C.分类性D.多态性正确答案:A解析:对象具有特征:标识惟一性,指对象是可区分的:分类性,指可以将具有相同属性和操作的对象抽象成类;多态性,指同一个操作可以是不同对象的行为;封装性,从外面看只能看到对象的外部特征,而不知道也无需知道数据的具体结构以及实现操作的算法:模块独立性好,对象是面向对象的软件的基本模块,对象内部各种元素彼此结合得很紧密,内聚性强。
6.数据库系统的核心是( )。
国家二级C语言机试(C语言程序设计)模拟试卷1(题后含答案及解析)

国家二级C语言机试(C语言程序设计)模拟试卷1(题后含答案及解析)题型有:1. 选择题选择题1.若x为int变量,则以下语句的输出结果是( )。
x=1234;printf(“|\%-06d|n”,x);A.输出格式描述符不合法B.输出为|001234|C.输出为|1234|D.输出为|-01234|正确答案:C解析:本题主要考查C语言prinltf函数中格式控制字符串的使用,%表示格式说明的起始符号,“-”表示输出是否左对齐,“0”表示输出是空位是否填0。
在本题中格式字符串的“f”将原样输出。
若用格式描述’%6d’输出x值,则输出占6格,右对齐,左边用空格填满。
若用格式描述%06d,将输出x值,输出同上,只是左边用0填满。
若用格式描述%-06d,输出为左对齐即左边没有空位置,右边有空位置。
知识模块:C语言程序设计2.已知定义k为double类型变量,k=260.72631:p血t”%-6.2e \n”,k);则以上语句的输出结果是( )。
A.输出格式描述的域宽不够,不能输出B.输出为26.07e+01C.输出为2.6e+02D.输出为-2.64e2正确答案:C解析:在C语言中,使用e格式描述符输出浮点数时(浮点数将以指数形式输出),用户可指定输出数据的宽度和小数部分的位数,其一般形式为%m.he 或%-m.ne,其中m、n和字符“-”的含义均与上题所述相同。
需要指出的是,在不同的计算机系统中,虽然对指数部分应占宽度的规定不同,但是数值部分均按标准化指数形式输出(即小数点前必须有而且仅有一位非零数字)。
本题按标准化指数形式输出k值的整数部分,截去小数点并四舍五入,输出项k的实际宽度为9列,而格式说明中所给定的域宽为6,因此,将自动突破规定宽度,而按实际宽度输出,输出结果为2.6e+02。
知识模块:C语言程序设计3.若m是int型变量,n是noat型变量,所用的scanf调用语句格式为:scanf(“m=%d,n=%f,”&m,&n);则为了将数据10和66.6分别赋给m 和n,正确的输入应当是( )。
国家c语言二级机试题及答案

国家c语言二级机试题及答案一、选择题(每题2分,共40分)1. 在C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 下列哪个选项是正确的C语言函数声明?A. int function(int a, int b);B. int function(int, int);C. int function(int a; int b);D. int function(int a, int b)答案:A3. 在C语言中,哪个运算符用于取地址?A. *B. &C. %D. #答案:B4. 下列哪个选项是C语言中合法的数组声明?A. int a[10];B. int b[2,3];C. int c[2][3];D. int d[];答案:C5. 在C语言中,以下哪个选项是正确的字符串声明?A. char str[] = "Hello";B. char str[6] = "Hello";C. char str[5] = "Hello";D. char str[] = "Hello", "World";答案:A6. 在C语言中,以下哪个关键字用于定义一个枚举类型?A. enumB. structC. unionD. typedef答案:A7. C语言中,以下哪个选项是正确的文件包含指令?A. #include "stdio.h"B. #include <stdio.h>C. #include "stdio.h" <stdio.h>D. #include <stdio.h> "stdio.h"答案:B8. 在C语言中,以下哪个选项是正确的循环语句?A. do-whileB. do...whileC. do { ... } while (condition);D. do { ... } while;答案:C9. 下列哪个选项是C语言中合法的函数原型?A. int function();B. int function(int);C. int function(int a, int b);D. All of the above答案:D10. 在C语言中,以下哪个选项是正确的指针声明?A. int *ptr;B. int *ptr = 0;C. int *ptr = NULL;D. All of the above答案:D二、填空题(每题2分,共20分)1. 在C语言中,使用________关键字可以定义一个指针变量。
国家二级C语言机试(公共基础知识)模拟试卷1(题后含答案及解析)

国家二级C语言机试(公共基础知识)模拟试卷1(题后含答案及解析)题型有:1. 选择题选择题1.算法具有五个特性,以下选项中不属于算法特性的是A.有穷性B.简洁性C.可行性D.确定性正确答案:B解析:算法的五个特性分别是:有穷性、可行性、确定性、输入和输出。
知识模块:公共基础知识2.算法中,对需要执行的每一步操作,必须给出清楚、严格的规定。
这属于算法的A.正当性B.可行性C.确定性D.有穷性正确答案:C解析:本题考查算法的基本特征。
算法的可行性表示算法中执行的任何步骤都是可以被分解为基本的可执行的操作步;确定性是指算法的每一步骤必须有确切的含义;有穷性是指算法必须能在执行有限个步骤之后终止。
知识模块:公共基础知识3.以下关于算法的叙述错误的是A.算法可以用伪代码、流程图等多种形式来描述B.用流程图描述的算法可以用任何一种计算机高级语言编写程序代码C.一个正确的算法必须有输入D.一个正确的算法必须有输出正确答案:C解析:本题考查算法的基本概念。
选项C错误,算法不一定需要输入,但是一定有输出。
知识模块:公共基础知识4.算法的有穷性是指A.算法程序的运行时间是有限的B.算法程序所处理的数据量是有限的C.算法程序的长度是有限的D.算法只能被有限的用户使用正确答案:A解析:算法的有穷性,是指算法必须能在有限的时间内做完,即算法必须能在执行有限个步骤之后终止。
知识模块:公共基础知识5.下列叙述中正确的是A.算法就是程序B.设计算法时只需要考虑数据结构的设计C.设计算法时只需要考虑结果的可靠性D.以上三种说法都不对正确答案:D解析:所谓算法是指解题方案的准确而完整的描述。
是一组严谨地定义运算顺序的规则,并且每一个规则都是有效的,且是明确的,此顺序将在有限的次数下终止。
算法不等于程序,也不等于计算方法。
设计算法时不仅要考虑对数据对象的运算和操作,还要考虑算法的控制结构。
知识模块:公共基础知识6.算法的空间复杂度是指A.算法在执行过程中所需要的计算机存储空间B.算法所处理的数据量C.算法程序中的语句或指令条数D.算法在执行过程中所需要的临时工作单元数正确答案:A解析:算法的空间复杂度是指执行这个算法所需要的内存空间。
国家二级C语言(程序设计基础)机试模拟试卷1(题后含答案及解析)

国家二级C语言(程序设计基础)机试模拟试卷1(题后含答案及解析)题型有:1. 选择题选择题1.以下关于简单程序设计的步骤和顺序的说法中正确的是A.确定算法后,整理并写出文档,最后进行编码和上机调试B.首先确定数据结构,然后确定算法,再编码,并上机调试,最后整理文档C.先编码和上机调试,在编码过程中确定算法和数据结构,最后整理文档D.先写好文档,再根据文档进行编码和上机调试,最后确定算法和数据结构正确答案:B解析:本题考查简单程序设计的步骤,基本步骤是首先确定数据结构,然后确定使用的算法,再编码程序并上机调试,最后整理文档。
知识模块:程序设计基础2.针对简单程序设计,以下叙述的实施步骤顺序正确的是A.编码、确定算法和数据结构、调试、整理文档B.确定算法和数据结构、编码、调试、整理文档C.整理文档、确定算法和数据结构、编码、调试D.确定算法和数据结构、调试、编码、整理文档正确答案:B解析:简单程序设计实施步骤顺序正确的是:确定算法和数据结构、编码、调试、整理文档。
知识模块:程序设计基础3.下列叙述中正确的是A.程序执行的效率与数据的存储结构密切相关B.程序执行的效率只取决于程序的控制结构C.程序执行的效率只取决于所处理的数据量D.以上都不正确正确答案:A解析:影响程序执行效率的因素有很多,如数据的存储结构、程序处理的数据量、程序的算法等。
顺序存储结构和链式存储结构在数据插入和删除操作上的效率就存在差别。
其中,链式存储结构的效率要高一些。
知识模块:程序设计基础4.下列描述中,不符合良好程序设计风格要求的是A.程序的效率第一,消晰第二B.程序的可读性好C.程序中要有必要的注释D.输入数据前要有提示信息正确答案:A解析:一般来讲,程序设计风格是指编写程序时所表现出的特点、习惯和逻辑思路。
程序设计风格总体而言应该强调简单和清晰,程序必须是可以理解的。
著名的“清晰第一,效率第二”的论点已成为当今主导的程序设计风格。
计算机二级C语言模拟试题及答案

计算机二级C语言模拟试题及答案计算机二级C语言模拟试题及答案3月26-29日将举行全国计算机等级考试,在此之前,店铺为大家整理了二级c语言的笔试试题,希望对大家有所帮助!(1)以下数据结构属于非线性数据结构的是________。
A)队列 B)线性表 C)二叉树 D)栈(2)C知识点:栈和队列的定义;栈和队列的顺序存储结构及其基本运算评析:线性表、栈和队列等数据结构所表达和处理的数据以线性结构为组织形式。
栈是一种特殊的线性表,这种线性表只能在固定的一端进行插入和删除操作,允许插入和删除的一端称为栈顶,另一端称为栈底。
一个新元素只能从栈顶一端进入,删除时,只能删除栈顶的元素,即刚刚插入的元素。
所以栈又称后进先出表(Last In First Out)。
队列可看作是插入在一端进行,删除在另一端进行的线性表,允许插入的一端称为队尾,允许删除的一端称为队头。
在队列中,只能删除队头元素,队列的最后一个元素一定是最新入队的元素。
因此队列又称先进先出表(First In First Out)。
二叉树的数据结构是树型结构,结构中数据元素之间存在着一对多的关系,因此它是一种非线性数据结构。
2)下面叙述正确的是________。
A)算法的执行效率与数据的存储结构无关B)算法的空间复杂度是指算法程序中指令(或语句)的条数C)算法的有穷性是指算法必须能在执行有限个步骤之后终止D)算法的时间复杂度是指执行算法程序所需要的时间2)C知识点:算法的基本概念;算法复杂度的概念和意义(时间复杂度与空间复杂度)评析:算法的设计可以避开具体的计算机程序设计语言,但算法的实现必须借助程序设计语言中提供的数据类型及其算法。
数据结构和算法是计算机科学的两个重要支柱。
它们是一个不可分割的整体。
算法在运行过程中需辅助存储空间的大小称为算法的空间复杂度。
算法的有穷性是指一个算法必须在执行有限的步骤以后结束。
算法的时间复杂度是指执行算法所需要的计算工作量,即算法执行过程中所需要的基本运算次数。
国家二级C语言机试(选择题)-试卷1

国家二级C语言机试(选择题)-试卷1(总分:80.00,做题时间:90分钟)一、选择题(总题数:40,分数:80.00)1.对长度为n的线性表作快速排序,在最坏情况下,比较次数为()。
(分数:2.00)A.nB.n-1C.n(n-1)D.n(n-1)/2 √解析:解析:在最坏情况下,快速排序需要比较n(n-1)/2次。
2.下列叙述中正确的是()。
(分数:2.00)A.有且只有一个根结点的数据结构一定是线性结构B.每一个结点最多有一个前件也最多有一个后件的数据结构一定是线性结构C.有且只有一个根结点的数据结构一定是非线性结构D.有且只有一个根结点的数据结构可能是线性结构,也可能是非线性结构√解析:解析:有且只有一个根结点的数据结构可以是线性结构,如队列,也可以是非线性结构,如二叉树,所以选项D)正确。
选项B)中,如果有两个根结点,则不符合线性结构的条件,说法错误。
本题答案选D)。
3.下列叙述中错误的是()。
(分数:2.00)A.在双向链表中,可以从任何一个结点开始直接遍历到所有结点B.在循环链表中,可以从任何一个结点开始直接遍历到所有结点C.在线性单链表中,可以从任何一个结点开始直接遍历到所有结点√D.在二叉链表中,可以从根结点开始遍历到所有结点解析:解析:在线性单链表中,每一个结点只有一个指针域,由这个指针只能找到后件结点,但不能找到前件结点,选项C)说法错误。
4.某二叉树共有13个结点,其中有4个度为1的结点,则叶子结点数为()。
(分数:2.00)A.5 √B.4C.3D.2解析:解析:根据题意,该二叉树中叶子结点数和度为2的结点数的和为9。
根据二叉树的基本性质,叶子结点比度为2的结点多1个,则度为2的结点个数为4,叶子结点的个数为5,所以答案选A。
5.设栈的顺序存储空间为S(1: 50),初始状态为top=0。
现经过一系列入栈与退栈运算后,top=20,则当前栈中的元素个数为()。
(分数:2.00)A.30B.29C.20 √D.19解析:解析:在栈中,top位置直接反映栈中元素的个数,top=20,则说明当前栈中的元素个数为20。
国家二级C语言机试(选择题)模拟试卷231(题后含答案及解析)

国家二级C语言机试(选择题)模拟试卷231(题后含答案及解析) 题型有:1.1.算法中,对需要执行的每一步操作,必须给出清楚、严格的规定。
这属于算法的A.正当性B.可行性C.确定性D.有穷性正确答案:C解析:本题考查算法的基本特征。
算法的可行性表示算法中执行的任何步骤都是可以被分解为基本的可执行的操作步:确定性是指算法的每一步骤必须有确切的含义;有穷性是指算法必须能在执行有限个步骤之后终止。
知识模块:数据结构与算法2.有关return语句说法不正确的是( )。
A.系统默认的返回值类型为整型,故当函数的返回值为int型时,在函数定义时,返回值的类型说明可以省略。
B.当函数有返回值时,凡是允许表达式出现的地方,都可以调用该函数。
C.当函数没有返回值时,函数的返回值类型可以说明为void型,它表示“无类型”或“空类型”。
D.函数的返回值类型必须与return语句中的表达式值的类型一致,但C语言也允许不同;这时,系统以函数定义时的返回值类型说明为准,并自动地将return语句中表达式的值转换为函数的返回值类型。
正确答案:D解析:函数的返回值类型一般与return语句中的表达式值的类型一致,但C 语言也允许不同;这时,系统以函数定义时的返回值类型说明为准,并自动地将return语句中表达式的值转换为函数的返回值类型。
3.下列关于二叉树的叙述中正确的是( )。
A.叶子节点总是比度为2的节点少1个B.叶子节点总是比度为2的节点多1个C.叶子节点数是度为2的节点数的两倍D.度为2的节点数是度为l的节点数的两倍正确答案:B解析:根据二义树的性质3:在任意一一棵二又树中,度为0的叶子节点总是比度为2的节点多一个,所以选择B选项。
知识模块:公共基础知识4.某系统结构图如下图所示(n≥5)该系统结构图的最大扇出数是( )。
A.3B.nC.2D.n+l正确答案:B解析:扇出指一个模块直接调用的其他模块数。
本题中第二层有n(n≥5)个模块,模块“某系统”直接调用这n个模块,故最大扇出数是n。
国家二级C语言机试(选择题)模拟试卷101(题后含答案及解析)

国家二级C语言机试(选择题)模拟试卷101(题后含答案及解析) 题型有:1. 选择题选择题1.算法的空间复杂度是指( )。
A.算法程序的长度B.算法程序中的指令条数C.算法程序所占的存储空间D.算法执行过程中所需要的存储空间正确答案:D解析:算法的空间复杂度是指执行这个算法所需要的内存空间。
一个算法所占用的存储空间包,括算法程序所占的空间、输入的初始数据所占的存储空间以及算法执行中所需要的额外空间。
其中,额外空间包括算法程序执行过程中的工作单元以及某种数据结构所需要的附加存储空间。
如果额外空间量相对于问题规模来说是常数,则称该算法是原地工作的。
在许多实际问题中,为了减少算法所占的存储空间,通常采用压缩存储技术,以便尽量减少不必要的额外空间。
2.下列叙述中正确的是( )。
A.一个逻辑数据结构只能有一种存储结构B.逻辑结构属于线性结构,存储结构属于非线性结构C.一个逻辑数据结构可以有多种存储结构,且各种存储结构不影响数据处理的效率D.一个逻辑数据结构可以有多种存储结构,且各种存储结构影响数据处理的效率正确答案:D解析:数据的存储结构是指数据的逻辑结构在计算机存储空间中的存放形式,一种数据逻辑结构可以根据需要采用不同的存储结构,常用的存储结构有顺序和链式结构。
比如逻辑结构中简单的线性结构,可以用数组(顺序存储)或单向链表(链接存储)来实现。
采用不同的存储结构,其处理的效率是不同的。
3.下列关于类、对象、属性和方法的叙述中,错误的是( )。
A.类是对一类具有相同的属性和方法对象的描述B.属性用于描述对象的状态C.方法用于表示对象的行为D.基于同一个类产生的两个对象不可以分别设置自己的属性值正确答案:D解析:类是对一类具有相同的属性和方法对象的描述,属性用于描述对象的状态,方法用于表示对象的行为,基于同一个类产生的两个对象是可以分别设置自己的属性值。
4.在软件开发中,需求分析阶段产生的主要文档是( )。
A.数据字典B.详细设计说明书C.数据流图说明书D.软件需求规格说明书正确答案:D解析:需求分析的最终结果是生成软件需求规格说明书,可以为用户、分析人员和设计人员之间的交流提供方便。
国家二级(C语言)笔试模拟试卷121(题后含答案及解析)

国家二级(C语言)笔试模拟试卷121(题后含答案及解析)题型有:1. 选择题 2. 填空题选择题(1-10、21-40每题2分,11-20每题1分,共70分)下列各题A、B、C、D四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上。
1.算法的时间复杂度是指( )。
A.执行算法程序所需要的时间B.算法程序的长度C.算法执行过程中所需要的基本运算次数D.算法程序中的指令条数正确答案:C解析:所谓的算法的时间复杂度,是指执行算法所需要的工作量,可以用算法在执行过程中所需基本运算的执行次数来度量算法的工作量。
2.下列描述中,不是线性表顺序存储结构特征的是( )。
A.不便于插入和删除B.需要连续的存储空间C.可随机访问D.需另外开辟空间来保存元素之间的关系正确答案:D解析:线性表的顺序存储是用一片连续的空间来存放数据元素,其特点是逻辑上相邻的元素在物理位置上也相邻。
数据元素之间逻辑上的先后关系自动隐含在物理位置的相邻元素之中,因此,不需要另外开辟空间来保存元素之间的关系。
3.按照“先进后出”原则组织数据的数据结构是( )。
A.队列B.栈C.双向链表D.二叉树正确答案:B解析:栈是一种特殊的线性表,其插入和删除运算都只在线性表的一端进行,而另一端是封闭的。
进行插入、删除的一端称为栈顶,封闭的一端称为栈底。
栈顶元素是最后被插入的元素,不是最后被删除的,是按先进后出的原则组织数据的。
4.有下列二叉树,对此二叉树前序遍历的结果为( )。
A.ACBEDGFHB.ABDGCEHFC.HGFEDCBAD.ABCDEFGH正确答案:B解析:对二叉树的前序遍历是指:先访问根结点,然后访问左子树,最后访问右子树,并且,在访问左、右子树时,先访问根结点,再依次访问其左、右子树。
5.对建立良好的程序设计风格,下列描述正确的是( )。
A.程序应该简单、清晰、可读性好B.符号名的命名只需要符合语法C.充分考虑程序的执行效率D.程序的注释可有可无正确答案:A解析:“清晰第一,效率第二”,在考虑到程序的执行效率的同时,一定要保证程序清晰、可读;对符号名的命名,除了要符合语法要求外,还要具有一定的含义;程序的注释可以帮助程序员理解程序,不是可有可无的。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
国家二级C语言(数据结构与算法)机试模拟试卷1(题后含答案及解析)题型有:1. 选择题选择题1.算法具有五个特性,以下选项中不属于算法特性的是A.有穷性B.简洁性C.可行性D.确定性正确答案:B解析:算法的五个特性分别是:有穷性、可行性、确定性、输入和输出。
知识模块:数据结构与算法2.算法的有穷性是指A.算法程序的运行时间是有限的B.算法程序所处理的数据量是有限的C.算法程序的长度是有限的D.算法只能被有限的用户使用正确答案:A解析:算法的有穷性,是指算法必须能在有限的时间内做完,即算法必须能在执行有限个步骤之后终止。
知识模块:数据结构与算法3.算法的时间复杂度是指A.算法的执行时间B.算法所处理的数据最C.算法程序中的语句或指令条数D.算法在执行过程中所需要的基本运算次数正确答案:D解析:算法的时间复杂度,是指执行算法所需要的计算工作量。
算法的工作量可以用算法在执行过程中所需基本运算的执行次数来度量。
知识模块:数据结构与算法4.对存储器按字节进行编址,若某存储器芯片共有10根地址线,则该仔储器芯片的存储容量为A.1kbB.2kbC.4kbD.8kb正确答案:A解析:10根地址线,每根地址线有0和1两种情况,地址范围就是2的10次方=1024=1K。
知识模块:数据结构与算法5.磁盘处于写保护状态时其中的数据A.不能读出,不能删改B.可以读出,不能删改C.不能读出,可以删改D.可以读出,可以删改正确答案:B解析:磁盘处于写保护状态时其中的数据可以读出来,但是不能修改和删除。
知识模块:数据结构与算法6.在Windows环境下,单击当前窗口中的按钮“”,其功能是A.讲当前应用程序转为后台运行B.退Windows后再关机C.终止当前应用程序的运行D.退出Windows后重新启动计算机正确答案:C解析:在Windows中,单击窗口中的按钮“”表示关闭当前运行的程序。
知识模块:数据结构与算法7.下列描述中正确的是A.数据的逻辑结构与存储结构必定是一一对应的B.由于计算机存储空间是向量式的存储结构,因此,数据的存储结构一定是线性结构C.程序设计语言中的数据一般是顺序存储结构,因此,利用数组只能处理线性结构D.以上三种说法都不对正确答案:D解析:数据的逻辑结构是指反映数据元素之间逻辑关系的数据结构。
数据的逻辑结构在计算机存储空间中的存放形式称为数据的存储结构(也称数据的物理结构)。
一般来说,一种数据的逻辑结构根据需要可以表示成多种存储结构,常用的存储结构有顺序、链接、索引等。
知识模块:数据结构与算法8.下列描述中正确的足A.线性链表是线性表的链式存储结构B.栈与队列是非线性结构C.双向链表是非线性结构D.只有根结点的二叉树是线性结构正确答案:A解析:线性表的链式存储结构称为线性链表。
线性表链式存储结构的基本单位称为存储结点,每个存储结点包括数据域和指针域两个组成部分。
各数据元素之间的前后件关系是由各结点的指针域来指示的,指向线性表中第一结点的指针HEAD称为头指针,当HEAD-NULL时称为空表。
栈、队列和双向链表是线性结构,树是一种简单的非线性结构。
在树这种数据结构中。
所有数据元素的关系具有明显的层次特征。
二叉树是非线性结构。
线性结构和非线性结构是从数据的逻辑结构角度来讲的,与该数据结构中有多少个元素没有关系,即使是空的二叉树也是非线性结构。
知识模块:数据结构与算法9.支持予程序调用的数据结构是A.栈B.树C.队列D.二叉树正确答案:A解析:栈是一种限定在一端进行插入与删除的线性表。
在主函数调用子函数时,要首先保存主函数当前的状态,然后转去执行子函数,把子函数的运行结果返回到主函数调用子函数时的位置,主函数再接着往下执行,这种过程符合栈的特点。
所以一般采用栈式存储方式。
知识模块:数据结构与算法10.下列关于栈的叙述中,正确的是A.栈底元素一定足最后入栈的元素B.栈顶元素一定是最先入栈的元素C.栈操作遵循先进后出的原则D.以上三种说法都不对正确答案:C解析:栈是限定只能在表的一端进行插入和删除操作的线性表,必须按“后进先出”的规则操作元素。
知识模块:数据结构与算法11.一个栈的初始状态为空。
现将元素1,2,3,A,B,C依次入栈,然后再依次出栈,则元素出栈的顺序是A.1,2,3,A,B,CB.C,B,A,1,2,3C.C,B,A,3,2,1D.1,2,3,C,B,A正确答案:C解析:栈是按照“先进后出”或“后进先出”的原则组织数据的。
所以出栈顺序是CBA321。
知识模块:数据结构与算法12.下列对队列的描述中正确的是A.队列属于非线性表B.队列按“先进后出”原则组织数据C.队列在队尾删除数据D.队列按“先进先出”原则组织数据正确答案:D解析:队列(queue)是指允许在一端进行插入、而在另一端进行删除的线性表。
允许插入的一端称为队尾;允许删除的一端称为队头。
在队列这种数据结构中,最先插入的元素将最先能够被删除;反之,最后插入的元素将最后才能被删除。
因此,队列又称“先进先出”或“后进后出”的线性表。
知识模块:数据结构与算法13.下列关于栈的描述中正确的是A.在栈中只能插入元素而不能删除元素B.在栈中只能删除元素而不能插入元素C.栈是特殊的线性表,只能在一端插入或删除元素D.栈是特殊的线性表,只能在一端插入元素,而在另一端删除元素正确答案:C解析:栈是限定在一端进行插入与删除的线性表,在栈中。
允许插入与删除的一端称为栈顶,不允许插入与删除的另一端称为栈底。
知识模块:数据结构与算法14.下列叙述中正确的是A.循环队列是队列的一种链式存储结构B.循环队列是队列的一种顺序存储结构C.循环队列是非线性结构D.循环队列是一种逻辑结构正确答案:B解析:本题主要考查循环队列的概念.循环队列作为队列的一种也应该是线性结构。
队列是一种逻辑结构,而循环队列是一种顺序存储结构的队列。
知识模块:数据结构与算法15.下列叙述中正确的是A.栈是一种先进先出的线性表B.队列是一种后进先出的线性表C.栈与队列都是非线性结构D.栈与队列都是线性结构正确答案:D解析:栈是先进后出.队列是先进先出。
栈和队列都是一种线性表,属于线性结构。
知识模块:数据结构与算法16.下列叙述中正确的是A.循环队列中的元素个数随队头指针与队尾指针的变化而动态变化B.循环队列中的元素个数随队头指针的变化而动态变化C.循环队列中的元素个数随队尾指针的变化而动态变化D.循环队列中的元素个数不会变化正确答案:A解析:所谓循环结构就是将队列存储空间的最后一个位置绕到第一个位置上,形成逻辑上的环状空间,循环使用。
在循环队列中,用队尾指针rcar指向队列中的队尾元素,用队头指针front指向队头元素的前一个位置,因此,队列中的元素之间的元素数量。
知识模块:数据结构与算法17.下列叙述中正确的是A.线性表的链式存储结构与顺序存储结构所需要的存储空间是相同的B.线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构C.线性表的链式存储结构所需要的存储空间一般要少于顺序存储结构D.上述三种说法都不对正确答案:B解析:线性表的存储分为顺序存储和链式存储。
在顺序存储中,所有元素所占的存储空间是连续的,各数据元素在存储空间中是按逻辑顺序依次存放的。
所以每个元素只存储其值就可以了,而在链式存储的方式中,将存储空间的每一个存储结点分为两部分,一部分用于存储数据元素的值,称为数据域;另一部分用于存储下一个元素的存储序号,称为指针域。
所以线性表的链式存储方式比顺序存储方式的存储空间要大一些。
知识模块:数据结构与算法18.下列链表中,其逻辑结构属于非线性结构的是A.二叉链表B.循环链表C.双向链表D.带链的栈正确答案:A解析:二叉链表作为树的存储结构。
链表中结点的两个链域分别指向该结点的第一个孩子结点和下一个兄弟结点。
知识模块:数据结构与算法19.某系统总体结构图如下图所示。
该系统总体结构图的深度是A.7B.6C.3D.2正确答案:C解析:这个系统总体结构图是一棵树结构,在树结构中,根结点在第1层,同一层上所有子结点都在下一层,由系统总体结构图可知,这棵树共3层。
在树结构中,树的最大层次称为树的深度。
所以这棵树的深度为3。
知识模块:数据结构与算法20.某二叉树有5个度为2的结点,则该二叉树中的叶子结点数足A.10B.8C.6D.4正确答案:C解析:根据二叉树的性质,在任意二叉树中,度为0的结点(即叶子结点)总是比度为2的结点多一个。
知识模块:数据结构与算法21.一颗二叉树中共有70个叶子结点与80个度为1的结点,则该二义树中的总结点数为A.219B.221C.229D.231正确答案:A解析:在二叉树中,叶子结点个数为n 0 ,则度为2的结点数n 2 =n 0 -1。
本题中叶子结点的个数为70,所以度为2的结点个数为69,因而总结点数=叶子结点数+度为1的结点数+度为2的结点数=70+80+69=219。
知识模块:数据结构与算法22.设树T的深度为4,其中度为1,2,3,4的结点个数分别为4,2,1,1。
则T中的叶了结点数为A.8B.7C.6D.5正确答案:B解析:深度为m二叉树其总结点数为2 m -1=2 4 -1=15。
总结点数减去度为1,2,3,4的结点个数就是叶子结点数。
15-4-2-1-1=7。
知识模块:数据结构与算法23.对下列二叉树进行前序遍历的结果是A.DYBEAFCZXB.YDEBFZXCAC.ABDYECFXZD.ABCDEFXYZ正确答案:C解析:二叉树前序遍历的简单描述:若二叉树为空,则结束返回;否则:①访问根结点;②前序遍历左子树;③前序遍历右子树。
可见,前序遍历二叉树的过程是一个递归的过程。
根据题目中给出的二叉树的结构可知前序遍历的结果是ABDYECFXZ。
知识模块:数据结构与算法24.在长度为64的仃序线性表中进行顺序查找,最坏情况下需要比较的次数为A.63B.64C.6D.7正确答案:B解析:顺序查找又称顺序搜索。
顺序查找一般是指在线性表中查找指定的元素,其基本方法是:从线性表的第一元素开始,依次将线性表中的元素与被查找的元素进行比较,若相等则表示找到(即查找成功),若线性表中所有元素都与被查元素进行了比较但都不相等,则表示线性表中没有要找的元素(即查找失败)。
如果线性表中的第一个元素就是要查找的元素,则只需要做一次比较就查找成功;但如果要查找的元素是线性表中的最后一个元素,或者要查找元素不在线性表中,则需要与线性表中所有元素进行比较,这是顺序查找的最坏情况,比较次数为线性表的长度。
知识模块:数据结构与算法25.下列数据结构中,能用二分法进行查找的是A.顺序存储的有序线性表B.线性链表C.二叉链表D.有序线性链表正确答案:A解析:二分法查找只适应于顺序存储的有序表。