《全国计算机二级考试模拟题C语言.doc》由会员分享,可在线阅读,更多相关《全国计算机二级考试模拟题C语言.doc(20页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、公共基础知识基本要求1.掌握算法的基本概念。2.掌握基本数据结构及其操作。3.掌握基本排序和查找算法。4.掌握逐步求精的结构化程序设计方法。5.掌握软件工程的基本方法,具有初步应用相关技术进行软件开发的能力。6.掌握数据库的基本知识,了解关系数据库的设计。考试内容一、基本数据结构与算法1.算法的基本概念;算法复杂度的概念和意义(时间复杂度与空间复杂度)。2.数据结构的定义;数据的逻辑结构与存储结构;数据结构的图形表示;线性结构与非线性结构的概念。3.线性表的定义;线性表的顺序存储结构及其插入与删除运算。4.栈和队列的定义;栈和队列的顺序存储结构及其基本运算。5.线性单链表、双向链表与循环链表的
2、结构及其基本运算。6.树的基本概念;二叉树的定义及其存储结构;二叉树的前序、中序和后序遍历。7.顺序查找与二分法查找算法;基本排序算法(交换类排序,选择类排序,插入类排序)。二、程序设计基础1.程序设计方法与风格2.结构化程序设计。3.面向对象的程序设计方法,对象,方法,属性及继承与多态性。三、软件工程基础1.软件工程基本概念,软件生命周期概念,软件工具与软件开发环境。2.结构化分析方法,数据流图,数据字典,软件需求规格说明书。3.结构化设计方法,总体设计与详细设计。4.软件测试的方法,白盒测试与黑盒测试,测试用例设计,软件测试的实施,单元测试、集成测试和系统测试。5.程序的调试,静态调试与动
3、态调试。四、数据库设计基础1.数据库的基本概念:数据库,数据库管理系统,数据库系统。2.数据模型,实体联系模型及ER图,从ER图导出关系数据模型。3.关系代数运算,包括集合运算及选择、投影、连接运算,数据库规范化理 论。4.数据库设计方法和步骤:需求分析、概念设计、逻辑设计和物理设计的相关策略。考试方式1.公共基础知识的考试方式为笔试,与C语言程序设计(C+语言程序设计、Java语言程序设计、Visual Basic语言程序设计、Visual FoxPro数据库程序设计或Access数据库程序设计)的笔试部分合为一张试卷,公共基础知识部分占全卷的30分。2.公共基础知识有l0道选择题和5道填空
4、题。C语言程序设计基本要求1.熟悉TURBO C集成环境。2.熟练掌握结构化程序设计的方法,具有良好的程序设计风格。3.掌握程序设计中简单的数据结构和算法。4.TURBO C的集成环境下,能够编写简单的C程序,并具有基本的纠错和调试程序的能力。考试内容一、C语言的结构1.程序的构成,MAIN函数和其他函数。2.头文件,数据说明,函数的开始和结束标志。3.源程序的书写格式。4.C语言的风格。二、数据类型及其运算1.C的数据类型(基本类型,构造类型,指针类型,空类型)及其定义方法。2.C运算符的种类、运算优先级和结合性。3.不同类型数据间的转换与运算。4.C表达式类型(赋值表达式,算术表达式,关系
5、表达式,逻辑表达式,条件表达式,逗号表达式)和求值规则。三、基本语句1.表达式语句,空语句,复合语句。2.数据的输入与输出,输入输出函数的调用。3.复合语句。4.GOTO语句和语句标号的使用。四、选择结构程序设计1.用IF语句实现选择结构。2.用SWITCH语句实现多分支选择结构。3.选择结构的嵌套。五、循环结构程序设计1.FOR循环结构。2.WHILE和DO WHILE循环结构。3.CONTINUE语句和BREAK语句。4.循环的嵌套。六、数组的定义和引用1.一维数组和多维数组的定义、初始化和引用2.字符串与字符数组。七、函数1.库函数的正确调用。2.函数的定义方法。3.函数的类型和返回值。
6、4.形式参数与实在参数,参数值的传递。5.函数的正确调用,嵌套调用,递归调用。6.局部变量和全局变量。7.变量的存储类别(自动,静态,寄存器,外部),变量的作用域和生存期。8.内部函数与外部函数。八、编译预处理1.宏定义:不带参数的宏定义;带参数的宏定义。2.“文件包含”处理。九、指针1.指针与指针变量的概念,指针与地址运算符。2.变量、数组、字符串、函数、结构体的指针以及指向变量、数组、字符串、函数、结构体的指针变量。通过指针引用以上各类型数据。3.用指针作函数参数。4.返回指针值的指针函数。5.指针数组,指向指针的指针,MAIN函数的命令行参数。十、结构体(即“结构”)与共用体(即“联合”
7、)1.结构体和共用体类型数据的定义方法和引用方法。2.用指针和结构体构成链表,单向链表的建立、输出、删除与插入。十一、位运算1.位运算符的含义及使用。2.简单的位运算。十二、文件操作只要求缓冲文件系统(即高级磁盘I/O系统),对非标准缓冲文件系统(即低级磁盘I/O系统)不要求。1.文件类型指针(FILE类型指针)。2.文件的打开与关闭(FOPEN,FCLOSE)。3.文件的读写(FPUTC,FGETC,FPUTS,FGETS,FREAD,FWRITE,FPRINTF,FSCANF函数),文件的定位(REWIND,FSEEK函数)。考试方式1.笔试:120分钟,满分100分,其中含公共基础知识部
8、分的30分。2.上机:60分钟,满分100分。上机操作包括:(1)填空。(2)改错。(3)编程。一、选择题(1)(10)每小题2分,(11)(50)每小题1分,共60分)下列各题A)、B)、c)、D)四个选项中,只有一个选项是正确的,请将正确的选项涂写在答题卡相应位置上,答在试卷上不得分。(1)在数据结构中,从逻辑上可以把数据结构分为_。A)动态结构和静态结构B)紧凑结构和非紧凑结构c)线性结构和非线性结构D)内部结构和外部结构答案:C评析:逻辑结构反映数据元素之间的逻辑关系,线性结构表示数据元素之间一对一的关系,非线性结构表示数据元素之间一对多或多对一的关系。(2)若进栈序列为l,2,3,4
9、,进栈过程中可以出栈,则下列不可能的一个出栈序列是_。A)1,4,3,2B)2,3,4,lC)3,1,4,2D)3,4, 2,1答案:C评析:栈是一种后进先出表,选项c中,先出栈的是3,说明此时栈内必然有1,2,由于l先于2进栈,所以l不可能在2之前出栈,故选项C这种出栈序列是不可能的。(3)排序方法中,将整个无序序列分割成若干小的子序列并分别进行插入排序的方法,称为_。A)希尔排序B)冒泡排序c)插入排序D)选择排序答案:A评析:希尔排序法的基本思想是:将整个无序序列分割成若干小的子序列分别进行插入排序。(4)在顺序表(3,6,8,10,12,15,16,18,21,25,30)中,用二分法
10、查找关键码值11,所需的关键码比较次数为_。A)2B)3 C)4D)5答案:C评析:二分法查找是用关键码与线性表的中间元素比较,然后根据比较结果来判断是结束查找,还是在左边或者右边子表按相同的方法继续查找。本题中,与ll比较的关键码分别为15,8,10,12四个。(5)对于n个结点的单向链表(无表头结点),需要指针单元的个数至少为_。A)n-1B)nC)n+lD)2n答案:C评析:在n个结点的单向链表(无表头结点)中,每个结点都有一个指针单元(即指针域),加上头指针,至少需要n+1个指针单元。(6)在软件开发过程中,软件结构 设计 是描述_。A)数据存储结构 B)软件体系结构C)软件结构测试D
11、)软件控制过程答案:B评析:从工程管理角度来看,软件设计分两步完成:概要设计和详细设计。概要设计(又称结构设计)将软件需求转化为软件体系结构、确定系统级接口、全局数据结构或数据库模式。(7)模块本身的内聚是模块独立性的重要性度量因素之一。在7类内聚中,具有最强内聚的一类是_。A)顺序性内聚 B)过程性内聚c)逻辑性内聚D)功能性内聚答案:D评析:内聚性是一个模块内部各元素间彼此结合的紧密程度的度量。内聚共有7类,它们之间的内聚性由弱到强排列顺序为:偶然内聚、逻辑内聚、时间内聚、过程内聚、 通信 内聚、顺序内聚和功能内聚。(8)数据存储和数据流都是_,仅仅是所处的状态不同。A)分析结果B)事件C
12、)动作D)数据答案:D评析:数据流图有4种成分:源点或终点、处理、数据存储和数据流。数据存储是处于静止状态的数据,数据流是处于运动中的数据。(9)数据的完整性是指数据的正确性、有效性和_。A)可维护性B)独立性C)安全性D)相容性答案:D评析:数据模型的完整性规则是给定的数据模型中数据及其联系所具有的制约和依存规则,用以限定符合数据模型的数据库状态及其状态的变化,以保证数据的正确性、有效性和相容性。(10)关系代数运算是以_为基础的运算。A)关系运算B)谓词运算c)集合运算 D)代数运算答案:C评析:关系代数运算是以关系代数作为运算对象的一组高级运算的集合。它的基本操作是并、交、差、笛卡尔积,
13、另外还包垂直分割(投影)、水平分割(选择)、关系的结合(连接)等。(11)能将高级语言程序转换成目标语言程序的是_。A)调试程序B)解释程序C)编译程序D)编辑程序答案:C评析:用高级语言编写的程序称为源程序,而计算机只能识别和执行由0和l组成的二进制指令,所以高级语言必须先用一种称为编译程序的软件,把源程序翻译成二进制形式的目标程序。(12) _是构成c语言程序的基本单位。A)函数B)过程c)子程序 D)子例程答案:A评析:c程序是由函数构成的。一个c源程序至少包含一个main函数,也可以包含一个main函数和若干个其他函数,因此,函数是c程序的基本单位。(13)可以在C语言中用做用户标识符
14、的是_。A)voidB)as_b3C)forD)2cdefine_123 -abcDoWORD Ifcas SIG答案:B评析:c语言规定,标识符只能由字母、数字和下划线三种符号组成,而且第一个字符必须是字母或下划线。另外还需要注意的是关键字不能作标识符。选项A中void,C中for都为关键字,D中2c以字母开头。(14)若有以下类型说明语句:char w;int x;float y,z;则表达式w*x+z-y的结果为_类型。A)floatB)char C)int D)double答案:A评析:在进行运算时,不同类型的数据参加运算,需要先将其转换成同一类型的数据,然后再进行运算。转换的顺序由低
15、到高为:char,shortintunsignedlongdoublefloat,故结果为float型。(15)main()float x=123A56;printf(-52fn,x);以上程序输出的结果是_。A)1234B)1235C)12345D)12346答案:D评析:f格式符,用来输出实数,以小数形式输出。-mnf的含义是:输出数据共占m列,其中n位小数,如果输出位数小于m。则右端补空格。如果总长度大于列数,则按实际情况四舍五入输出。(16)下面语句的输出结果是_。Printf(dn,strlen(t065xffn);A)14B)8C)5 D)输出项不合法,无正常输出答案:C评析:在c
16、语言中,以开头的字符均为转义字符,其中后可跟l3位八进制数或在后跟字母x及l2位十六进制数,以此来代表一个特定的字符。(17)下列程序的输出结果是_。main()int a=0,b=0,c=0;if(+a0lI+b0)+c;printf(na=d,b=d,c=d,a,b,c);A)a=0,b=0,c=0 B)a=l,b=l,c=1C)a=l,b=O, c=I D)a=0, b=1c=1答案:C评析:是或运算,它有个短路的特点需特别注意,当运算符左边的表达式的值为真时,则程序就不再对右边的表达式的值进行运算,而是使得整个表达式的值直接为真。(18)下列程序的输出结果是_。Main()int i;
17、for(i=1;i+l;i+)if(i4)printlf(d,i+);break;printf(d,i+);A)55B)56c)程序错误,没有输出D)循环条件永远为真,死循环答案:B评析:本程序中有个for循环,但注意到for循环的条件是i+l,也就是只要i+l的值为真(非零值均为真),就执行循环。当i=l的时,i+l的值为真,判断if条件不成立,执行i+,输出i的值为5。(19)下列程序的输出结果是_。#define A 100main()int i=O,sum=O;doif(I=(i2)*2)continue;sum+=i;while(+iprintf(dn,sum);A)2500B)20
18、50C)4D)O答案:A评析:本题程序的功能是求1到_99之问(包括1和99)所有奇数之和。程序中的while循环的终止条件为+i=100,在while循环体内,如果i是偶数,则执行continue,跳过这一次循环,执行下一次循环,否则求和。最后输出的值是1到99之间(包括l和99)所有奇数之和(1+99)*502=2500。 (20)下列程序的输出结果是_。main()int I=3;switch(i) case 1:case 2:printf(d,i);case 3:case 4:break;default:printf(OK);A)0B)3C)OKD)没有任何输出答案:D评析:在题中,i
19、的值为3,由于case 3:后面没有break语句,所以继续向下执行case 4:后面的语句,由于case 4:后面的语句为break强行退出switch语句,所以,本题没有任何输出。(21)下列程序执行后的输出结果是_。main()int m3=1,4,7,2,5,8,3,6,9;int i,k=2:for(I=0;i3;i+)printf(d,mki);A)456B)258C)369D)789答案:C评析:根据二维数组的定义得出:mOO=1,mO1=4,mO2=7,m10=2,rail1=5,m12=8,m20=3,m2l=6,m22=9,所以本题的输出是第3行的值m20,m21,m22,
20、即369。(22)设已定义洱口k为int类型变量,则以下for循环语句_。for(i=0;k=-1,k=1;i+,k+)printf(*n);A)判断循环结束的条件不合法B)是无限循环C)循环一次也不执行D)循环只执行一次答案:B评析:本题定义了一个for循环,循环变量是i,但由于本题并没有设置循环条件,所以循环的条件永远默认为真,即无限次执行循环。(23)下面程序的输出结果是_。unsigned fun(unsigned num) unsigned k=1;dok*=numlO;num=lO;while(num);return(k);main()unsigned n。26;printf(dn
21、,fun(n);A)0B)4c)12D)无限次循环答案:C评析:本题定义了一个fun函数,用于num求和,具体执行过程如下:num=26:k=k*(num10)=1*(2610),所以k=6,num=num10=2;num=2:k=k*(num10)=6*(210),所以k=12,num=numlO=O;num=O:while条件不成立,所以返回k的值12(24)已知字母A的ASCII码值是65,字母a的ASCII码值是97,以下程序_。main()char a=A;int b=20;printf(d,o,(a=a+a,a+b,b),a+a-A,b);A)表达式非法,输出零或不确定值B)因输出
22、项过多,无输出或输出不确定值C)输出结果为20,141D)输出结果为20,141,20答案:C评析:本题中首先输出逗号表达式a=a+a,a+b,b的值,即20。然后以八进制的形式输出a+a-A的值为97对应的八进制数141,由于最后一个表达式b没有对应输出格式的输出项表列就不会输出。(25)C语言函数返回值的类型是由_决定的。A)return语句中的表达式类型B)调用函数的主调函数类型c)调用函数时临时 D)定义函数时所指定的函数类型答案:D评析:函数值的类型应当是在定义函数时指定的。在定义函数时对函数值说明的类型一般应该和return语句中的表达式类型一致,如果不_致,则以函数类型为准,即函
23、数类型决定返回值的类型。2一、选择题(1)(10)每小题2分,(11)-(50)每小题1分,共60分)下列各题A)、B)、c)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。(1)下面叙述正确的是_。A)算法的执行效率与数据的存储结构无关B)算法的空间复杂度是指算法程序中指令(或语句)的条数C)算法的有穷性是指算法必须能在执行有限个步骤之后终止D)算法的时间复杂度是指执行算法程序所需要的时间答案:C评析:算法的设计可以避开具体的计算机程序设计语言,但算法的实现必须借助程序设计语言中提供的数据类型及其算法。数据结构和算法是计算机科学的两个重要支柱。(
24、2)以下数据结构属于非线性数据结构的_。A)队列B)线性表C)二叉树D)栈答案:C评析:线性表、栈和队列等数据结构所表达和处理的数据以线性结构为组织形式。栈又称后进先出表(Last In First Out);队列又称先进先出表(First:In First Out)。二叉树的数据结构是树型结构,结构中数据元素之间存在着一对多的关系,因此它是一种非线性数据结构。(3)在一棵二叉树上第8层的结点数最多是_。A)8B)16C)128D)256答案:C评析:根据二叉树的性质:二叉树第i(i1)层上至多有2i-1个结点。得到第8层的结点数最多是128。(4)下面描述中,不符合结构化程序设计风格的是_。
25、A)使用顺序、选择和重复(循环)三种基本控制结构表示程序的控制逻辑B)自顶向下C)注重提高程序的执行效率D)限制使用goto语句答案:C评析:结构化程序设计方法的四条原则是:1自项向下;2逐步求精;3模块化;4限制使用goto语句。(5)下面概念中,不属于面向对象方法的是_。A)对象、消息 B)继承、多态c)类、封装D)过程调用答案:D评析:面向对象方法是一种运用对象、类、封装、继承、多态和消息等概念来构造、测试、重构软件的方法。面向对象方法从对象出发,发展出对象、类、消息、继承等概念。(6)在结构化方法中,用数据流程图(DFD)作为描述工具的软件开发阶段是_。A)可行性分析B)需求分析c)详
26、细设计D)程序编码答案:B评析:软件开发阶段包括需求分析、总体设计、详细设计、编码和测试五个阶段。其中需求分析阶段常用的工具是数据流图和数据字典。7)软件生命周期中所花费用最多的阶段是_。A)详细设计B)软件编码c)软件测试D)软件维护答案:D评析:软件生命周期分为软件定义、软件开发及软件运行维护3个阶段。本题中详细设计、软件编码和软件测试都属于软件开发阶段;维护是软件生命周期的最后一个阶段。(8)数据库系统的核心是_。A)数据模型B)DBMSC)软件工具D)数据库答案:B评析:数据库管理系统DBMS是数据库系统的核心。DBMS是负责数据库的建立、使用和维护的软件。DBMS建立在 操作系统 之
27、上,实施对数据库的统一管理和控制。用户使用的各种数据库命令以及应用程序的执行,最终都必须通过DBMS。(9)下列叙述中正确的_。A)数据处理是将信息转化为数据的过程B)数据库设计是指设计数据库管理系统c)如果一个关系中的属性或属性组并非该关系的关键字,但它是另一个关系的关键字,则称其为本关系的外关键字D)关系中的每列称为元组,一个元组就是一个字段答案:C评析:数据处理是指将数据转换成信息的过程,故选项A叙述错误;设计数据库的目的实质上是设计出满足实际应用需求的实际关系模型;关系中的行称为元组,对应存储文件中的记录,关系中的列称为属性,对应存储文件中的字段,故D选项叙述错误。(10)下列模式中,
28、_是用户模式。A)内模式B)外模式C)概念模式D)逻辑模式答案:B评析:数据库管理系统的三级模式结构由外模式、模式和内模式组成。外模式,指数据库用户所看到的数据结构,是用户看到的数据视图。模式,是数据库中对全体数据的逻辑结构和特性的描述,是所有用户所见到的数据视图的总和。内模式是指数据在数据库系统内的存储介质上的表示,即对数据的物理结构和存取方式的描述。(11)C语言规定,程序中各函数之间_。A)既允许直接递归调用也允许间接递归调用B)不允许直接递归调用也不允许间接递归调用C)允许直接递归调用不允许间接递归调用D)不允许直接递归调用允许间接递归调用答案:A评析:c语言规定,程序中各函数之间既允
29、许直接递归调用也允许间接递归调用。(12)在使用程序流程图来表示算法时,菱形用来表示_。A)输入与输出B)子程序C)判断分支D)循环边界答案:C评析:美国国家标准化协会ANSI规定了一些常用的流程图符号,其中椭圆框表示起止框,方框表示处理框,菱形框表示判断分支,箭头表示流程线。(13)C语言中下列叙述正确的是_。A)不能使用dowhile语句构成的循环B)dowhile语句构成的循环,必须用break语句才能退出C)dowhile语句构成的循环,当while语句中的表达式值为非零时结束循环D)dowhile语句构成的循环,当while语句中的表达式值为零时结束循环答案:D评析:选项A是错误的,
30、c语言支持d0while语句;选项B是错误的,dowhile构成的循环,当while语句中的表达式值为零时结束循环,而不是非零;选项c也是错误的。(14)以下选项中属于C语言的数据类型是_。A)复数型B)逻辑型C)双精度型D)集合型答案:C评析:c语言的数据类型分为基本类型、构造类型、指针类型、空类型四大类。其中,基本类型分为整型、字符型、实型三类。实型又称浮点型,包括单精度型和双精度型两种类型。(15)在C语言中,不正确的int类型的常数是_。A)32768B)0C)037 D)0xAF答案:A评析:c语言中int类型的常数的范围是:-3276832767。c整常数可用三种形式表示:十进制整
31、数,八进制整数,十六进制整数。选项A超出范围,不正确。main()int a=65535;printf(du,a,a);A)-1 -1B)65535 65535 C)-1 65535D)65535 -l答案:C评析:printf函数中不同类型的数据用不同的格式字符,其中d是按整型数据的实际长度输出十进制整数。变量a=65535以d格式输出时溢出输出值为该数的补码值,即1;u用来输出unsigned型数据,无符号整型变量的数值范围为065535,所以变量a=65535以u格式输出的值为65535。(17)下列描述中不正确的是_。A)字符型数组中可以存放字符串B)可以对字符型数组进行整体输入、输出
32、c)可以对整型数组进行整体输入、输出D)不能在赋值语句中通过赋值运算符=对字符型数组进行整体赋值答案:C评析:c语言规定只能逐个引用数组元素而不能一次引用整个数组。字符数组的输入、输出可以将整个字符串一次输入或输出。所以,选项c的说法是不正确的。(18)以下程序的输出结果是_。main()int i,x33=9,8,7,6,5,4,3,2,1,*p=&x11;for(I=0;i=b=0)&(aOb=0&b=O)&(a0&b0)&(a+b0答案:D评析:选项A中,表达式表示的是a,b为异号;选项B中,表达式表示的是0,因为没有满足条件的值;选项c中,表达式表示的是0,因为没有满足条件的值;选项D
33、表示的是a和b为同号。(24)若己定义:int a9,*p=a;并在以后的语句中未改变p的值,不能表示al地址的表达式是_。A)p+lB)a+lC)a+D)+p答案:C评析:数组名是指针常量,是个固定的指针,不能对数组名赋予一个新的地址值,也不能使这个指针常量移动,指向数组的其它元素。(25)以下程序的输出结果是_。main() int a=-1,b=1,k;if(+a0)&!(b-=0)printf(ddn,a,b);elseprintf(ddn,b,a)A)-1lB)0lC)10 D)00答案:C评析:逻辑运算符的优先次序如下:!(非)&(与)(或),但本题需特别、注意的是短路的概念。3一
34、、选择题(1)(10)每小题2分,(11)-(50)每小题1分,共60分)下列各题A)、B)、c)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。(1)算法的时间复杂度是指_。A)执行算法程序所需要的时间B)算法程序的长度C)算法执行过程中所需要的基本运算次数D)算法程序中的指令条数答案:C评析:所谓算法的时间复杂度,是指执行算法所需要的计算工作量。(2)下列叙述中正确的是_。A)线性表是线性结构 B)栈与队列是非线性结构C)线性链表是非线性结构 D)二叉树是线性结构答案:A评析:一般将数据结构分为两大类型:线性结构与非线性结构。线性表、栈与队列、
35、线性链表都是线性结构,而二叉树是非线性结构。(3)下面关于完全二叉树的叙述中,错误的是_。 A)除了最后一层外,每一层上的结点数均达到最大值B)可能缺少若干个左右叶子结点C)完全二叉树一般不是满二叉树D)具有结点的完全二叉树的深度为log2n+1答案:B评析:满二叉树指除最后一层外每一层上所有结点都有两个子结点的二叉树。完全二叉树指除最后一层外,每一层上的结点数均达到最大值,在最后一层上只缺少右边的若干子结点(叶子结点)的二叉树。(4)结构化程序 设计 主要强调的是_。A)程序的规模 B)程序的易读性c)程序的执行效率 D)程序的可移植性答案:B评析:结构化程序设计主要强调的是结构化程序清晰易
36、读,可理解性好,程序员能够进行逐步求精、程序证明和测试,以保证程序的正确性。(5)在软件生命周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是_。A)概要设计B)详细设计C)可行性分析D)需求分析答案:D评析:需求分析是对待开发软件提出的需求进行分析并给出详细定义,即准确地确定软件系统的功能。编写软件规格说明书及初步的用户手册,提交评审。(6)数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。下列图符名标识的图符不属于数据流图合法图符的是_。A)控制流B)加工C)数据存储D)源和潭答案:A评析:数据流图从数据传递和加工的角度,来刻画数据流从输入到输出的移动变换过程。数据流图中的主要图形元素有:加工(转换)、数据流、存储文件(数据源)、源和潭。(7)软件需求分析一般应确定的是用户对软件的_。A)功能需求B)非功能需求C)性能需求D)功能需求和非功能需求答案:D评析:软件需求分析中需要构造一个完全的系统逻辑模型,理解用户提出的每一功能与性能要求,是用户明确自己的任务。因此,需求分析应确定用户对软件的功能需求和非功能需求。(8)下述关于数据库系统的叙述中正确的是_。A)数据库系统减少了数据冗余B)数据库系统避免了一切冗余C)数据库系统中数据的一致性是指数据类型的一致D)数据库系统比文件系统能管理更多的数据