二级C语言 5套 选择题的副本

上传人:学*** 文档编号:229447067 上传时间:2021-12-25 格式:DOCX 页数:10 大小:21.19KB
返回 下载 相关 举报
二级C语言 5套 选择题的副本_第1页
第1页 / 共10页
二级C语言 5套 选择题的副本_第2页
第2页 / 共10页
二级C语言 5套 选择题的副本_第3页
第3页 / 共10页
二级C语言 5套 选择题的副本_第4页
第4页 / 共10页
二级C语言 5套 选择题的副本_第5页
第5页 / 共10页
亲,该文档总共10页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《二级C语言 5套 选择题的副本》由会员分享,可在线阅读,更多相关《二级C语言 5套 选择题的副本(10页珍藏版)》请在金锄头文库上搜索。

1、二级C语言 5套 选择题的副本 (1)下列叙述中错误的是 A)在带链队列中,队头指针和队尾指针都是在动态变化的 B)在带链栈中,栈顶指针和栈底指针都是在动态变化的 C)在带链栈中,栈顶指针是在动态变化的,但栈底指针是不变的 D)在带链队列中,队头指针和队尾指针可以指向同一个位置 答案:B 【解析】带链的队列就是用一个单链表来表示队列,队列中的每一个元素对应链表中的一个节点,在入队和退队过程中,队头指针和队尾指针都是在动态变化的,A选项叙述正确,循环队列中当队列满或者空时,队头指针和队尾指针指向同一个位置,D选项叙述正确。栈也可以采用链式存储结构表示,把栈组织成一个单链表,这种数据结构可称为带链

2、的栈,入栈和退栈过程中栈底指针不变,栈顶指针随之变化,B选项叙述错误,C选项叙述正确。故选择B选项。 (2)某二叉树共有12个结点,其中叶子结点只有1个。则该二叉树的深度为(根结点在第1层) A)3 B)6 C)8 D)12 答案:D 【解析】二叉树中,度为0的节点数等于度为2的节点数加1,即n2=n0-1,叶子节点即度为0,n0=1,则n2=0,总节点数为12=n0+n1+n2=1+n1+0,则度为1的节点数n1=11,故深度为12,选D。 (3) A)DYBEAFCZX B)YDEBFZXCA C)ABDYECFXZ D)ABCDEFXYZ 答案:C 【解析】前序遍历是指在访问根结点、遍历

3、左子树与遍历右子树这三者中,首先访问根结点,然后遍历左子树,最后遍历右子树;并且,在遍历左右子树时,仍然先访问根结点,然后遍历左子树,最后遍历右子树。前序遍历描述为:若二叉树为空,则执行空操作。否则:访问根结点;前序遍历左子树;前序遍历右子树,C正确。 (4)对长度为n的线性表作快速排序,在最坏情况下,比较次数为 A)n B)n-1 C)n(n-1) D)n(n-1)/2 答案:D 【解析】快速排序最坏情况就是每次选的基准数都和其他数做过比较,共需比较 (n-1)+(n-2)+1=n(n-1)/2,选D。 (5)下列序列中不满足堆条件的是 A)(98,95,93,96,89,85,76,64,

4、55,49) B)(98,95,93,94,89,85,76,64,55,49) C)(98,95,93,94,89,90,76,64,55,49) D)(98,95,93,94,89,90,76,80,55,49) 答案:A 若有个元素的序列,将元素按顺序组成一棵完全二叉树,当且仅当满足下列条件时称为堆:大根堆,所有结点的值大于或等于其左右子结点的值;小根堆,所有结点的值小于或等于其左右子结点的值。 (6)软件生命周期中,确定软件系统要做什么的阶段是 A)需求分析 B)软件测试 C)软件设计 D)系统维护 答案:A 【解析】软件生命周期各阶段的主要任务是:问题定义、可行性研究与计划制定、需求

5、分析、软件设计、软件实现、软件测试、运行维护。其中需求分析是指对待开发软件提出的需求进行分析并给出详细定义,也即是确定软件系统要做什么,A选项正确。 (7)有两个关系R,S如下: 由关系R通过运算得到关系S,则所使用的运算为()。 A)选择 B)投影 C)插入 D)连接 答案:B 【解析】投影运算是指对于关系内的域指定可引入新的运算。本题中S是在原有关系R的内部进行的,是由R中原有的那些域的列所组成的关系。所以选择B)。 (8)有三个关系R、S和T如下: 由关系R和S通过运算得到关系T,则所使用的运算为()。 A)并 B)自然连接 C)笛卡尔积 D)交 答案:D 【解析】自然连接是一种特殊的等

6、值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉,所以B)错误。笛卡尔积是用R集合中元素为第一元素,S集合中元素为第二元素构成的有序对,所以C)错误。根据关系T可以很明显的看出是从关系R与关系S中取得相同的关系组所以取得是交运算,选择D)。 (9)将E-R图转换为关系模式时,E-R图中的实体和联系都可以表示为()。 A)属性 B)键 C)关系 D)域 答案:C 【解析】采用E-R方法得到的全局概念模型是对信息世界的描述,并不适用于计算机处理,为了适合关系数据库系统的处理,必须将E-R图转换成关系模式。这就是逻辑设计的主内容。E-R图是由实体、属性和联系组

7、成,而关系模式中只有一种元素-关系。C选项正确。 (10)定义学生、教师和课程的关系模式STC(SNO,SN,SA,TN,CN,G),其中的六个属性分别为学生的学号、姓名、年龄、教师的姓名、课程名以及学生的成绩,则该关系为 A)第一范式 B)第二范式 C)第三范式 D)BCNF范式 答案:A 【解析】第一范式(1NF)无重复的列 所谓第一范式(1NF)是指数据库表的每一列都是不可分割的基本数据项,同一列中不能有多个值,即实体中的某个属性不能有多个值或者不能有重复的属性。如果出现重复的属性,就可能需要定义一个新的实体,新的实体由重复的属性构成,新实体与原实体之间为一对多关系。在第一范式(1NF)

8、中表的每一行只包含一个实例的信息。简而言之,第一范式就是无重复的列。 说明:在任何一个关系数据库中,第一范式(1NF)是对关系模式的基本要求,不满足第一范式(1NF)的数据库就不是关系数据库。 第二范式(2NF)属性完全依赖于主键消除部分子函数依赖 第二范式(2NF)是在第一范式(1NF)的基础上建立起来的,即满足第二范式(2NF)必须先满足第一范式(1NF)。第二范式(2NF)要求数据库表中的每个实例或行必须可以被惟一地区分。为实现区分通常需要为表加上一个列,以存储各个实例的惟一标识。例如员工 信息表中加上了员工编号(emp_id)列,因为每个员工的员工编号是惟一的,因此每个员工可以被惟一区

9、分。这个惟一属性列被称为主关键字或主键、主码。 第二范式(2NF)要求实体的属性完全依赖于主关键字。所谓完全依赖是指不能存在仅依赖主关键字一部分的属性,如果存在,那么这个属性和主关键字的这一部分应该分离出来形成一个新的实体,新实体与原实体之间是一对多的关系。为实现区分通常需要为表加上一个列,以存储各个实例的惟一标识。简而言之,第二范式就是属性完全依赖于主键。 第三范式(3NF)属性不依赖于其它非主属性消除传递依赖 满足第三范式(3NF)必须先满足第二范式(2NF)。简而言之,第三范式(3NF)要求一个数据库表中不包含已在其它表中已包含的非主关键字信息。例如,存在一个部门信息表,其中每个部门有部

10、门编号(dept_id)、部门名称、部门简介等信息。那么在的员工信息表中列出部门编号后就不能再将部门名称、部门简介等与部门有关的信息再加入员工信息表中。如果不存在部门信息表,则根据第三范式(3NF)也应该构建它,否则就会有大量的数据冗余。简而言之,第三范式就是属性不依赖于其它非主属性。 BCNF范式 关系模式R1NF。若函数依赖集合F中的所有函数依赖XY(Y不包含于X)的左部都包含R的任一候选键,则RBCNF。换言之,BCNF中的所有依赖的左部都必须包含候选键。通俗地说即在第三范式的基础上,数据库表中如果不存在任何字段对任一候选关键字段的传递函数依赖则符合第三范式。 (11)以下叙述错误的是

11、A) 在一个任务中,单独编写的每个模块均可以独立运行 B) 程序“模块化”有利于任务的分解简 C) 允许对函数单独进行编译,是C语言实现“模块化”的基础 D) 采用模块化结构,可以提高程序编制的效率 答案:A 【解析】C语言中,程序运行必须从main函数开始,一个程序只能有一个main函数,所以除了包含main函数的模块,其他模块都不可以单独运行,选项A错误;程序的模块化将一个大的任务分解成若干个小的任务,每个模块解决一个小的任务,选项B正确;允许对函数单独进行编译,是模块化的基础,选项C正确;采用模块化结构,提高了代码的复用度,提高程序编制的效率,选项D正确;答案为A。 (12)以下选项中,

12、当且仅当x的绝对值在1至6范围内表达式值为“真”的是 A) (x=-6) if (x=y) if(xy) printf(xy); else printf(x=y); else printf(xy) printf( xy ); if (yx) printf( xy) printf( xy ); else if (x y时,执行printf(“x y”);接着判断if(x #define N 4 main() int aNN=0,i,j,k; for( i=0; i int f(int n); main() int a=3,s; s=f(a);s=s+f(a); printf(%dn,s); in

13、t f(int n) static int a=1; n+=a+; return n; 程序运行后的输出结果是 A) 7 B) 8 C) 9 D) 10 答案:C 【解析】首先main函数中的局部变量a和f()函数中的静态局部变量a的作用域都只限在其所在的函数中,相互之间不影响,看作两个不同的变量即可;另外f()函数中的静态局部变量a只在第一次调用f()函数时初始化一次,其他调用都会保留上一次调用结束时的值;分析main函数可知,第一次调用时将f(a)的返回值赋给s,所以语句可以改写为:s=f(a)+f(a),即main函数中调用两次f(a),传入的参数a取值都为3,第一次调用时,静态局部变量初始化为1,所以n=4并返回,a自增为2;第二次调用时静态局部变量a取上一次调用结束时的值2,所以n=5并返回,a自增为3;所以在main()函数中,s=4+5=9,所以函数执行完输出结果为9,答案为C。 (23)有以下程序 #include main( ) int i,j=0; char a=How are you!; for ( i=0; ai; i+ ) if ( ai != ) aj+ = ai; aj = 0; printf( %sn,a ); 程序运行后

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号