资源预览内容
第1页 / 共8页
第2页 / 共8页
第3页 / 共8页
第4页 / 共8页
第5页 / 共8页
第6页 / 共8页
第7页 / 共8页
第8页 / 共8页
亲,该文档总共8页全部预览完了,如果喜欢就下载吧!
资源描述
第二套1.已知二叉树后序遍历序列是 dabec,中序遍历序列是 debac,它的前序遍历序列是( )A.acbedB.decabC.deabcD.cedba 分析:依据后序遍历序列可确定根结点为 c;再依据中序遍历序列可知其左子树由 deba 构成,右子树为空;又由左子树的后序遍历序列可知其根结点为 e,由中序遍历序列知其左子树为 d,右子树由 ba 构成,如下图所示。求得该二叉树的前序遍历序列为选项 D.2.结构化程序设计的 3 种结构是( )A.顺序结构、选择结构、转移结构B.分支结构、等价结构、循环结构C.多分支结构、赋值结构、等价结构D.顺序结构、选择结构、循环结构分析:顺序结构、选择结构和循环结构(或重复结构)是结构化程序设计的 3 种基本结构。3.算法的时间复杂度是指( )A.执行算法程序所需要的时间B.算法程序的长度C.算法执行过程中所需要的基本运算次数D.算法程序中的指令条数分析:算法的复杂度主要包括算法的时间复杂和算法的空间复杂度。所谓算法的时间复杂度是指执行算法所需要的计算工作量;算法的空间复杂度一般是指执行这个算法所需要的内存空间。4.数据库管理系统 DBMS 中用来定义模式、内模式和外模式的语言为( )A.C B.Basic C.DDL D.DML分析:选项 A、B 显然不合题意。数据定义语言(Data Definition Language,简称 DDL)负责数据的模式定义与数据的物理存取构建;数据操纵语言(Data Manipulation Language,简称 DML)负责数据的操纵,包括查询及增、删、改等操作。5.下列有关数据库的描述,正确的是( )A.数据处理是将信息转化为数据的过程B.数据物理独立性是指当数据的逻辑结构改变时,数据的存储结构不变C.关系中的每一列称为元组,一个元组就是一个字段D.如果一个关系中的属性或属性组并非该关系的关键字,但它是另一个关系的关键字、则称其为本关系的外关键字分析:数据处理是指将数据转换成信息的过程,所以选项 A 叙述错误;数据的物理独立性是指数据的物理结构的改变,不会影响数据库的逻辑结构,所以选项 B 叙述错误;关系中的行称为元组,对应存储文件中的记录,关系中的列称为属性,对应存储文件中的字段,所以选项 C 叙述错误。6.用链表表示线性表的优点是( )A.便于随机存取B.花费的存储空间较顺序存储少C.便于插入和删除操作D.数据元素的物理顺序与逻辑顺序相同分析: 链式存储结构克服了顺序存储结构的缺点:它的结点空间可以动态申请和释放;它的数据元素的逻辑次序靠结点的指针来指示,不需要移动数据元素。故链式存储结构下的线性表便于插入和删除操作。7.结构化程序设计主要强调的是( ) A.程序的规模 B.程序的效率C.程序设计语言的先进性D.程序易读性分析: 结构化程序设计方法的主要原则可以概括为自顶向下、逐步求精、模块化限制使用 goto 语句,总的来说可使程序结构良好、易读、易理解、易维护。8.检查软件产品是否符合需求定义过程称( )A.确认测试 B.集成测试 C.验证测试 D.验收测试分析:确认测试的任务是验证软件的功能和性能,以及其他特性是否满足需求规格说明中确定的各种需求;集成测试的主要目的是发现与接口有关的错误。9.应用数据库的主要目的是( )A.解决数据保密问题B.解决数据完整性问题C.解决数据共享问题D.解决数据量大的问题分析:数据库中的数据具有“集成”与“共享”的特点,亦即是数据库集中了各种应用的数据,进行统一构造与存储,而使它们可以被不同应用程序所使用,故选项 C 正确。10.在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。其中数据独立性最高的阶段是( )A.数据库系统 B.文件系统 C.人工管理 D.数据项管理分析:人工管理阶段是在 20 世纪 50 年代中期以前出现的,数据不独立,完全依赖于程序;文件系统是数据库系统发展的初级阶段,数据独立性差;数据库系统具有高度的物理独立性和一定逻辑独立性。11.C 语言中,int ,char 和 short 三种类型数据在内存所占用的字节数( )A.由用户自己定义 B.均为 2 个字节C.是任意的 D.由所用机器的机器字长决定分析:C 语言中,常用的数据类型有 int,char,float,double 等,但 C 语言标准没有具体规定以上各类数据所占内存字节数,只要求 long 型数据长度不短于 int 型,short 型不长于 int 型,具体如何实现,由各计算机系统自行决定。12.C 语言中的标识符只能由字母,数字和下划线三种字符组成,且第一个字符( )A.必须为字母B.必须为下划线C.必须为字母或下划线D.可以是字母,数字和下划线中任一字符分析:C 语言中规定,标识符只能由字母、数字和下划线三种字符组成,且第一个字符必须是字母或下划线,而且标识符不能是 C 语言的关键字。13.x,y,z 被定义为 int 型变量,若从键盘给 x,y,z 输入数据,正确的输入语句是( )A.INPUT x,y,z;B.scanf(%d%d%d,&x,&y,&z);C.scanf(%d%d%d,x,y,z);D.read(%d%d%d,&x,&y,&z);分析:scanf 函数的一般格式是:scanf(格式控制,地址表列)该格式中,地址表列中应是变量地址,而不是变量名14.以下程序的输出结果是( )main() int a=4,b=5,c=0,d;d=!a&! b! c;printf(%dn,d);A.1 B.0 C.非 0 的数 D.-1分析:本题考查的是逻辑与“&” ,逻辑或“” ,逻辑非 “!” ,表达式的应用。逻辑与运算符“&”,当参与运算的两个量都为真时,结果才是真,否则为假;逻辑或运算符“” ,当参与运算的两个量有一个为真时,结果是真,否则为假;逻辑非运算符“!” ,当参与运算的量为真时,结果才是假,否则为真。15.下面有关 for 循环的正确描述是( )A.for 循环只能用于循环次数已经确定的情况B.for 循环是先执行循环体语句,后判断表达式C.在 for 循环中,不能用 break 语句跳出循环体D.for 循环的循环体语句中,可以包含多条语句,但必须用花括号括起来分析:选项 A for 循环可以用于循环次数不确定的情况;选项 B for 循环是先判断表达式,后执行循环体语句;选项 C 在 for 循环中,可以用 break 语句跳出循环体,从而接着执行循环体后面的语句。16.设有以下程序段int x=0,s=0;while(! x!=0)s+=+x;printf( %d,s);则( )A.运行程序段后输出 0B.运行程序段后输出 1C.程序段中的控制表达式是非法的D.程序段执行无限次分析:本题考查逻辑非运算符和不等于运算符的区别,逻辑非运算符“!”的优先级大于不等于运算符“!=”的优先级。17.以下描述中正确的是( )A.由于 do-while 循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句B.do-while 循环由 do 开始,用 while 结束,在 while(表达式)后面不能写分号C.在 do-while 循环体中,是先执行一次循环,再进行判断D.do-while 循环中,根据情况可以省略 while分析:do-while 语句的一般形式为: do 循环体语句 while(表达式) ;,其中循环体语句可以是复合型语句,但必须用花括号括起来。while 后必须要有分号作为语句的结束,在 do-while 循环中,不可以省略 while。18.以下程序的运行结果是( )sub(int x,int y,int *z)*z=y-x;main() int a,b,c;sub(10,5,&a); sub(7,a,&b);sub(a,b,&c);printf(%4d,%4d,%4dn,a,b,c);A.5,2,3 B.-5,-12,-7 C.-5,-12,-17D.5,-2,-7分析:在 C 语言中,调用函数不可能改变实参指针变量的值,但可以改变实参指针变量所指变量的值。了解了实参指针变量的改变情况,本题只剩下简单的“加减法”了。19.对下面程序描述正确的一项是(每行程序前面的数字表示行号) ( ) main() float a3=0.0; int i; for(i=0;ix);printf(%dn,(+p)-x);printf(%dn,+(*p-y);A.10 20 20 B.50 60 21 C.51 60 21 D.60 70 31分析:该题中首先定义了一个结构体指针变量 p,然后说明了结构体变量数组 aa,并赋初值,令每个结构体变量的指针域分别指向另一个整型数组 dt 的对应元素。要求出的是指针变量指向的值的输出。要注意的是指向结构体成员运算符的优先级要大于自加和自减运算符,并和括号的优先级相同。运算时,指针p 初始指向第 1 个元素,所以+p-x 先计算 p-x 的值是 50,增 1 后是 51。 (+p)-x 先将指针指向第 2个元素,然后取 x 的值为 60。+(*p-y)先计算 p-y,这是个指针,指向数组 dt 的第 2 个元素,然后将其值增 1,结果为 21。21.以下程序的输出结果是( )long fun(int n) long s;if(n=1n=2)s=2;else s=n-fun(n-1);return s;main() printf(%1dn,fun(3);A.1 B.2 C.3 D.4分析:该题考查的是递归函数的调用,题中读 fun 函数进行了递归调用,第 1 次调用:fun(3)n=3 s=3-fun(2)第二次调用时:fun(2)n=2 s=2 返回第一次调用后, s=3-2=1。22.以下程序的输出结果是( )union myun struct int x,y,z;u;int k; a;main() a.u.x=4;a.u.y=5;a.u.z=6;a.k=0;printf(%dn,a.u.x);A.4DWB.5DW C.6DW D.0分析:本题考查共用体变量起作用的范围。共用体变量中起作用的成员是最后一次存放的成员,在存入一个新的成员后原有的成员就失去作用,在本题中,当对 a.u.y 成员赋值时,a.u.x 的值就不存在,当对 a.u.z赋值时,a.u.y 的值就不存在了。 。23.以下有 4 组用户标识符其合法的一组是( )A.For -sub CaseB.4d DO SizeC.f2_G3 IF abcD.WORD void define分析:C 语言中规定,标识符只能由字母、数字和下划线三种字符组成,且第一个字符必须是字母或下划线,而且标识符不能是 C 语言的关键字。选项 A 中-sub 错误
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号