您好,欢迎访问三七文档
1、下列叙述中正确的是()。A)循环队列是队列的一种链式存储结构B)循环队列是队列的一种顺序存储结构C)循环队列是非线性结构D)循环队列是一种逻辑结构参考答案:B【解析】在实际应用中,队列的顺序存储结构一般采用循环队列的形式。2、下列关于线性链表的叙述中,正确的是()。A)各数据结点的存储空间可以不连续,但它们的存储顺序与逻辑顺序必须一致B)各数据结点的存储顺序与逻辑顺序可以不一致,但它们的存储空间必须连续C)进行插入与删除时,不需要移动表中的元素D)以上说法均不正确参考答案:C【解析】一般来说,在线性表的链式存储结构中,各数据结点的存储序号是不连续的,并且各结点在存储空间中的位置关系与逻辑关系也不一致。线性链表中数据的插入和删除都不需要移动表中的元素,只需改变结点的指针域即可。3、一棵二叉树共有25个结点,其中5个是叶子结点,则度为1的结点数为()A)16B)10C)6D)4参考答案:A【解析】根据二叉树的性质3:在任意一棵二叉树中,度为0的叶子结点总是比度为2的结点多一个,所以本题中度为2的结点是5-1=4个,所以度为1的结点的个数是25-5-4=16个。4、在下列模式中,能够给出数据库物理存储结构与物理存取方法的是()。A)外模式B)内模式C)概念模式D)逻辑模式参考答案:B【解析】数据库系统的三级模式是概念模式、外模式和内模式。概念模式是数据库系统中全局数据逻辑结构的描述,是全体用户公共数据视图。外模式也称子模式或用户模式,它是用户的数据视图,给出了每个用户的局部数据描述。内模式又称物理模式,它给出了数据库物理存储结构与物理存取方法,所以选择B)。5、在满足实体完整性约束的条件下()。A)一个关系中应该有一个或多个候选关键字B)一个关系中只能有一个候选关键字C)一个关系中必须有多关键字个候选D)一个关系中可以没有候选关键字参考答案:A【解析】实体完整性约束要求关系的主键中属性值不能为空值,所以选择A)。6、A)自然连接B)交C)除D)并参考答案:C【解析】如果S=T/R,则S称为T除以R的商。在除运算中S的域由T中那些不出现在R中的域所组成,对于S中的任一有序组,由它与关系R中每个有序组所构成的有序组均出现在关系T中。所以本题选择C)。7、下面描述中,不属于软件危机表现的是()。A)软件过程不规范B)软件开发生产率低C)软件质量难以控制D)软件成本不断提高参考答案:A【解析】软件危机主要表现在:软件需求的增长得不到满足;软件开发成本和进度无法控制;软件质量难以保证;软件不可维护或维护程度非常低;软件的成本不断提高;软件开发生产率的提高赶不上硬件的发展和应用需求的增长。所以选择A)。8、下面不属于需求分析阶段任务的是()。A)确定软件系统的功能需求B)确定软件系统的性能需求C)需求规格说明书评审D)制定软件集成测试计划参考答案:D【解析】需求分析阶段的工作有:需求获取;需求分析;编写需求规格说明书;需求评审,所以选择D)。9、在黑盒测试方法中,设计测试用例的主要根据是()。A)程序内部逻辑B)程序外部功能C)程序数据结构D)程序流程图参考答案:B【解析】黑盒测试是对软件已经实现的功能是否满足需求进行测试和验证,黑盒测试完全不考虑程序内部的逻辑结构和内部特性,只根据程序的需求和功能规格说明,检查程序的功能是否符合它的功能说明,所以本题选择B)。10、在软件设计中不使用的工具是()。A)系统结构图B)PAD图C)数据流图(DFD图)D)程序流程图参考答案:C【解析】系统结构图是对软件系统结构的总体设计的图形显示。在需求分析阶段,已经从系统开发的角度出发,把系统按功能逐次分割成层次结构,是在概要设计阶段用到的。PAD图是在详细设计阶段用到的。程序流程图是对程序流程的图形表示,在详细设计过程中用到。数据流图是结构化分析方法中使用的工具,它以图形的方式描绘数据在系统中流动和处理的过程,由于它只反映系统必须完成的逻辑功能,所以它是一种功能模型,是在可行性研究阶段用到的而非软件设计时用到,所以选择C)。11、以下可用作C语言用户标识符的是()。A)void,define,WORDB)a3b3,123,IFC)FOR,--abc,CaseD)2a,Do,Sizeof参考答案:B【解析】C语言规定用户标识符由字母、数字和下划线组成,且第一个字符必须是字母或下划线,可见选项C),D)是错误的;此外,C语言不允许用户将关键字作为标识符,而选项A)中的void正是C语言的关键字。12、以下叙述中错误的是()。A)C语言的可执行程序是由一系列机器指令构成的B)用C语言编写的源程序不能直接在计算机上运行C)通过编译得到的二进制目标程序需要连接才可以运行D)在没有安装C语言集成开发环境的机器上不能运行C源程序生成的.exe文件参考答案:D【解析】C语言的可执行程序是由一系列机器指令组成的,用C语言编写的源程序必须经过编译生成二进制目标代码,再经过连接才能运行,并且可以脱离C语言集成开发环境。故答案为D)。13、以下4个选项中,不能看作一条语句的是()。A);B)a=5,b=2.5,c=3.6;C)if(b!=5)x=2;y=6;D)returnj;参考答案:C【解析】C语言规定每个语句以;(分号)结束,因此选项C)为两条语句。14、以下不能正确计算代数式值的C语言表达式是()。A)B)C)D)参考答案:A【解析】本题考查的是C语言表达式。如果算术运算符/中参与运算的变量都是整型变量,则/表示整除运算,所以1/3的值应为0,故选项A)的表达式值为0,而事实上代数式的值并不为0,所以选项A)不能正确计算题目所要求的代数式。15、若有说明:int*p,m=5,n;,以下正确的程序段是()。A)p=&n;scanf(%d,&p);B)p=&n;scanf(%d,*p)C)scanf(%d,&n);*p=n;D)p=&n;*p=m;参考答案:D【解析】&是求址运算符,*是指变量说明符。选项A)、B)应改为scanf(%d,p);选项C)中指针变量p未指向一确定的内存单元,不能为其赋值,并且这样做很危险,建议不使用。16、以下程序的输出结果是()。main(){inta=20;printf(%d,%o,%x\n,a,a,a);}A)20,024,0x14B)20,24,14C)20,0x14,024D)20,20,20参考答案:B【解析】本题的考查点是不同格式的数据输出。printf函数对不同类型的数据用不同的格式字符,%d是以带符号的十进制形式输出整数(正数不输出符号);%o以八进制无符号形式输出整数(不包括前导符0);%x以十六进制无符号形式输出整数(不包括前导符0x)。17、下面程序的运行结果是()main(){inty=5,x=14;y=((x=3*y,x+6),x-1);printf(x=%d,y=%d,x,y);}A)x=27,y=27B)x=12,y=13C)x=15,y=14D)x=y=27参考答案:C【解析】本题考查的是逗号表达式。逗号表达式的求解步骤是先求解表达式1,然后依次求解表达式2,直到表达式N的值。整个逗号表达式的值就是最后一个表达式N的值。表达式(x=3*y,x+6)中,x=15。表达式y=x-1=14。18、设变量x和y均已正确定义并赋值。以下if语句中,在编译时将产生错误信息的是()。A)if(x++);B)if(xy&&y!=0);C)if(x0)x--elsey++;D)if(y0){;}elsex++;参考答案:C【解析】本题考查的是if语句。if是C语言关键字,表达式两侧的圆括号不可少,最后是一条语句或是用花括号括起来的一组语句。选项A)和B)是在表达式后跟了一条空语句,选项D)是在表达式后跟了一组空语句,选项C)中x--是表达式而不是语句,所以在编译时会出现错误信息,在x--后面加上;号就对了。19、请阅读以下程序:#includestdio.hmain(){intx=1,y=0,a=0,b=0;switch(x){case1:switch(y){case0:a++;break;}case2:a++,b++;break;}printf(a=%d,b=%d\n,a,b);}上面程序的输出结果是()。A)a=2,b=1B)a=1,b=1C)a=1,b=0D)a=2,b=2参考答案:A【解析】考查switch语句的使用。switch语句的执行过程为:进入switch结构后,对条件表达式进行运算,然后从上至下去找与条件表达式值相匹配的case,以此作为入口,执行switch结构中后面的各语句,直到遇到break语句,则跳出switch语句,如果各case都不匹配时,则执行default后面的语句。20、以下叙述中正确的是()。A)调用printf函数时,必须要有输出项B)使用putchar函数时,必须在之前包含头文件stdio.hC)在C语言中,整数可以以十二进制、八进制或十六进制的形式输出D)调用getchar函数读入字符时,可以从键盘上输入字符所对应的ASCII码参考答案:B【解析】本题考查的是标准输入输出函数。在使用标准输入输出库函数(除了printf和scanf)前,必须要用预编译命令#include将头文件stdio.h包括到用户源文件中。调用printf函数时可以没有输出项,比如printf()是允许的。C语言中整数的输出形式中没有十二进制的形式。getchar函数读入字符时可以得到第一个输入字符的ASCII码,无法通过输入相应字符的ASCII得到该字符。21、有以下语句:charb[8];intc;,则正确的输入语句是()。A)scanf(%s%d,&b,&c);B)scanf(%s%d,&b,c);C)scanf(%s%d,b,c);D)scanf(%s%d,b,&c);参考答案:D【解析】scanf函数常用的格式控制中s代表输入的是字符串,d代表输入带符号的十进制整型数,根据语句charb[8];intc;可确定正确的输入语句是D)选项。22、有以下程序:#includestdio.hmain(){inta[]={1,2,3,4},y,*p=&a[3];--p;y=*p;printf(y=%d\n,y);}程序的运行结果是()。A)y=0B)y=1C)y=2D)y=3参考答案:D【解析】在程序中指针变量p初始指向a[3],执行p减1后,p指向a[2],语句y=*p的作用是把a[2]的值赋给变量y,所以输出为y=3。23、若有以下说明和语句,请选出哪个是对c数组元素的正确引用()。intc[4][5],(*cp)[5];cp=c;A)cp+1B)*(cp+3)C)*(cp+1)+3D)*(*cp+2)参考答案:D【解析】本题的考查点是数组元素的引用。cp=c这个语句是将数组c的首行元素地址赋给了指针数组cp。选项A),cp+1是指将数组c的首行地址加1,即为第二行地址;选项B),*(cp+3)是地址,等于数组c的首地址加3的那个内存单元的内容,不是对数组元素的引用;选项C),*(cp+1)+3是地址,等于数组c的首地址加1的那个内存单元中存放的值加3,不是对数组元素的引用。24、有以下程序:#includestring.hmain(){charp[20]=,,,,q[]=abc,r[]=abcde;strcat(p,r);strcpy(p+strlen(q),q);printf(%d\n,strlen(p));}程序运行后的输出结果是()。A)9B)6C)11D)7参考答案:B【解析】本题考查的是用于字符串处理的函数。题目中首先通过strcat(p,r)将r所指字符串的内容连接到p所指的字符串后面,p[20]=,,,,,,,,。然后通过p+strlen(q)在数组元素p[0]地址的基础上向后移动三位,然后将q所指字符串的内容复制到p所指的存储空间中,从字符d往后全部覆盖,p[20]=,,,,,。在输出语句中strlen(p)是求字符串的长度,值为6。25、以下程序段中的变量已
本文标题:计算机二级题库5
链接地址:https://www.777doc.com/doc-8684068 .html