二级计算机笔试选择复习题

上传人:zw****58 文档编号:44065052 上传时间:2018-06-08 格式:DOC 页数:17 大小:79KB
返回 下载 相关 举报
二级计算机笔试选择复习题_第1页
第1页 / 共17页
二级计算机笔试选择复习题_第2页
第2页 / 共17页
二级计算机笔试选择复习题_第3页
第3页 / 共17页
二级计算机笔试选择复习题_第4页
第4页 / 共17页
二级计算机笔试选择复习题_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《二级计算机笔试选择复习题》由会员分享,可在线阅读,更多相关《二级计算机笔试选择复习题(17页珍藏版)》请在金锄头文库上搜索。

1、二级计算机笔试选择复习题二级计算机笔试选择复习题1.下列有关数据库的描述,正确的是_。A、数据库是一个DBF文件B、数据库是一个关系C、数据库是一个结构化的数据集合D、数据库是一组文件数据库(Database,简称DB)是数据的集合,它具有统一的结构形式并存放于统一的存储介质内,是多种应用数据的集成,并可被各个应用程序所共享。数据库中的数据具有“集成“、“共享“之特点。本题答案为C。2.下列关于栈的叙述中正确的是_。A、在栈中只能插入数据B、在栈中只能删除数据C、栈是先进先出的线性表D、栈是先进后出的线性表栈是限定在一端进行插入与删除的线性表。栈是按照“先进后出“的或后进先出的原则组织数据的,

2、因此,栈也被称为“先进后出“表或“后进先出“表。本题答案是D。3.在软件生命周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是_。A、概要设计B、详细设计C、可行性分析D、需求分析通常,将软件产品从提出、实现、使用维护到停止使用退役的过程称为软件生命周期。也就是说,软件产品从考虑其概念开始,到该软件产品不能使用为止的整个时期都属于软件生命周期。软件生命周期的主要活动阶段为:(1)可行性研究和计划制定。确定待开发软件系统的开发目标和总的要求,给出它的功能、性能、可靠性以及接口等方面的可能方案,制定完成开发任务的实施计划。(2)需求分析。对待开发软件提出的需求进行分析并给出详细定义,

3、即准确地确定软件系统的功能。编写软件规格说明书及初步的用户手册,提交评审。(3)软件设计。系统设计人员和程序设计人员应该在反复理解软件需求的基础上,给出软件的结构、模块的划分、功能的分配以及处理流程。(4)软件实现。把软件设计转换成计算机可以接受的程序代码。即完成源程序的编码,编写用户手册、操作手册等面向用户的文档,编写单元测试计划。(5)软件测试。在设计测试用例的基础上,检验软件的各个组成部分。编写测试分析报告。(6)运行和维护。将已交付的软件投入运行,并在运行使用中不断地维护,根据新提出的需求进行必要而且可能的扩充和删改。本题答案是D。4.在结构化方法中,用数据流程图(DFD)作为描述工具

4、的软件开发阶段是_。A、可行性分析B、需求分析C、详细设计D、程序编码软件开发阶段包括需求分析、总体设计、详细设计、编码和测试五个阶段。其中需求分析阶段常用的工具是数据流图和数据字典。本题答案为B。5.以下数据结构中不属于线性数据结构的是_。A、队列B、线性表C、二叉树D、栈线性表、栈和队列等数据结构所表达和处理的数据以线性结构为组织形式。栈是一种特殊的线性表,这种线性表只能在固定的一端进行插入和删除操作,允许插入和删除的一端称为栈顶,另一端称为栈底。一个新元素只能从栈顶一端进入,删除时,只能删除栈顶的元素,即刚刚被插入的元素。所以栈又称后进先出表(Last In First Out) ;队列

5、可看作是插入在一端进行,删除在另一端进行的线性表,允许插入的一端称为队尾,允许删除的一端称为队头。在队列中,只能删除队头元素,队列的最后一个元素一定是最新入队的元素。因此队列又称先进先出表(First In First Out) 。本题答案为C。6.结构化程序设计主要强调的是_。 A、程序的规模B、程序的易读性C、程序的执行效率D、程序的可移植性结构化程序设计主要强调的是结构化程序清晰易读,可理解性好,程序员能够进行逐步求精、程序证明和测试,以保证程序的正确性。本题答案为B。7.下列说法中,不属于数据模型所描述的内容的是_。 A、数据结构B、数据操作C、数据查询D、数据约束数据模型所描述的内容

6、有3个部分,它们是数据结构、数据操作和数据约束。其中,数据模型中的数据结构主要描述数据的类型、内容、性质,以及数据库的联系等;数据操作主要是描述在相应数据结构上的操作类型与操作方式。本题答案为C。8.对长度为N的线性表进行顺序查找,在最坏情况下所需要的比较次数为_。A、N+1B、NC、(N+1)/2D、N/2在进行顺序查找过程中,如果线性表中被查的元素是线性表中的最后一个,或者被查元素根本不在线性表中,则为了查找这个元素需要与线性表中所有元素进行比较,这是顺序查找最坏的情况。本题答案为B。9.下面不属于软件设计原则的是_。 A、抽象B、模块化C、自底向上D、信息隐蔽在软件设计过程中,必须遵循软

7、件工程的基本原则:这些原则包括抽象、信息隐蔽、模块化、局部化、确定性、一致性、完备性和可靠性。本题答案为C。10.视图设计一般有3种设计次序,下列不属于视图设计的是_。 A、自顶向下B、由外向内C、由内向外D、自底向上视图设计一般有3种设计次序,它们分别是自顶向下、自底向上和由内向外,它们又为视图设计提供了具体的操作方法,设计者可根据实际情况灵活掌握,可以单独使用也可混合使用。本题答案为B。11.有以下程序void fun(char *a, char *b) a=b; (*a)+; main() char c1=A,c2=a,*p1,*p2;p1= p2= fun(p1,p2);printf(

8、“%c%cn“,c1,c2);程序运行后的输出结果是_。A、AbB、aaC、AaD、Bb本题的考查点是函数。fun函数用了两个指向字符型数据的指针作为形参。该功能是把b的地址赋给a,然后a存储单元里的值再加1。(*a)+表示的是a所指向的元素值加1,注意:是元素值加1,而不是指针值。main函数中,p1里存放的是c1的地址,p2里存放的是c2的地址,fun(p1,p2)后,p2的地址赋给了p1,此时p1和p2都指向了c2,即a,(*a)+,a的值加了1,变为了b。所以此时c2的值为b,而c1的值没变,仍为A。注意,这里变的是p1的地址和c2的值。故本题答案为A。12.若程序中已包含头文件std

9、io.h,以下选项中,正确运用指针变量的程序段是_。 A、int *i=NULL;scanf(“%d“,i);B、float *f=NULL;*f=10.5;C、char t=m,*c=*c=D、long *L;L=0;本题的考查点是指针变量的运用。选项A、B指针定义错误,都将指针指向了NULL,都为空值。其中空指针是由对指针变量赋予0值而得到的。例如: #define NULL 0 int *p=NULL; 对指针变量赋0值和不赋值的时候意义是不同的:指针变量未赋值时,它是指向任意不确定的存储单元的,所以不能使用,否则将造成意外错误;而指针变量赋0值后,则可以使用,只是它不指向具体的变量而已

10、。而在选项C中最后一个*c=错误,B、int a2=1,2,3,4;C、int a22=1,2,3D、int a2=1,2,3,4本题的考查点是二维数组的定义和初始化。选项A定义的数组中各元素实际上是这样的:1,02,0选项B定义的数组中各元素实际上是这样的:1,23,4选项C定义的数组中各元素实际上是这样的:1,02,3选项D错在:C中在对数组进行初始化时,如果对全部元素都赋初值(即提供全部初始数据) ,则定义数组时对第一维的长度可以不指定,但第二维的长度不能省。故本题答案为D。14.以下选项中可作为C语言合法整数的是_。A、10110BB、0386C、0XffaD、x2a2本题的考查点是C

11、语言中的整型常数。整型常数可以用十进制、八进制或十六进制表示,并分为有符号数、无符号数和长整数。由此可知选项A错;选项B,用0386表示八进制错误,因为八进制数为0-7八个数字,含有8是不对的;选项D,数字前加“0x”表示十六进制数,所以D也不对。故本题答案为C。15.以下能正确定义一维数组的选项是_。A、int numB、#define N 100int numNC、int num0.100D、int N=100;int numN本题的考查点是一维数组的定义。数组的常量表达式中可以包括整型常量和符号常量,不能包括变量。也就是说,C不允许对数组的大小作动态定义,即数组的大小不依赖于程序运行过程

12、中变量的值,所以选项A不正确。而选项B事先定义一个字符常量N,所以可以在数组中作常量表达式,选项B正确。而选项C中不能用区间表示数组大小;在D中N虽然被赋为100,但N仍然为变量,所以不对。故本题答案为B。16.以下程序中函数scmp的功能是返回形参指针s1和s2所指字符串中较小字符串的首地址。#include #include char *scmp(char*s1,char*s2) if (strcmp(s1,s2)字符串2,函数值为一正整数;如果字符串11;n-)s=s+1/n;printf(“%6.4fn“,s);程序运行后输出结果错误,导致错误结果的程序行是_。A、s=1.0;B、fo

13、r(n=10;n1;n-)C、s=s+1/n;D、printf(“%6.4fn“,s);本题的考查点是查找程序运行错误的原因。主要考察运算中字符的转换。初看此题,可能不太容易发现错误,该题的运行结果是 1.0000,算法错误。s=s+1/n; 1/2=0,因为n为整型,所以1/n都为0。这就是导致本题出错的原因。s=s+1/n应改为s=s+1.0/n。故本题答案为C。18.有以下程序#include main() char str20=“Hello“,“Beijing“,*p=str;printf(“%dn“,strlen(p+20);程序运行后的输出结果是_。A、0B、5C、7D、20本题的

14、考查点是字符数组和指针的运用。strlen()是测试字符串长度的函数。函数的值为字符串中实际长度,不包括/0在内。str20=“Hello“,“Beijing“实际上是定义了一个2行20列的数组,数组的首地址是str00,p+20应该是向后移了20位,所以指向了数组的str10处,所以此时测试函数的长度,应该时从str10开始往后,即“Beijing“的长度,所以输出结果是7。故本题答案为C。19.有定义语句:int a=1,b=2,c=3,x;,则以下选项中各程序段执行后,x的值不为3的是_。 A、if (cb) return(a);else return(b);main() int x=3

15、,y=8,z=6,r;r=fun(fun(x,y),2*z);printf(“%dn“,r);程序运行后的输出结果是_。A、3B、6C、8D、12本题的考查点是函数的返回值。fun函数的作用是比较a、b的值,如果ab,就返回a的值,反之,返回b的值。在main函数中,r=fun(fun(x,y),2*z),先对括号里的进行运算,fun(x,y)的返回值为8,再比较8和12,得到r的返回值为12。故本题答案为D。30.有以下结构体说明和变量定义,如下图所示,指针p、q、r分别指向一个链表中的三个连续结点。struct node int data;struct node *next;*p,*q,*r;data next data next data next p q r现要将q和r所指结点的先后位置交换,同时要保持链表的连续,以下错误的程序段是_。A、r-next=q;q-next=r-next;p-next=r;B、q-next=r-next;p-next=r;r-next=q;C、p-next=r;q-next=r-next;r-next=p;D、q-next=r-next;r-next

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

当前位置:首页 > 高等教育 > 其它相关文档

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