数组和结构题库

合集下载

数据结构题库

数据结构题库

栈1设有三个元素X,Y,Z顺序进栈(进的过程中允许出栈),下列得不到的出栈排列是()。

•A、XYZ•B、YZX•C、ZXY•D、ZYX正确答案:C 我的答案:C 得分:14.2分2向一个栈顶指针为hs的链栈中插入一个s结点时,应执行()。

•A、hs->next=s;•B、s->next=hs; hs=s;•C、s->next=hs->next; hs->next=s;•D、s->next=hs; hs=hs->next;正确答案:B 我的答案:B 得分:14.2分3栈在()中应用。

•A、递归调用•B、子程序调用•C、表达式求值•D、A,B,C正确答案:A 我的答案:D 得分:0.0分4栈的操作原则是()。

•A、先进先出•B、后进先出•C、先进后出•D、不分顺序正确答案:B 我的答案:B 得分:14.2分5一个栈的输入序列为123…n,若输出序列的第一个元素是n,输出第i(1<=i<=n)个元素是()。

•A、不确定•B、n-i+1•C、i•D、n-i正确答案:B 我的答案:B 得分:14.2分6链栈与顺序栈相比,有一个比较明显的优点,即()•A、插入操作方便•B、通常不会出现栈满的情况•C、不会出现栈空的情况•D、删除操作更方便正确答案:B 我的答案:D 得分:0.0分二.简答题(共1题,14.8分)1假定有四个元素A,B,C,D依次进栈,进栈过程中允许出栈,试写出所有可能的出栈序列。

正确答案:共有14中可能的出栈序列","分别为: ABCD","ABDC","ACBD"," ACDB","BACD","ADCB","BADC","BCAD"," BCDA","BDCA","CBAD"," CBDA","CDBA"," DCBA。

《数据结构》练习题库

《数据结构》练习题库

一、填空题1.数据结构根据数据元素之间关系的不同特性,有四种基本结构:集合、线性结构、和。

2.数据结构的形式定义可用二元组表示,其成分分为数据元素的有限集,和。

3.一个好的算法设计应满足正确性、、健壮性和效率与低存储量需求。

4.数组是一种存取的存储结构。

5.串中组成的子序列称该串的子串。

6.稀疏矩阵存储时,常采用三元组表和的表示方法。

7.设树T的度为4,其中度为1、2、3、4的结点个数分别为4、2、1、1,则T中叶子结点的个数是。

8.指针pred 指向刚刚访问过的结点,p 指向当前访问的结点,结点的结构含有左指针lchild,右指针rchild,左标志ltag,右标志rtag,当结点的左指针为空时,线索化操作为:p->ltag=1;和。

9.用图的顶点表示活动,用弧表示活动间的优先关系的有向图称为网。

10.排序方法稳定的,是指排序后的序列中的元素前后次序仍不变。

11.文件在存储介质(磁盘或磁带)上的组织方式称为文件的。

12.索引文件是包括和索引表两大部分的文件。

13.在算法是正确的前提下,评价算法的两个标准是、。

14.链表是一种存取的存储结构。

15.设链栈的栈顶指针为LS,链栈的结点结构为,栈空的条件是。

16.在非空双链表(结点结构为)中,指针p指向该链表中的某个结点。

若要指针p往前移动两个结点,即使p指向当前结点的前驱的前驱(假定存在这样的结点),则需要执行一个语句。

17.设无向图G用邻接表表示,图中顶点V i的度等于。

18.中序遍历二叉排序树可得到一个关键字的。

19.后序遍历如图所示的一棵二叉树,所得到结点序列为。

20.在有n 个叶子结点的哈夫曼树中,其结点总数为 。

21.含有n 个顶点的无向图是一个环,则它有 棵生成树。

22.设单链表的结点结构为,且r 始终指向单链表的最后一个结点,要在最后一个结点之后插入由s 所指向的结点,需要执行的三条语句是 ;r=s ;s->next=NULL ;23.串中任意个连续的字符组成的子序列称为 。

数据结构试题库及答案

数据结构试题库及答案

数据结构试题库及答案一、选择题(每题2分,共20分)1. 在数据结构中,线性表的顺序存储结构通常使用()来存储。

A. 链表B. 栈C. 队列D. 数组答案:D2. 以下哪个算法不是排序算法?A. 快速排序B. 归并排序C. 深度优先搜索D. 堆排序答案:C3. 在二叉树的遍历算法中,先访问根节点,然后遍历左子树,最后遍历右子树的遍历方式是()。

A. 先序遍历B. 中序遍历C. 后序遍历D. 层序遍历答案:A4. 哈希表的冲突解决方法不包括以下哪种?A. 链地址法B. 线性探测法C. 二分查找法D. 再散列法答案:C5. 在图的遍历算法中,广度优先搜索(BFS)使用的辅助数据结构是()。

A. 栈B. 队列C. 堆D. 链表答案:B6. 下列关于堆的描述中,错误的是()。

A. 堆是一种特殊的完全二叉树B. 堆中的每个节点的值都大于其子节点的值C. 堆可以用于实现优先队列D. 堆的插入操作的时间复杂度为O(log n)答案:B7. 在一个长度为n的数组中,使用二分查找算法查找一个元素的最坏情况下的时间复杂度是()。

A. O(1)B. O(n)C. O(n^2)D. O(log n)答案:D8. 以下哪个数据结构不是线性结构?A. 链表B. 栈C. 队列D. 二叉树答案:D9. 以下哪个算法是动态查找表?A. 直接索引B. 顺序查找C. 二分查找D. 哈希表答案:D10. 在图的表示方法中,邻接矩阵表示法的缺点是()。

A. 占用空间大B. 占用空间小C. 插入和删除操作复杂D. 遍历操作复杂答案:A二、填空题(每题2分,共20分)1. 在一个长度为n的数组中,使用顺序查找算法查找一个元素的时间复杂度为________。

答案:O(n)2. 一个具有n个节点的完全二叉树的高度为________。

答案:log2(n) + 1(向上取整)3. 一个长度为n的链表,删除一个节点的时间复杂度为________。

答案:O(1)4. 在图的表示方法中,邻接表表示法的缺点是________。

数据结构考试题及答案

数据结构考试题及答案

数据结构考试题及答案一、选择题1. 以下哪种数据结构在实现栈时最为高效?A. 链表B. 数组C. 树D. 图答案:B2. 快速排序算法的时间复杂度在最坏情况下是多少?A. O(n)B. O(nlogn)C. O(n^2)D. O(n^3)答案:C3. 在二叉搜索树中,若要查找给定值的节点,应该按照以下哪种方式进行?A. 从根节点开始,向左或向右子树交替进行B. 从根节点开始,始终向左子树进行C. 从根节点开始,始终向右子树进行D. 从最底层节点开始向上进行答案:A4. 哈希表的主要优点是什么?A. 有序存储数据B. 高效的查找、插入和删除操作C. 动态扩容D. 消耗内存小答案:B5. 下面哪种数据结构通常用于实现高效的多对一映射?A. 数组B. 链表C. 哈希表D. 树答案:C二、填空题1. 在平衡树中,AVL树通过_________来保持树的平衡。

答案:旋转2. 堆数据结构通常用来实现_________等优先队列。

答案:最大/最小3. 拓扑排序是针对有向无环图(DAG)的一种排序算法,它能够反映出任务间的_________关系。

答案:依赖4. 广度优先搜索(BFS)算法使用_________数据结构来实现。

答案:队列5. 斐波那契数列可以通过递归算法、动态规划以及_________等方法来计算。

答案:矩阵快速幂三、简答题1. 请简述链表和数组的区别及各自的优缺点。

答案:链表由一系列节点组成,每个节点包含数据和指向下一个节点的指针。

它的优点是能够在常数时间内在任意位置插入或删除元素,但随机访问效率较低。

数组是一段连续的内存空间,可以存储一系列相同类型的元素。

它的优点是支持高效的随机访问,但插入和删除操作通常需要移动大量元素,且大小固定或调整大小成本较高。

2. 描述二分查找的工作原理及其适用条件。

答案:二分查找是一种在有序数组中查找特定元素的算法。

它的工作原理是将数组分为两半,比较中间元素与目标值,如果相等则查找结束;如果目标值较小,则在左半部分继续查找;如果目标值较大,则在右半部分继续查找。

数据结构考试题库含答案

数据结构考试题库含答案

数据结构考试题库含答案数据结构习题集含答案目录目录1选择题2第一章绪论2第二章线性表4第三章栈和队列5第四章串6第五章数组和广义表7第六章树和二叉树7第七章图9第八章查找11第九章排序12简答题15第一章绪论15第二章线性表20第三章栈和队列22第四章串24第五章数组和广义表24第六章树和二叉树26第七章图31第八章查找33第九章排序34编程题36第一章绪论36第二章线性表36第三章栈和队列46第四章串46第五章数组和广义表46第六章树和二叉树46第七章图46第八章查找46第九章排序51选择题第一章绪论1.数据结构这门学科是针对什么问题而产生的?(A)A、针对非数值计算的程序设计问题B、针对数值计算的程序设计问题C、数值计算与非数值计算的问题都针对D、两者都不针对2.数据结构这门学科的研究内容下面选项最准确的是(D)A、研究数据对象和数据之间的关系B、研究数据对象C、研究数据对象和数据的操作D、研究数据对象、数据之间的关系和操作3.某班级的学生成绩表中查得张三同学的各科成绩记录,其中数据结构考了90分,那么下面关于数据对象、数据元素、数据项描述正确的是(C)A、某班级的学生成绩表是数据元素,90分是数据项B、某班级的学生成绩表是数据对象,90分是数据元素C、某班级的学生成绩表是数据对象,90分是数据项D、某班级的学生成绩表是数据元素,90分是数据元素4.某数据结构是指(A)。

A、数据元素的组织形式B、数据类型C、数据存储结构D、数据定义5.数据在计算机存储器内表示时,物理地址与逻辑地址不相同,称之为(C)。

A、存储结构B、逻辑结构C、链式存储结构D、顺序存储结构6.算法分析的目的是(C)A、找出数据的合理性B、研究算法中的输入和输出关系C、分析算法效率以求改进D、分析算法的易懂性和文档型性7.算法分析的主要方法(A)。

A、空间复杂度和时间复杂度B、正确性和简明性C、可读性和文档性D、数据复杂性和程序复杂性8.计算机内部处理的基本单元是(B)A、数据B、数据元素C、数据项D、数据库9.数据在计算机内有链式和顺序两种存储方式,在存储空间使用的灵活性上,链式存储比顺序存储要(B)。

数据结构试题(含答案)

数据结构试题(含答案)

数据结构试题(含答案)一.是非题(勾选“√“用于更正和勾选”√1.数据结构可用三元公式(D,s,P)表示,其中:D为数据对象,s为D上的关系,p是对d的基本操作集。

×2.线性表的链式存储结构具有直接访问表中任何元素的优点。

×3. 字符串是特定于数据对象的线性表。

4.二叉树是一棵结点的度最大为二的树。

×5.邻接多表可用于表示无向图或有向图。

×6. 所有顶点的拓扑序都可以从任何有向图中得到。

× 7. 无向连通图的生成树是其最大连通子图。

× 8. 二叉排序树的搜索长度最多为log2n。

×9.对于一棵m阶的b-树.树中每个结点至多有m个关键字。

除根之外的所有非终端结点至几乎没有┌ M/2┌ 关键词。

×10.对于目前所知的排序方法,快速排序具有最好的平均性能。

11.顺序存储模式具有存储密度高、插入和删除操作效率高的优点。

× 12. 二维数组是一个线性表,其数据元素是线性表。

13.连通图g的生成树是一个包含g的所有n个顶点和n-1条边的子图。

×14.折半查找不适用于有序链表的查找。

15.完全二叉树必定是平衡二叉树。

16.中间顺序线索二叉树的优点是,在中间顺序下很容易找到直接前导节点和直接后继节点。

17.队列是一种完全不同于线性表的数据结构。

× 18. 平均搜索长度与记录的搜索概率有关。

19.二叉树中每个结点有两个子结点,而对一般的树,则无此限制,所以,二叉树是树的特殊情形。

×20.算法的时间复杂度越高,可读性越差;相反,算法的可读性越好,时间复杂度越差。

×二.选择题1.如果编号为1、2和3的列车车厢依次通过开关堆调度,则无法获得(E)的顺序。

a:1,2,3b:1,3,2c:2,1,3d:2,3,1e:3,1,2f:3,2,12.递归程序可借助于(b)转化为非递归程序。

a:线性表B:堆栈C:队列D:数组3.在下列数据结构中(c)具有先进先出(fifo)特性,(b)它具有先进先出的特点。

数据结构考试题及答案详解

数据结构考试题及答案详解一、选择题(每题2分,共20分)1. 在数据结构中,线性表的顺序存储结构通常使用哪种数据结构实现?A. 链表B. 数组C. 栈D. 队列答案:B2. 下列哪个是二叉树的遍历算法?A. 深度优先搜索B. 广度优先搜索C. 排序算法D. 查找算法答案:A3. 哈希表解决冲突最常用的方法是?A. 链接法B. 线性探测法C. 二次探测法D. 所有选项都是答案:D4. 栈的后进先出(LIFO)特性决定了它不能用于实现哪些数据结构?A. 队列B. 堆C. 树D. 图答案:A5. 快速排序算法的时间复杂度在最坏情况下是?A. O(n log n)B. O(n^2)C. O(n)D. O(1)答案:B二、简答题(每题10分,共30分)1. 什么是递归?请给出一个递归函数的例子。

答案:递归是一种在函数内部调用自身的编程技术。

递归函数通常有两个条件:一个基本情况(base case),用于停止递归调用;一个递归情况(recursive case),用于进行递归调用。

例如,计算阶乘的递归函数如下:```cint factorial(int n) {if (n == 0) return 1; // 基本情况return n * factorial(n - 1); // 递归情况}```2. 什么是图的深度优先搜索(DFS)?请简述其基本思想。

答案:深度优先搜索是一种遍历图的算法,它从一个顶点开始,沿着一条路径尽可能深地搜索,直到无法继续为止,然后回溯并沿着另一条路径继续搜索。

基本思想是使用一个栈来记录已访问的顶点,以避免重复访问。

3. 什么是平衡二叉搜索树?请列举至少两种常见的平衡二叉搜索树。

答案:平衡二叉搜索树是一种特殊的二叉搜索树,它保持树的高度尽可能低,以保证操作的效率。

常见的平衡二叉搜索树有AVL树和红黑树。

AVL树通过旋转操作保持平衡,红黑树通过颜色和旋转操作来保持平衡。

三、计算题(每题25分,共50分)1. 给定一个数组A,包含n个元素,请计算其归并排序的时间复杂度,并给出排序过程的一个示例。

数据结构复习题(江西理工大学考试题库)

江西理工大学数据结构考试题库(做了必过)考试必有原题一、单选题(每题 2 分,共20分)1. 对一个算法的评价,不包括如下(B )方面的内容。

A.健壮性和可读性B.并行性C.正确性D.时空复杂度2. 在带有头结点的单链表HL中,要向表头插入一个由指针p指向的结点,则执行( )。

A. p->next=HL->next; HL->next=p;B. p->next=HL; HL=p;C. p->next=HL; p=HL;D. HL=p; p->next=HL;3. 对线性表,在下列哪种情况下应当采用链表表示?( )A.经常需要随机地存取元素B.经常需要进行插入和删除操作C.表中元素需要占据一片连续的存储空间D.表中元素的个数不变4. 一个栈的输入序列为1 2 3,则下列序列中不可能是栈的输出序列的是( C )A. 2 3 1B. 3 2 1C. 3 1 2D. 1 2 35. AOV网是一种()。

A.有向图B.无向图C.无向无环图D.有向无环图6. 采用开放定址法处理散列表的冲突时,其平均查找长度()。

A.低于链接法处理冲突 B. 高于链接法处理冲突C.与链接法处理冲突相同D.高于二分查找7. 若需要利用形参直接访问实参时,应将形参变量说明为()参数。

A.值B.函数C.指针D.引用8. 在稀疏矩阵的带行指针向量的链接存储中,每个单链表中的结点都具有相同的()。

A.行号B.列号C.元素值D.非零元素个数9. 快速排序在最坏情况下的时间复杂度为()。

A.O(log2n) B.O(nlog2n) C.0(n) D.0(n2)10. 从二叉搜索树中查找一个元素时,其时间复杂度大致为( )。

A. O(n)B. O(1)C. O(log2n)D. O(n2)二、运算题(每题 6 分,共24分)1. 数据结构是指数据及其相互之间的______________。

当结点之间存在M对N(M:N)的联系时,称这种结构为_____________________。

数据结构习题精编:串和数组

数据结构习题精编:串和数组一、选择题1.下面关于串的的叙述中,不正确的是A.串是字符的有限序列B.空串是由空格构成的串C.模式匹配是串的一种重要运算D.串既可以采用顺序存储,也可以采用链式存储2.下面关于串的的叙述中,正确的是A.空串就是空白串B.串相等指的是串的长度相等C.串的长度必须大于零D.串是一种特殊的线性表3.字符串是一种特殊的线性表,它与一般线性表的区别是A.字符串是一种线性结构B.字符串可以进行复制操作C.字符串可以顺序存储也可以链式存储D.字符串由字符构成并且通常作为整体参与操作4.串s="Data Structure"中长度为3的子串的数目是A.9B.11C.12D.145.若串S="software",则S的子串的数目是A.8 B.35 C.36 D.376.已知串S= "string",T="this",执行运算StrLength(StrCopy(S,T))的结果是A.2 B.4 C.6 D.107.若串S="SCIENCESTUDY",则调用函数StrCopy(P,SubString(S,1,7))后得到A.P="STUDY" B.P="SCIENCE" C.S="STUDY" D.S="SCIENCE" 8.若字符串采用链式存储,每个字符占用一个字节,每个指针在占用四个字节,则该字符串的存储密度为A.20%B.25%C.50%D.75%9.为查找某一特定单词在文本中出现的位置,可应用的串运算是A.串联接B.求子串C.串比较D.子串定位10.当目标串的长度为n,模式串的长度为m时,朴素的模式匹配算法最好情况下字符的比较次数A.m B.n C.n-m D.n+m11.当目标串的长度为n,模式串的长度为m时,朴素的模式匹配算法最坏情况下字符的比较次数A.m B.n C.(n-m+1)*m D.n*m12.已知串S="aaab",其Next数组的元素值依次为A.0、1、2、3 B.1、1、2、3 C.1、2、1、1 D.1、2、3、1 13.串"ababaaababaa" 的next数组为A.011234223456 B.012121111212 C.0123012322345 D.012345678999 14.字符串"ababaabab" 的nextval 为A.(0,1,0,1,0,0,0,1,1) B.(0,1,0,1,0,1,0,1,1)C.(0,1,0,1,0,2,1,0,1) D.(0,1,0,1,0,4,1,0,1)15.二维数组A[10][20]采用按行为主序的存储方式,每个元素占4个存储单元,若A[0][0]的存储地址为300,则A[8][10]的地址为A.660 B.732 C.980 D.113216.二维数组A[5][6]采用按列为主序的存储方式,每个元素占3个存储单元,若A[0][0]的存储地址是100,则A[4][3]的存储地址是A.157 B.166 C.169 D.18117.二维数组A按行优先顺序存储,其中每个元素占1个存储单元。

数据结构期末考试题及答案

数据结构期末考试题及答案 一、单项选择题(每题2分,共20分) 1. 在数据结构中,线性结构和非线性结构的区别在于( )。 A. 结构中元素的个数 B. 结构中元素的类型 C. 结构中元素之间关系的复杂度 D. 结构中元素之间是否存在一对一关系

答案:D 2. 栈的运算特点是( )。 A. 先进先出 B. 先进后出 C. 后进先出 D. 后进后出 答案:C 3. 在二叉树的遍历中,先序遍历的顺序是( )。 A. 先左子树,再右子树 B. 先右子树,再左子树 C. 根节点,左子树,右子树 D. 根节点,右子树,左子树

答案:C 4. 哈希表解决冲突的方法不包括( )。 A. 分离链接法 B. 开放地址法 C. 链表法 D. 二分查找法

答案:D 5. 快速排序算法的时间复杂度在最坏情况下是( )。 A. O(nlogn) B. O(n^2) C. O(n) D. O(logn)

答案:B 6. 在图的遍历中,深度优先搜索(DFS)和广度优先搜索(BFS)的主要区别在于( )。

A. 遍历的顺序 B. 是否使用队列 C. 是否使用栈 D. 是否使用递归

答案:C 7. 以下哪个排序算法是稳定的( )。 A. 快速排序 B. 归并排序 C. 堆排序 D. 选择排序

答案:B 8. 在数据库中,索引的作用是( )。 A. 存储数据 B. 提高查询速度 C. 增加数据安全性 D. 减少数据冗余

答案:B 9. 以下哪个数据结构适用于实现符号表( )。 A. 链表 B. 栈 C. 哈希表 D. 树

答案:C 10. 递归算法的时间复杂度通常取决于( )。 A. 递归的深度 B. 递归的广度 C. 递归的类型 D. 递归的参数

答案:A 二、填空题(每题2分,共20分) 1. 在数据结构中,一个算法的时间复杂度通常用______来描述。 答案:大O符号 2. 冒泡排序算法在最好的情况下,即序列已经有序时,其时间复杂度为______。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第四章数组和结构一、选择题1. 有结构型定义如下:struct person{char name[20];int age;int sex;}w[5],*p=w;那么下面scanf语句中对结构变量成员不正确的引用是()。

A.scanf(“%s”,w[0].name); B.scanf(“%d”,&w[0].age);C.scanf(“%d”, &(p->sex)); D.scanf(“%d”, p->age);答:D2. 处理字符串必须调用(1),且首先要声明预编译命令(2)。

不能用赋值运算符“=”对字符串赋值,应调用(3)函数;也不能用关系运算符“= =”、“>”、“<”对字符串进行比较,应调用(4)函数。

答案:(1)字符串库函数(2)# include <string.h> (3)strcpy (4)strcmp3. 有如下程序段:char str[14]={"I am "};strcat(str, "sad !");scanf("%s", str);printf("%s", str);当输入为happy!<CR>时,输出的结果是()。

(A)I am sad! (B)happy!(C)I am happy! (D)happy!ad!答案:(B)4. 以下对二维数组a进行不正确初始化的是。

A.int a[ ] [3]={3,2,1,1,2,3};B.int a[ ] [3]={{3,2,1},{1,2,3};C.int a[2] [3]={{3,2,1},{1,2,3}};D.int a[ ] [ ]={{3,2,1},{1,2,3}};答案:D5. 以下函数的功能是:通过键盘输入数据,为数组中的所有元素赋值。

#define N 10void arrin(int x[N]){int i=0;while (i<N)scanf ("%d", );}在下划线处应填入的是。

(2003年4月)A)x+i B)&x[i+1] C)x+(i++) D)&x[++i]答案:C6. 下列描述中不正确的是。

A)字符型数组中可以存放字符串B)可以对字符型数组进行整体输入、输出C)可以对整型数组进行整体输入、输出D)不能在赋值语句中通过赋值运算符“=”对字符型数组进行整体赋值答案:C7. 以下程序的输出结果是。

#include <stdio.h>#include <string.h>void main( ){char b[30];strcpy (&b[0],"CH");strcpy (&b[1],"DEF");strcpy (&b[2],"ABC");printf ("%s\n",b);}A)CHDEF B)DEFABC C)CDABC D)CHABC答案:C8. 下面能正确定义一维数组的选项是。

A)int num[ ] B)#define N 100 C)int num[0..100] D)int N=100 int num[N] int num[N] 答案:B9. 下面正确的数组定义语句是。

A)int y[1][4]={1,2,3,4,5};B)float x[3][ ]={{1},{2},{3}};C)long s[2][3]={{1},{1,2},{1,2,3}};D)double t[ ][3]={0};答案:D10. 执行下列程序时,输入123<空格>456<空格>789<回车>,输出结果是。

#include <stdio.h>void main( ){char s[100];int c,i;scanf ("%c",&c);scanf("%d",&i);scanf("%s",s);printf("%c,%d,%s\n",c,i,s);}A)123,456,789 B)1,456,789 C)1,23,456,789 D)1,23,456 答案:D11. 下面程序的输出结果为()。

#include <stdio.h>void main( ){int a[3],i,j,k=2;for(i=0;i<3;i++)a[i]=0;for(i=0;i<k;i++)for(j=0;j<k;j++)a[j]=i*j;printf("%d\n",a[2]);}A)0 B)1 C)2 D)3答案:A12. 下面程序的输出结果是()。

#include <stdio.h>void main( ){int i,j,k;char str[5];for(i=0;i<5;i++)str[i]='A';k=4;for(i=0;i<k;i++)for(j=0;j<k;j++)str[j]=str[i]+32;printf("%c\n",str[k]);}A)a B)A C)B D)不确定的值答案:B13. 下面程序的输出结果是()。

#include <stdio.h>void main( ){char s[4][20];int i;scanf ("%s%s",s[0],s[1]);gets(s[2]);gets(s[3]);for(i=0;i<4;i++)puts(s[i]);}输入数据如下:(此处<CR>代表回车符)aa bb<CR>cc dd<CR>A)aa B)aa C)aa D)aa bbbb bb bb cccc cc dd ddcc dd dd答案:A14. 假定int类型变量占用两个字节,其有定义:int x[10]={0,2,4};,则数组x在内存中所占字节数是。

(A)3 (B)6 (C)10 (D)20答案:D15. 以下程序的输出结果是。

#include <stdio.h>#include <string.h>void main( ){char st[20]="hello\0\t\\";printf("%d %d \n",strlen(st),sizeof(st));}(A)9 9 (B)5 20 (C)13 20 (D)20 20答案:B16. 以下对结构体类型变量td的定义中,错误的是。

(A)typedef struct aa (B)struct aa{ int n; { int n;float m; float m;}AA; }td;AA td; struct aa td;(C)struct (D)struct{ int n; { int n;float m; float m;}aa; }td;struct aa td;答案:C17. 下列程序的输出结果为。

#include <stdio.h>void main(){int k=0,i,s[ ]={1,-9,7,2,-10,3};for (i=0;i<6;i++)if (s[i]>s[k])k=i;printf("\n%d\n",k);}(A)4 (B)2 (C)3 (D)1答案:B18. 有如下定义:struct date {int year,month,day;};struct worklist{char name[20];char sex;struct date birthday;}personone;对结构体变量personone的出生年份进行赋值时,下面正确的赋值语句是。

(A)year=1968 (B)birthday.year=1968(C)personone.birthday.year=1968 (D)personone.year=1968答案:C19. 若程序中有如下的说明和定义:struct exep{ int x,y;}struct exep x,y;…则会发生的情况是。

(A)编译时出错(B)能通过编译、连接、执行(C)能通过编译但连接出错(D)能通过编译、连接,但不能执行答案:A20. 设有以下语句typedef struct S{ int g; char h;} T;则下面叙述中正确的是。

A)可用S定义结构体变量 B)可以用T定义结构体变量C)S是struct类型的变量 D)T是struct S类型的变量答案:B21. 有结构定义如下:struct{int k:2;int:0;unsigned int m:5;}st;那么变量st所占用的字节数是()。

A.3 B.2 C.1 D.4答:B22. 以下对结构类型变量的定义中,不正确的是。

A)typedef struct aa B)# define AA struct aa{ int n;AA AA{ int n;float m; float m;}AA; }tdl;AA tdl;C)struct D)struct{ int n; { int n;float m; float m;}aa; }tdl;struct aa td1;答案:C23. 当执行下面的程序时,如果输入ABC,则输出结果是。

(2001年4月)#include <stdio.h>#include <string.h>void main(){char ss[10]= "12345";gets(ss);strcat(ss, "6789");printf("%s\n",ss);}A)ABC6789 B)ABC67 C)12345ABC6 D)ABC456789 答案:A24. 给出以下定义char x[ ]="abcdefg";char y[ ]={'a','b','c','d','e','f','g'};则正确的叙述为。

A)数组x和数组y等价B)数组x和数组y的长度相同C)数组x的长度大于数组y的长度D)数组x的长度小于数组y的长度答案:C25. 下面程序的输出是A) 0 B) 1 C) 3 D) 6#include <stdio.h>void main ( ){struct cmplx{int x; int y;}cnum[2]={1,3,2,7};printf("%d\n",cnum[0].y /cnum[0].x * cnum[1].x);}答案:D26. 下列程序的输出结果是A) 5 B) 6 C) 7 D) 8#include <stdio.h>struct abc{int a, b, c;};void main(){struct abc s[2]={{1,2,3},{4,5,6}};int t;t=s[0].a+s[1].b;printf("%d \n",t);}答案:B27. 设有以下说明语句struct ex{int x ; float y; char z ;}example;则下面的叙述中不正确的是A) struct是结构体类型的关键字B) example是结构体类型名 C) x,y,z都是结构体成员名D) struct ex是结构体类型名答案:B28. 设有如下说明typedef struct{int n; char c; double x;则以下选项中,能正确定义结构体数组并赋初值的语句是A) STD tt[2]={{1,'A',62},{2, 'B',75}};B) STD tt[2]={1,"A",62},2, "B",75};C) struct tt[2]={{1,'A'},{2, 'B'}};D) struct tt[2]={{1,"A",62.5},{2, "B",75.0}};答案:A29. 有以下程序#include <stdio.h>void main(){int i,test ,p[17],head;for(i=0;i<16;i++)p[i]=i+1;p[16]=0;test=0;while(test!=p[test]){for(i=1;i<3;i++){head=test;test=p[test];}p[head]=p[test];test=p[head];}printf("\n%5d",test);}程序执行后的输出结果是_______。

相关文档
最新文档