软件基础题库全文档格式.docx

上传人:b****2 文档编号:5801532 上传时间:2023-05-05 格式:DOCX 页数:116 大小:67.66KB
下载 相关 举报
软件基础题库全文档格式.docx_第1页
第1页 / 共116页
软件基础题库全文档格式.docx_第2页
第2页 / 共116页
软件基础题库全文档格式.docx_第3页
第3页 / 共116页
软件基础题库全文档格式.docx_第4页
第4页 / 共116页
软件基础题库全文档格式.docx_第5页
第5页 / 共116页
软件基础题库全文档格式.docx_第6页
第6页 / 共116页
软件基础题库全文档格式.docx_第7页
第7页 / 共116页
软件基础题库全文档格式.docx_第8页
第8页 / 共116页
软件基础题库全文档格式.docx_第9页
第9页 / 共116页
软件基础题库全文档格式.docx_第10页
第10页 / 共116页
软件基础题库全文档格式.docx_第11页
第11页 / 共116页
软件基础题库全文档格式.docx_第12页
第12页 / 共116页
软件基础题库全文档格式.docx_第13页
第13页 / 共116页
软件基础题库全文档格式.docx_第14页
第14页 / 共116页
软件基础题库全文档格式.docx_第15页
第15页 / 共116页
软件基础题库全文档格式.docx_第16页
第16页 / 共116页
软件基础题库全文档格式.docx_第17页
第17页 / 共116页
软件基础题库全文档格式.docx_第18页
第18页 / 共116页
软件基础题库全文档格式.docx_第19页
第19页 / 共116页
软件基础题库全文档格式.docx_第20页
第20页 / 共116页
亲,该文档总共116页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

软件基础题库全文档格式.docx

《软件基础题库全文档格式.docx》由会员分享,可在线阅读,更多相关《软件基础题库全文档格式.docx(116页珍藏版)》请在冰点文库上搜索。

软件基础题库全文档格式.docx

(耦合)

21)模块之间的耦合有数据耦合、控制耦合、公共耦合、内容耦合,其中________耦合的耦合程度最高。

(内容)

22)概要设计阶段重要任务是设计_____________________的模块。

(高内聚低耦合)

23)______________是按自顶向下进行软件系统总体设计的思想发展而来的,是以数据流为基础、自顶向下、逐步求精和模块化的一个过程。

该方法也被称为面向数据流的设计方法。

(结构化程序设计)

24)数据流图大致可分为两种类型:

变换型和_____________。

(事务型)

25)文风良好的程序中___________行占整个程序文件的三分之一到一半、甚至更多。

(注释)

26)文风良好的程序中不同的程序单元应用_____行隔开。

(空)

27)大型软件系统的测试阶段通常分为四个步骤进行,首先进行的是单元测试,然后依次进行集成测试、和系统测试。

(验收测试)

28)静态测试方法包括计算机辅助静态分析方法和测试方法。

(人工)

29)动态测试方法有白盒测试方法、黑盒测试方法和等。

(穷举测试)

30)设计测试用例时,不但应包括对有效的和期望的输入条件进行测试,也应包括对

进行测试。

(无效的和非期望的输入条件)

31)常用的黑盒测试方法有等价划分法,,错误推测法等3种。

(边界值法)

32)在进行单元测试时,须建立一个单元测试环境,即设置若干辅助测试模块,来模拟其他模块与被测试模块之间的关系。

因此要设计两类辅助测试模块,他们是驱动模块和桩模块。

驱动模块用以模拟被测试模块的级调用模块。

(上)

33)集成测试的方法主要有两种:

非渐增式测试和。

(渐增式测试)

34)验收测试通过一系列测试以表明软件符合需求规格说明书要求。

(黑盒)

35)软件测试的目的是。

(尽可能多地发现程序中的错误)

36)软件调试的目的是。

(定位错误的位置并改正)

37)软件维护工作占到软件生命周期中开发人员所花费工作量的左右。

(60%)

38)是指在软件交付使用后,为了改正错误或满足新的需求而修改软件的过程。

39)为了满足用户新增功能或修改已有功能的建议而进行的维护称之为。

(完善性维护)

40)把诊断和改正软件错误的过程称为__________。

(改正性维护)

2、简答

1)、与传统生命周期相比,采用原型模型的主要理由是什么?

2)什么是软件危机?

软件危机出现后的具体表现有那些?

3)概要设计阶段的主要任务有哪些?

4)大型软件系统的测试阶段的通常分为哪几个步骤进行?

简述每个步骤所做的主要工作。

5)简述软件生命周期法划分为几个阶段。

6)简述结构化分析方法的基本思想。

7)调试有什么方法和原则?

8)选择测试数据的基本原则是什么?

9)软件设计分那两步?

每一步的任务是什么?

10)有哪几种类型的软件维护工作?

 

软件工程部分简答题答案

结构化分析方法(SA)的基本思想是:

对于一个复杂的系统,按照其内部数据的流动和处理过程,采用“抽象”和“分解”的手段,首先“抽象”得到系统的高层逻辑模型,之后采用自顶向下逐步求精的方法,对系统逻辑模型逐层不断“分解”细化,直到不能再细化为止,即可得到系统最底层的详细逻辑模型。

对系统结构化分析的成果通常采用数据流图和数据字典来表示。

软件调试的常用方法有:

试探法、回溯法、对分查找法、归纳法和演绎法。

试探法根据错误征兆猜想出错的位置并进行调试;

回溯法根据错误征兆人工沿程序控制流逆向往回追踪源程序代码,直到找出错误或确定故障范围为止;

对分查找法根据程序中关键变量在某些位置的正确值,将错误范围迅速缩小到该位置之前或之后的一半范围,重复此过程直到把错误范围缩小到易诊断或能够直接确定为止;

归纳法根据错误征兆导出错误出处的假设并证明假设以得出结论;

演绎法根据错误征兆设想所有可能的原因,之后通过数据分析排除矛盾的假设,最后证明剩余的假设以确定结论。

调试的原则:

最有效的调试方法是用头脑分析与错误征兆有关的信息;

只把调试工具当做辅助手段来使用;

避免使用试探法,只将其作为最后采用的手段;

在出现一个错误的地方,很可能还有别的错误;

当心修正一个错误的同时引入新的错误。

选择测试数据的总的原则是:

用尽可能少的测试数据发现程序中尽可能多的错误。

在白盒测试方法中选择数据的基本原则是:

从用户角度只按照程序功能选择测试数据;

不但应包括对有效的和期望的输入数据进行测试,也包括对无效和非期望的数据进行测试,以确定系统是否具有足够的健壮性。

白盒测试方法中选择测试数据的基本原则是:

根据被测试程序的逻辑结构选择测试数据,按照测试要求选择相应的覆盖技术以达到所需的覆盖强度。

第二章数据结构概述

1)若一个算法的时间复杂度用T(n)表示,其中n的含义是________。

2)将长度为n的单链表连接在长度为m的单链表之后,其算法的时间复杂度为________。

3)具有非线性结构的数据结构有________。

4)在线性表的顺序存储结构上实现查找某个关键字X的平均时间复杂度,与在单链表结构上实现查找某个关键字X的平均时间复杂度比起来________。

(高、低、相同)

5)数据的逻辑结构是从逻辑关系上描述数据,它与数据的__________无关,是独立于计算机的。

6)__________是对特定问题求解步骤的一种描述,它是指令的有限序列,其中每一条指令表示一个或多个操作。

7)算法是对特定问题求解步骤的一种描述,它是__________的有限序列。

8)算法的重要特性有__________、确定性、可行性、输入和输出。

9)算法的重要特性有穷性、__________、可行性、输入和输出。

10)算法的重要特性有穷性、确定性、__________、输入和输出。

11)算法的重要特性有穷性、确定性、可行性、__________、和输出。

12)算法的重要特性有穷性、确定性、可行性、输入和__________。

13)__________是指所有能被输入到计算机并能被加工处理的信息的集合。

14)数据元素是数据处理的__________。

数据项是数据处理的最小单位。

15)__________是指数据元素及其相互关系。

16)()是指数据处理的最小单位。

17)_____________通常用来衡量算法的优劣,根据算法编制成程序后,是程序在计算机上运行时所消耗的时间。

18)空间复杂度用来衡量程序在计算机上运行时所占的存储单元,其中主要考虑运行时所需要的____________________。

19)程序for(i=1;

i<

=n;

i++)

x=x+1;

时间复杂度是__________。

20)在数据结构中,经常采用的存储结构有线性存储结构和_____________。

第三章顺序表

一、填空

1. 

若线性表最常用的操作是存取第i个元素及其前驱元素的值,则采用()存储结构最节省运算时间。

2.顺序存储结构的线性表中所有元素的地址()连续。

3.顺序存储结构的线性表其物理结构与逻辑结构是()的。

4.在具有n个元素的顺序存储结构的线性表任意一个位置中插入一个元素,在等概率条件下,平均需要移动()个元素。

5.在具有n个元素的顺序存储结构的线性表任意一个位置中删除一个元素,在等概率条件下,平均需要移动()个元素。

6.在具有n个元素的顺序存储结构的线性表中查找某个元素,平均需要比较()次。

7.当线性表的元素基本稳定,且很少进行插入和删除操作,但要求以最快的速度存取线性表中第i个元素时,应采用()存储结构。

8.顺序存储结构的线性表中,插入或删除某个元素时,元素移动的次数与其位置()关。

(填有或无)。

9.顺序存储结构的线性表中,访问第i个元素与其位置()关。

10.在具有n个元素的顺序存储结构的线性表中要访问第i个元素的时间复杂度是()。

11.在顺序表L中的i个位置插入某个元素x,正常插入时,i位置以及i位置以后的元素需要后移,首先后移的是()个元素。

12.要删除顺序表L中的i位置的元素x,正常删除时,i位置以后的元素需要前移,首先前移的是()元素。

13.若顺序表中的元素是从1位置开始存放的,要在具有n个元素的顺序表中插入一个元素,合法的插入位置是()。

14.若顺序表中的元素是从1位置开始存放的,要删除具有n个元素的顺序表中某个元素,合法的删除位置是()。

15.在具有n个元素的顺序存储结构的线性表中删除某个元素的时间复杂度是()。

16.在具有n个元素的顺序存储结构的线性表中插入某个元素的时间复杂度是()。

17.在具有n个元素的顺序存储结构的线性表中要访问第i个元素的后继结点的时间复杂度是()。

18.在具有n个元素的顺序存储结构的线性表中,若给定的是某个元素的关键字值,要访问该元素的其它信息的时间复杂度是()。

19.在顺序表中查找某个元素时,需要将当前元素与要找的元素进行若干次的比较,算法经常用while循环来实现,while里面的条件是没找完且()。

20.在顺序表中查找某个元素时,需要将当前元素与要找的元素进行若干次的比较,算法经常用while循环来实现,while里面的条件是()且没找到。

21.如果要将两个升序排列的整型顺序表a中的元素合并到b中(b的空间足够大),合并后表中元素依然升序排列,可以通过多次调用查找函数查找插入位置,再调用()函数来实现插入。

22.若要将一个整型的顺序表拆分为一个存放正数,另一个存放非正数的两个顺序表,存放正数的顺序表用原来的表,时间复杂度为()。

23.顺序表中查找某个元素时,从前到后查找与从后到前查找的时间复杂度()同。

二、简答题

1.下列算法完成在顺序表SeqL的第i个位置插入元素x,正常插入返回1,否则返回0或-1,请在空的下划线上填写合适的内容完成该算法。

//表中最多可以放置MAXLEN个元素

intseq_ins(SeqList*SeqL,inti,DataTypex)

{intj;

if()/*表满*/

{printf("

thelistisfull\n"

);

return0;

}

elseif(i<

1||i>

SeqL->

len+1)/*位置不对*/

thepositionisinvalid\n"

return-1;

else/*正常插入*/

{for(j=SeqL->

len;

j>

=i;

j--)

/*元素后移*/

/*插入元素*/

(SeqL->

len)++;

/*表长加1*/

2.下列算法完成删除顺序表SeqL的第i个元素,元素类型为DataType,其值通过参数px返回,请在空的下划线上填写合适的内容完成该算法。

intseq_del(SeqList*SeqL,inti,)

{intj;

if(SeqL->

len==0)/*表空*/

thelistisempty\n"

return0;

}

elseif()/*位置不对*/

\nthepositionisinvalid"

else/*正常删除*/

{*px=SeqL->

data[i];

/*删除元素通过参数px返回*/

for(j=i+1;

j<

=SeqL->

j++)

;

/*元素前移*/

;

/*表长减1*/

return1;

3.简述什么是顺序存储结构,顺序存储结构的优缺点都有哪些。

4.设有一整型顺序表L,元素从位置1开始存放,下列算法实现将以第一个元素为基准,将其放置在表中合适的位置,使得其前面的元素都比它小,后面的元素均大于等于该元素。

请在空的下划线上填写合适的内容完成该算法。

voidpart(SeqList*L)

{;

/*循环变量声明*/

intx;

/*将第一个元素置入x中*/

for(i=2;

=L->

if()/*当前元素小于基准元素*/

{L->

data[0]=L->

/*当前元素暂存在0位置*/

for(j=i-1;

=1;

j--)/*当前元素前面所有元素后移*/

L->

data[j+1]=L->

data[j];

/*当前元素从0位置移到最前面*/

}

5.设有一整型顺序表L,元素从位置1开始存放,下列算法实现将以第一个元素为基准,将其放置在表中合适的位置,使得其前面的元素都比它小,后面的元素均大于等于该元素。

{inti,j;

i=1;

/*i指向第一个位置*/

j=L->

/*j指向最后一个位置*/

data[0]=L->

data[1];

/*将基准元素暂存在0位置*/

while()

{while((L->

data[j]>

=L->

data[0])&

&

(i<

j))j--;

/*j位置元素大于基准元素且i<

j时j前移*/

if(i<

j)

{L->

data[i]=L->

data[j];

i++;

while((L->

data[i]<

j))i++;

/*i位置元素小于基准元素且i<

j时i后移*/

j)

{

/*将基准元素放在i位置*/

四、完整程序设计

1.在顺序存储结构的职工工资表中,职工工资信息包括:

职工号(no)、姓名(name)、职称(pro)、工资(sal)等四项信息,请编写一完整的程序,实现以下功能:

(1)创建信息表:

从键盘读入所有职工的信息。

(3分)

(2)删除:

给定职工号,删除该职工的信息。

(6分)

(3)修改:

对职称为“教授”的职工工资加100。

(4分)

(4)在显示器(屏幕)上显示所有职工的各项信息。

(5)主程序以菜单的方式调用以上功能。

元素类型及顺序表类型定义如下:

typedefstruct

{charno[8],name[10],pro[6];

floatsal;

}DataType;

{DataTypedata[MAXLEN+1];

intlen;

}SeqList;

2.图书管每本图书包含:

书号(no)、书名(name)、现存量(newnum)、总库存量(sumnum)四项信息,编写完整程序通过顺序表实现:

(1)初始化:

录入现有的所有图书的四项信息。

(3分)

(2)借书:

每本书每次只能借一本,如果库中有该书,则允许借阅并使该书的现存量减1,否则给出相应提示信息。

(3)价值估算:

统计库中所有书的价钱。

价钱为所有书的单价乘以库存量的累加和。

(4)显示:

显示图书管所有藏书信息。

(5)主程序以菜单的方式调用以上功能。

元素类型及顺序表类型定义2分。

3.设有两个整型顺序表L1,L2,其元素值递增有序存放,请定义该顺序表的元素类型及表类型(2分);

设计以下自定义函数:

(1)录入顺序表中所有元素的值。

(2)将顺序表L1,L2合并为到另外一个顺序表L3中,L3中的元素非递减有序排列。

(8分)

(3)输出顺序表中元素的值。

主函数通过调用以上函数实现两个表的合并并显示合并结果。

4.有一个职工基本信息管理,职工信息包含:

职工号、姓名、性别;

编写完整程序,实现如下功能:

(1)录入函数input:

从键盘读入职工信息。

(2)删除函数delete:

给定职工号,删除该职工的信息。

(5分)

(3)插入函数insert:

假定表中职工信息按职工号升序排列,任意给定一职工信息,使得插入后依然有序。

主函数以菜单形式调用以上功能,类型定义2分,主函数4分。

5.有一个学生信息包含:

学号no〈主关键字〉;

姓名name;

英语成绩score。

定义学生信息类型DataType及顺序表类型SeqList;

(1)录入函数input:

从键盘读入学生信息。

(2)查找函数search:

任意给定一个学号,查找其英语成绩,将其成绩通过函数返回,若找不到,返回-1。

假定表中学生信息按学号升序排列,任意给定一学生信息,使得插入后依然有序。

6.设有一个超市的库存情况如下表1所示:

表1超市商品信息

商品编号

商品名称

价格

库存量

10110001

作业本

1.2

20

10110002

铅笔

1.0

10

10110003

钢笔

0.5

30

10110004

铅笔刀

5

编写完整程序实现:

(1)从键盘输入货物信息并将其放在顺序表中。

(4分)。

(2)假定商品信息按货号升序存放,任意插入一商品信息,要求按货号有序插入到表中。

(3)任意给定一个商品编号,查找其商品名称、价格和库存量,如果存在该商品输出并返回1,否则返回0。

主函数以菜单形式调用以上功能,类型定义2分,主函数4分。

7.有一个房产信息管理系统,房产信息包含:

门牌号、户主、电话号码、面积。

编程实现如下功能(要求用顺序表存储):

(1)编写一个初始化函数input:

从键盘读入房产基本信息。

(2)编写一个取暖费用计算函数cost:

任意给定一门牌号,根据门牌号进行查询,找到时,返回应缴纳取暖费,否则返回0,并且给出提示信息。

计算公式为:

每户应缴纳费用=面积*4.5元/m2。

(3)编写一排序函数sort:

按门牌号升序排列。

(4)编写一个函数output:

输出所有面积低于90平方米住户的名称。

8.有一个学生信息包含:

英语成绩english,计算机成绩comp,数学成绩math。

(1)录入基本信息函数input:

从键盘读入学生姓名、学号。

(2)录入成绩inp_score:

给定课程名称,录入所有人本门课的成绩。

(3)删除函数del:

假定表中学生信息学号升序排列,任意给定一学生学号,删除该学生信息,正常删除返回1,否则返回0。

(4)输出函数output:

输出所有人的信息。

(2分)

9.设有一个商品信息表(包括商品编号no、商品名称name、商品库存量count和商品单价price)

编程实现以下功能:

(1)货物信息录入:

按货号有序输入学生信息。

(2)进货管理:

任意输入一个货物信息,在表中查找该货物,若存在此货物,则将该货物的数量加到表中货物数量中;

若不存在该货物,则将该货物信息按照货物号有序插入到表中。

(10分)

(3)货物信息输出:

输出所有货物的信息。

主函数以菜单形式调用以上功能,类型定义2分,主函数3分。

10.设有一个商品信息表(包括商品编号no、商品名称name、商品库存量count和商品单价price)

(1)货物信息录入:

按货号有序输入货物信息。

(2)出货管理:

函数返回值为购买该货物的金额。

任意输入一个货物信息x,在表中查找该货物,若存在此货物且库存量大于等于x的数量,则将表中货物的库存量减去x的数量,计算出需支付的金额并返回;

若库存量不足,则给出相应的提示并返回0。

若不存在该货物,返回-1。

11.有一自来水公司水费缴费系统中,数据信息包括:

用户名称、编号、用水量、水费、缴费情况(缴清,未缴),请定义用户信息数据类型及顺序表类型并设计如下函数:

函数1:

输入所有用户的名称,编号,用水量,用户名为”?

?

”作为结束符。

每个用户的水费通过公式:

水费=用水量*0.59计算得出。

用户的缴费情况都设为未缴。

函数2:

输入用户编号,查找到该用户信息并将该用户的缴费情况都设为缴清。

函数3:

设计一个排序函数,将元素信息按

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2