习题一填空每题2分共10分1从结构化程序设计的观点考虑
- 格式:doc
- 大小:63.50 KB
- 文档页数:8
一、填空题(1分×20=20分)1. 诺兰阶段模型把信息系统的成长过程划分为_______个阶段。
2. 信息系统发展的________理论被称为诺兰阶段模型。
3.反映数据流在系统中流动情况的图是。
4. 一般将系统产生、发展和灭亡的生命历程称为。
5.U/C矩阵的主要作用是确定。
6.数据流程图的四种基本元素是________、________、________、和________。
7.数据流程图配以数据字典,就可以从图形和文字两个方面对系统的__________模型进行描述,从而形成一个完整的说明。
8.系统详细调查具体内容包括__________状况的调查和分析,__________的调查和分析。
9.系统分析的主要任务是尽可能弄清用户对__________的需求,完成新系统的__________设计,规定新系统应当做什么。
10.在工资系统中,电费扣款一项属于__________属性数据。
11. BSP方法将_________和_________两者作为定义企业信息系统总体结构的基础。
12. 系统分析阶段主要任务是形成_________,系统设计阶段主要完成新系统的设计。
13.数据字典主要是对数据的加以定义。
二、判断正误(对的用“T”表示,错误的用“F表示”)(每小题1分,共10分)1.系统的总体设计是一种比较具体的详细设计工作()2.信息系统流程图反映的是计算机的处理流程。
()3.系统分析报告所确定的内容是系统实施的基础和依据。
( )4.数据流由一个或一组固定的数据项组成。
()5.原型法方法贯彻的是自下而上的开发策略。
()6.系统分析报告的主要作用是系统设计的依据。
()7.通常认为在系统设计中,模块是组成系统的基本单位。
()8.进行可行性研究可从技术上、经济上、组织管理上几个方面进行具体分析。
()9.在数据字典中描述数据流时,用符号{ }表示重复。
()10.在数据字典中,处理逻辑的定义仅对数据流程图中最底层的处理逻辑加以说明。
样题一填空题(每空2分,共30分)1、C语言中结构化设计中的三种基本结构是_顺序_ 循环_ 和分支结构。
2、若a=1,b=4,c=3,则表达式!(a<b)||!c&&1的值是_0_。
3、设有四个数据元素a1、a2、a3和a4,对他们分别进行栈操作或对操作。
在进栈或进队操作时,按a1、a2、a3、a4次序每次进入一个元素。
假设栈或队的初始状态都是空。
现在进行进栈两次(即a1,a2进栈),出栈一次,再进栈两次(即a3,a4进栈),出栈一次;第二次出栈得到的元素是___a4__。
4、已知 int x =1, y=2, z=3;则 z+ = x>y?++x:++y的值是__6__。
5、已知 int a[ ] = {10,9,8,7,6}, *P = a; 则*(P+1)*(P+2)[2]的值是____54___。
6、已知 int *p(), (*q) (); 则 p是_返回值为整型指针的函数__,而q是__返回值为整型的函数的指针_______。
7、一个变量有两个重要的值。
它们是地址和值。
8、在面向对象的理论中经常会出现以下三个名词。
请用中文解释之:OOA面向对象分析; OOD面向对象设计;OOP面向对象的编程OOT面向对象测试; OOSM面向对象维护。
9、XML在地理空间信息领域的应用是处理分布式信息的选择工具。
利用它可以存储和发布各种特征的地理信息,并控制地理信息在Web浏览器中的显示。
10、定义一个指向整型数组a的整型指针。
其中a的定义如下:int a[1][2][3][4][5][6][7][8]; int *p= a; 。
二选择题(每小题2分,共70分)1、 __ is the address of a variable or a variable in which theaddress of another variable is stored. (B )A.Director;B.Pointer;C.Array ; D.Record;2 面向对象程序设计以____为基本的逻辑构件,用____来描述具有共同特征的一组对象;以____为共享机制,共享类中的方法和数据。
考题一.选择题(每题1.5分,共30分)( )1. 软件质量因素不包括。
A.正确性B.高性能C.可测试性D.可理解性( )2. 软件可行性研究实质上是要进行一次需求分析、设计过程。
A.简化、压缩的B.详细的C.彻底的D.深入的( )3. 以下哪个软件生存周期模型是一种风险驱动的模型A.瀑布模型B.增量模型C.螺旋模型D.喷泉模型( )4. 可行性分析中,系统流程图用于描述。
A.当前运行系统B.当前逻辑模型C.目标系统D.新系统( )5. 结构化分析建立功能模型的工具是A.DFDB.判定树/判定表C.SCD.结构化语言( )6. 检查软件产品是否符合需求定义的过程称为A.确认测试B.集成测试C.系统测试D.单元测试( )7. 在整个软件维护阶段所花费的全部工作中,所占比例最大的是A.校正性维护B.适应性维护C.完善性维护D.预防性维护( )8. 通信内聚是指。
A.把需要同时执行的动作组合在一起形成的模块B.各处理使用相同的输入数据或者产生相同的输出数据C.一个模块中各个处理元素都密切相关于同一功能且必须顺序执行D.模块内所有元素共同完成一个功能,缺一不可( )9. 一个只有顺序结构的程序,其环形复杂度是A.0B.1C.3D.5( )10. 下述四个能力成熟度等级,级别最高的是A.已定义级B.优化级C.可重复级D.已管理级( )11. 结构化程序设计,主要强调的是A.程序的执行效率B.模块大小C.程序的可理解性D.模块关系( )12. 软件调试技术包括A.边界值分析B.演绎法C.循环覆盖D.集成测试( )13. 需求分析中开发人员要从用户那里了解A.软件做什么B.用户使用界面C.输入的信息D.软件的规模( )14. 数据字典是对数据定义信息的集合,它所定义的对象都包含于。
A.数据流图B.程序框图C.软件结构D.方框图( )15. 面向对象的主要特征除唯一性、继承性、多态性外,还具有。
A.封装性B.移植性C.完整性D.兼容性( )16. 关于软件维护的说法错误的是。
一、单选题5、描述信息系统逻辑模型的主要工具是( )A 、数据流图 D 、数据-功能格栅图 6、 系统调试完成后,在实施系统转换、投入试运行之前,必须做好编写( )和人员培训工作。
A 、系统说明书B 、系统实施方案C 、系统使用说明书D 、系统测试报告7、 网络上的每一个节点都有系统数据的完整拷贝,而且所有节点上的数据更新是同步的,这样的数据分布形式是( )数据分布形式管理信息系统复习题1、管理信息系统是一种( ) A 、自然系统 B 、人工系统 C 、信息处理系统2、用户通过终端设备向系统提岀服务请求, 系统完成服务后通过终端即时回答用户, A 、计算机系统 B 、批处理系统3、关系模型是把数据的逻辑结构归结为满足一定条件的( C 、实时处理系统 )模型。
A 、层次B 、网状C 、一维表 4、系统开发过程中最重要、最关键的环节是()A 、系统分析B 、系统设计C 、系统实现D 、抽象系统这样的信息处理系统属于(D 、分布处理系统D 、二维表D 、A 和 BC 、数据处理功能分析表B 、数据字典A 、集中式B 、分片式C 、重复式D 、混合式8、系统对提高企业科学管理水平,增强企业竞争力以及提高管理人员素质等带来的收益属于(A、直接经济效益B、间接经济效益C、系统收益9、在系统转换中,中间没有过渡阶段,用新系统立即替换旧的系统,这种转换方式称为(A、直接转换B、并行转换C、试运行转换10、层次码是一种()。
A、顺序码B、区间码C、助记码11、系统与环境由系统的()所划分,在它之内称为系统,在它之外称为环境。
A、边界B、输入C、处理12、数据库结构的三个模式中,()是数据库结构的核心。
A、模式B、存储模式C、子模式13、建立管理信息系统的组织基础是指建立管理信息系统中组织内部所需的()A、技术性条件B、非技术性条件C、管理基础条件)。
D、投资回收效益)。
D、分阶段转换D、缩写码D、输岀D、模式与子模式14、生命周期法是一种基于( )的系统开发方法。
算法与程序设计期中考试试题一、选择题:每题2分,30题,共60分()1.以下问题中最适合用计算机编程处理的是__D__. A.制定本学期的学习计划B.计算正方形的周长C.创作一首歌曲D.求1000以内的所有素数( )2.用计算机解决问题的步骤一般为D.(p3)①编写程序②设计算法③分析问题④调试程序A.①②③④B.③④①②C.②③①④D.③②①④()3.下面说法正确的是A.(P5)A.算法+数据结构=程序B.算法就是程序C.数据结构就是程序D.算法包括数据结构()4.以下D是算法具有的特征.(P5)①有穷性②确定性③可行性④输入⑤输出A.①②③B.②③④C.③④⑤D.①②③④⑤()5.常用的算法描述方法有D。
A.用自然语言描述算法B.用流程图描述算法C.用伪代码描述算法D.以上都是( )6.流程图中表示判断框的是B。
(P8)A.矩形框B.菱形框C.圆形框D.椭圆形框( )7.程序设计语言的发展阶段不包括A。
(P11)A.自然语言B.机器语言C.汇编语言D.高级语言( )8.要使命令按钮显示文字“确定”,正确的设置是把该命令按钮的C。
(P18) A.Font属性设置为“确定”B.ForeColor属性设置为“确定”C.Caption属性设置为“确定”D.BorderStyle属性设置为“确定”()10.下面的属性中,用于设定控件高度的是化程B序设.。
(P18)A.FontB.HeightC.CaptionD.Width()11.窗体的BackColor属性用于设置窗体的__D__。
(p18)A.宽度B.前景色C.高度D.背景色12.在VB中,若要将变量N定义为单精度型数据,则下列表示方法中正确的是B化。
(P21)A.Dim N as StringB.Dim N as SingleC.Dim N as IntegerD.Dim N as Long( )14.在程序设计的过程中,错误的声明一个变量会导致程序不能正常编译.因此,需要规范合理地声明一个变量,下列合法的变量名是B。
第一套试题一、单项选择题( 15个小题,每题2分,共30 分):二、1.一个C语言程序的执行是从_____________ 。
三、A.main 函数开始,直到main 函数结束四、B.第一个函数开始,直到最后一个函数结束五、C.第一个函数开始,直到最后一个语句结束六、D. main 函数开始,直到最后一个函数结束七、2. 正确的自定义标识符是____________ 。
八、A. x_2 B. a-b C . 2sum D. $123九、3.下面程序的运行结果是 ____________ 。
十、#define F(x) x*x十一、void main( )十二、{ int a=2,b=1;十三、prinft( “% n”,F(a+b));十四、}十五、A. 3 B. 5 C. 8 D. 9十六、4.读以下程序段,判断 a 的值为。
十七、int *p,a=10,b=1;十八、p=&a;十九、a=*p+b;二十、A. 12 B. 10 C . 11 D .编译出错二十一、5.根据以下说明语句,则下面的叙述中不正确的是__________________ 。
二十二、struct student二十三、{ int num;二十四、char name[10];二十五、int score;二十六、}stu;二十七、A. struct 是定义结构体类型的关键字二十八、B. stu 是结构体变量名二十九、C. num, name, score 都是结构体成员名三十、D. stu 是结构体类型名三十一、6.已知字母A 的ASCII 码为十进制数65 ,变量ch1 为字符型,则执行语句ch1=‘A'+‘5'-‘2';后ch1 中的值是________ 。
三十二、A. D B. 67 C .一个不确定的值D. C三十三、7. 以下哪种方法不能对一维数组进行正确的初始化三十四、A. i nt a[ ]={1,2,3}; B . int a[5]={ };三十五、C. i nt a[5]=(1,2,3,4,5); D . int a[ ]={2,3,4*5,6};三十六、8. 已正确定义字符变量ch1 ,下面能正确赋值的是 ______________ 。
c语言程序设计期末试题A(含答案)一、单项选择题(选择一个最佳答案,每题2分,共20分)1.一个C程序的执行是从( )。
A)本程序的main函数开始,到main函数结束B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C)本程序的main函数开始,到本程序文件的最后一个函数结束D) 本程序文件的第一个函数开始,到本程序main函数结束2.下列选项中,不能用作标识符的是( ).A)_1234_ B) _1_2 C)int_2_ D) 2_int_3。
以下定义语句中正确的是()。
A)char a='A’b=’B’; B)float a=b=10.0;C)int a=10,*b=&a;D) float *a,b=&a;4.设有以下定义:#define d 2int a=0; double b=1。
25; char c=’A’;则下面语句中错误的是()。
A) a++;B)b++ C)c++;D) d++;5。
以下4个选项中,不能作为一条C语句的是().A) {;} B) a=0,b=0,c=0; C)if(a〉0); D) if(b==0)m=1;n=2;6.有以下定义语句 double a,b; int w; long c;若各变量已正确赋值,则下列选项中正确的表达式是().A)a=a+b=b++ B)w%(int)a+b)C)(c+w)%(int)a D)w=a==b; 7。
设有定义:int n=0,*p=&n,**q=&p;则以下选项中,正确的赋值语句是( )。
A)p=1; B)*q=2;C)q=p; D) *p=5;8。
设有定义:int a,*pa=&a; 以下scanf语句中能正确为变量a读入数据的是( )。
A) scanf(“%d”,pa) ; B)scanf(“%d",a);C) scanf(“%d”,&pa); D)scanf(“%d”,*pa);9。
《C#程序设计》课程考试试卷九一、单项选择题(15小题,每小题2分,共30分)二、判断题(5小题,每题2分,共10分)三、填空题(10小题,每题2分,共20分)四、简答题(2小题,每题10分,共20分)五、编程题(2小题,每题10分,共20分)《C#程序设计》课程考试试卷九答案一、单项选择题(15小题,每小题2分,共30分)1、D2、A3、A4、B5、D6、B7、C8、C9、D 10、B11、B 12、B 13、A 14、D 15、C二、判断题(5小题,每题2分,共10分)1、错2、对3、对4、错5、对三、填空题(10小题,每题2分,共20分)1、Console2、jd/180.0*Math.PI,c*Math.Cos(d)3、1234、double []m=new double[4]{1,2,3,4}或double []m={1,2,3,4}5、Finally6、ref或out7、Override8、Dock9、Peek10、Read( )四、简答题(2小题,每题10分,共20分)1、答:模式窗体:当打开模式窗体后,其父窗体不能获得焦点,若想获得焦点必须先关闭或卸载打开的模式窗体,如Word中的“另存为”对话框。
非模式窗体:当打开非模式窗体后,在不关闭或卸载非模式窗体前,其父窗体依然可以获得焦点,进行操作,如Word中的“查找”对话框。
非模式窗体使用Form类的Show方法显示,模式窗体使用Form类的ShowDialog方法显示。
举例如下://非模式窗体From qform=new Form();qform.Show();//模式窗体Form qform=new Form();qform.ShowDialog()2、答:面向对象程序设计中有四种访问修饰符对类或类成员的可访问性进行控制,它们分别是public、protected、internal和private。
使用这些访问修饰符可为类或类成员指定下列五个可访问性级别,各级别及其含义如下:public 访问不受限制。
一、选择题(1-10、21-40每题2分,11-20每题1分,共70分)下列各题A、B、C、D四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上。
1 【正确答案】 A【试题解析】外模式也称子模式,它是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,它是由概念模式推导出来的,是数据库用户的数据视图,是与某一应用有关的麴据的逻辑表示。
一个概念模式可以有若干个外模式。
2 【正确答案】 C3 【正确答案】 C【试题解析】结构化程序设计的核心和基础是结构化设计理论,其中包括:结构化分析方法、结构化设计方法和结构化编程方法。
4 【正确答案】 D【试题解析】文件系统所管理的数据文件基本上是分散、相互独立的。
相对于数据库系统,以此为基础的数据处理存在3个缺点:数据冗余大、数据的不一致性、程序与数据的依赖性强。
5 【正确答案】 D【试题解析】程序设计风格是指编写程序时所表现出的特点、习惯和逻辑思路。
著名的"清晰第一,效率第二"的论点已成为当今主导的程序设计风格。
形成良好的程序设计风格,主要注意和考虑下述一些因素:源程序文档化、数据说明的次序规范化、避免滥用goto语句等。
除此之外,一般较优秀的软件设计尽量做到高内聚、低耦合,这样有利于提高软件模块的独立性。
6 【正确答案】 D【试题解析】软件设计一般分为总体设计和详细设计两个阶段。
总体设计的任务是确定软件的总体结构、子系统和模块的划分,确定模块间的接口和评价模块划分质量,并进行数据分析;详细设计的任务是确定每一模块实现的定义,包括数据结构、算法和接口。
7 【正确答案】 D【试题解析】概要设计是数据库的总体设计,其目的就是要按照需求规格说明书把软件按照功能划分为多个模块,然后确定每个模块要实现的功能,最后确定模块之间的调用关系,而设计每个模块的伪代码则属于详细设计。
所以D选项不属于概要设计。
一、填空题(每空1分,共25分)1.软件生存周期一般可以划分为,问题定义、可行性研究、需求分析、设计、编码、测试和运行和维护。
2.基于软件的功能划分,软件可以划分成___系统软件_、支撑软件、应用软件__三种。
3.可行性研究,应从经济可行性、技术可行性、运行可行性、法律可行性和开放方案可行性等方面研究。
4.系统流程图是描绘物理系统的传统工具。
它的基本思想是用图形符号以黑盒子形式描绘系统里面的每个部件5.数据流图的基本四种成分:数据输入的源点和数据输出汇点、加工、数据流和数据存储文件。
6.结构化分析方法是面向_数据流_进行需求分析的方法。
结构化分析方法使用_数据流图DFD_与_数据字典_来描述。
7.继承性是自动地共享类、子类和对象中的方法和数据的机制。
8.软件详细设计工具可分为3类,即_图示工具_、_设计语言_和_表格工具_。
9.为了在软件开发过程中保证软件的质量,主要采取下述措施:_审查__、复查和管理复审、___测试_。
10.大型软件测试包括单元测试、集成测试、确认测试和系统测试四个步骤。
二、单项选择题(每小题2分,共20分)1.软件设计中划分模块的一个准则是(C )。
A、低内聚低耦合 B.低内聚高耦合C.高内聚低耦合 D.高内聚高耦合2.Jackson设计方法是由英国的M. Jackson提出的,它是一种面向( C )的软件设计方法。
A、对象 B.数据流 C.数据结构 D.控制结构3.试判断下列叙述中,哪个(些)是正确的( C )。
a、软件系统中所有的信息流都可以认为是事务流b、软件系统中所有的信息流都可以认为是变换流c、事务分析和变换分析的设计步骤是基本相似的A、aB、bC、cD、b和c4.( A )是用户和设计交换最频繁的方法。
A、原型化方法B、瀑布模型方法 C. 螺旋模型方法D、构件组装模型5.软件工程方法学的目的是:使软件生产规范化和工程化,而软件工程方法得以实施的主要保证是( C )。
XX 学院试卷《C语言程序设计试卷》试卷(A卷)一、填空题(每题2分,共10×2=20分)1、除机器语言之外的其他语言要被机器识别,必须经过翻译的过程,翻译有编译和解释两种,C语言所采用的是翻译方式。
2、C语言是函数驱动的,组成C语言程序的基本单位是。
3、C语言的入口函数是函数,且程序亦结束于该函数。
(填写英文)4、在函数体中,一条C语言语句均以结尾。
(填写符号)5、C程序的调试过程包括:→→→四个步骤。
6、基本数据类型包括:整数类型、浮点类型、和枚举类型。
7、浮点型包括单精度型和。
8、变量命名时,在能取得符号中,不能以开头。
9、63%10= 。
10、有数组定义如:int x[10];则数组的第三个元素应表示为。
二、单选题(每小题1分,多选,错选都不得分;共15×1=15分)1、C语言中主函数的个数是( )A、1个B、2个C、6个D、任意多个2、以下不属于C语言基本数据类型的是( )。
A、字符型B、浮点型C、整型D、空类型3、下面关于字符常量和字符串常量的叙述中错误的是( )。
A、字符常量由单引号括起来,字符串常量用双引号括起来B、字符常量只能是单个字符,而字符串常量则可以包含一个或多个字符C、字符常量占用一个字节的内存空间,字符串常量占的内存字节数等于字符串中字节数D、可以把一个字符常量赋值给一个字符变量,但不能把一个字符串常量赋予一个字符变量4、设有变量说明:float x=4.0,y=4.0;。
下面使x为10.0的表达式是( )。
A、x -=y*2.5B、x/=y+9C、x*=y-6D、x+=y+25、下列程序段的输出结果是( )。
char c1,c2;c1=65;c2=65+32+1;printf(“%c,%c”,c1,c2);A、a,BB、A,BC、A,bD、a,b6、以下运算符为单目运算符的是( )。
A、!B、&&C、%D、?:7、以下哪项不属于结构化程序设计方法的特点( )。
软件工程期末考试参考试题一、填空题1、软件生存周期一般可分为问题定义、可行性研究、需求分析、设计编码、测试、运行与维护阶段。
2、按软件的功能进行划分,软件可以划分为系统软件、支撑软件和应用软件。
3、可行性研究主要集中在以下四个方面经济可行性、技术可行性、法律可行性和抉择。
4、用户界面的可使用性是用户界面设计最重要的也是最基本的目标。
5、常见的软件概要设计方法有3大类:以数据流图为基础构造模块结构的结构化设计方(SD),以数据结构为基础构造模块的Jackson方法,以对象、类、继承和通信为基础的面向对象设计方法(OOD)。
6、数据流图和数据字典共同构成系统的逻辑模型。
7、软件测试的方法有分析方法和非分析方法(即黑盒法)。
8、单元测试一般以白盒测试为主,黑盒测试为辅。
9、成本估计方法主要有自底向上估计、自顶向下估计和算法模型估计三种类型。
10. 文档(document)—一种数据媒体和其上所记录的(数据)。
11 机器语言、汇编语言:依赖于机器,面向(机器)12. 软件有效性(efficiency),指软件系统的时间和(空间)效率。
13. 软件定义过程可通过软件系统的(可行性研究)和需求分析两个阶段来完成。
14. 软件定义的基本任务是确定软件系统的工程(需求),也就是要搞清“做什么”。
15. 为了使用户需求逐步精细化、完全化、一致化,通常采用(需求建模技术)。
16. 一个软件的深度是指其控制的(层数)。
17. 以详细设计说明书为输入,将该输入用某种程序设计语言翻译成计算机可以理解并最终可运行的代码的过程叫(编码)过程。
18. 软件维护是软件生命周期的(最后)一个阶段19. 软件工程由(方法)、工具和过程三部分组成,称软件工程的三要素。
20. 基于计算机系统的软件要素中的软部件由程序、数据和(文档)组成。
21. 数据流图就是用来刻画数据流和转换的信息系统建模技术。
它用简单的图形记号分别表示数据流、转换、(数据源)以及外部实体。
2014蓝桥杯c语言试题及答案一、选择题(每题2分,共10分)1. 下列关于C语言的描述中,错误的是:A. C语言是高级语言B. C语言是面向对象的程序设计语言C. C语言具有结构化的特点D. C语言具有跨平台的特性答案:B2. 以下哪个选项不是C语言中合法的变量名?A. _123B. intC. a$bD. for答案:B3. 在C语言中,用于定义一个结构体的关键字是:A. structB. unionC. enumD. typedef答案:A4. 下列关于C语言函数的描述中,正确的是:A. 函数必须有返回值B. 函数可以没有参数C. 函数的返回值类型必须与定义时一致D. 函数可以有多个返回值答案:B5. 在C语言中,以下哪个选项不是合法的字符串常量?A. "hello"B. "hello\n"C. "helloD. "hello\"答案:C二、填空题(每题2分,共10分)1. 在C语言中,定义一个整型数组的语句是:int a[10]; 则数组a 的第一个元素的值是______。
答案:02. C语言中,用于声明一个指针变量的语句是:int *p; 则指针p的初始值是______。
答案:NULL3. 在C语言中,使用______运算符可以将一个浮点数转换为整数。
答案:强制类型转换4. C语言中,用于定义一个函数的关键字是______。
答案:void5. 在C语言中,用于定义一个枚举类型的关键字是______。
答案:enum三、编程题(每题10分,共20分)1. 编写一个C语言程序,实现输入一个整数,输出该整数的平方值。
答案:```c#include <stdio.h>int main() {int num;printf("请输入一个整数:");scanf("%d", &num);printf("%d的平方是:%d\n", num, num * num);return 0;}```2. 编写一个C语言程序,实现输入一个字符串,输出该字符串的逆序。
华东理工大学网络教育学院《软件工程(本)》阶段练习一一、判断题(每题1分,共10分;正确打“√”,错误打“×”)1、现代程序设计首先强调的是程序的效率,而不是程序的风格和可读性。
( ×)2、快速原型法是一种利用原型辅助软件开发的技术。
( √)3、增量模型与瀑布模型的本质区别是该模型属于整体开发模型。
( ×)4、软件就是计算机程序。
( ×)5、软件维护是软件生存周期中时间最长的阶段。
( √)6、螺旋模型是一种将瀑布模型和增量模型结合起来,又加入风险分析的软件开发模型。
( √)7、维也纳开发方法(VDM)是一种形式化的软件开发技术。
( √)8、计算机辅助软件工程(CASE)可以简单地定义为软件开发的自动化。
( √)9、软件可行性研究的目的就是以最小的代价在尽可能短的时间内确定该软件项目是否值得开发。
( √)10、系统流程图就是数据流程图。
( ×)二、填空题(每空1分,本大题共20分)1、软件是计算机程序及其说明程序的____①______。
2、软件的生产到目前为止经过了____②____、___③___和____④____三个阶段。
3、通常软件的生存周期包括可行性分析和项目开发计划、__⑤__、____⑥__、_____⑦__、编码、测试、维护等活动。
4、软件工程的主要思想是在软件生产中用___⑧____的方法代替传统的手工方法。
5、瀑布模型是将软件生存周期各个活动规定为依___⑨____连接的若干个阶段的模型。
6、结构化方法由结构化分析、___⑩____、___⑾____构成,该方法是一种面向___⑿____的开发方法。
7、可行性研究包括技术可行性分析、___⒀____和___⒁____。
8、通常结构化方法可使用瀑布模型、___⒂____、___⒃____进行开发;Jackson方法可使用瀑布模型、___⒄____进行开发;面向对象开发方法一般是采用___⒅____,也可以用___⒆____、___⒇____进行开发;而形式化的维也纳方法只能用于变换模型进行开发。
习题一一、填空(每题2分,共10分)1、从结构化程序设计的观点考虑,任何算法功能都可以通过,和3种流程控制结构来实现。
2、当利用MFC AppWizard[exe]创建一个项目时,它能自动生成一个MFC 。
3、一个视图只能拥有,但一个文档可以拥有。
4、Windows是一个基于事件的消息驱动系统,Windows应用程序是按照非顺序的机制运行。
5、对话框是Windows应用程序中一种常用的资源,其主要功能是。
二、改错题(每题10分,共20分)1、下列程序能找出一维数组中的最大值,及其下标main(){int x[10], *p1, *p2;for(int k=0; k<10; ++k)scanf(“%d”, x+k);for(p1=x, p2=x; p1-x<10; ++p1){if(*p1>*p2) p2 = p1;}printf(“max=%d, index=%d\n”,p1,k );}2、下列程序能为结构赋值struct worker{long int num;char* name;char sex;int age;};worker.num=187045;strcpy(, “ZhangFun”);worker.sex=‘M’;worker.age=18;三、写出下列程序运行后的输出结果(每题10分,共20分)1、#include<iostream.h>class Time{private:int hour, minute, second;public:void setTime(int h, int m, int s){hour=(h>=0&&h<24)? h:0;minute=(m>=0&&m<60)?m:0;second=(s>=0&&s<60)?s:0;}void showTime(){cout<<hour<<‘:’<<minute <<‘:’<<second<<endl;};};void main(){Time t1;t1.setTime(14,52,66);cout<<”The time is :”;}2、#include<iostream.h>class Box{public:Box(int,int);int volume();static int height;int width;int length;};Box::Box(int w,int len){width =w;length=len;}int Box::volume(){return (height*width*length);}int Box::height=10;void main(){Box a(15,20),b(20,30);cout<<a.height<<endl;cout<<b.height<<endl;cout<<Box::height<<endl;cout<<a.volume()<<endl;}四、简答题(每题10分,共20分)1、简述MFC的消息映射机制。
2、什么是对象,什么是类,简述对象与类之间的关系。
五、编程 (每题15分,共30分)1、写一个程序,定义抽象基类Shape,由它派生出3个派生类:circle(圆形)、square(正方形)和Rectangle(矩形)。
用虚函数分别计算几种图形面积,并求它们的和。
2、定义一个类(包括年、月、日),编程序,要求输入年、月、日,程序能计算并输出该日在本年中是第几天。
注意闰年问题。
习题二一、填空(每题2分,共10分)1、C++中的数据结构主要可分为,和三类。
2、面向对象程序设计方法具有4个基本特征、、和。
3、ClassWizard类向导主要用来定制现有的类和建立新的类,如把,把一个控件与类的成员变量对应起来。
4、更新与文档数据有关的所有视图的方法是调用成员函数。
5、Windows消息分为3种类型,和。
二、分析程序并改错(每题10分,共20分)1、输入两个整数a和b,按先小后大的顺序输出结果。
void swap(int* p1, int* p2){int p;p = *p1; *p1 = *p2; *p2 = p;}main(){int a, b;cin>>a; cin>>b;if(a>b) swap(a,b);cout<< “min =” <<a<< “max =”<<b<<“\n”;}2、输出x、y中最大的一个数。
main(){float x,y,z;x=3.5;y=-7.6;z=max(x,y);printf(“%f\n:”, z);}float max(float x,float y){return(z=x>y?x:y);}三、写出下列程序运行后的输出结果(每题10分,共20分)1、#include<iostream.h>class Time{private:int hour, minute, second;public:void setTime(int h, int m, int s){hour=(h>=0&&h<24)? h:0;minute=(m>=0&&m<60)?m:0;second=(s>=0&&s<60)?s:0;}void showTime(){cout<<hour<<‘:’<<minute <<‘:’<<second<<endl;};};void main(){Time t1;t1.setTime(14,52,66);cout<<”The time is :”;}2、#include<iostream.h>class Box{public:Box(int,int);int volume();static int height;int width;int length;};Box::Box(int w,int len){width =w;length=len;}int Box::volume(){return (height*width*length);}int Box::height=10;void main(){Box a(15,20),b(20,30);cout<<a.height<<endl;cout<<b.height<<endl;cout<<Box::height<<endl;cout<<a.volume()<<endl;}四、简答题(每题10分,共20分)1、MFC应用程序中的文档和视图分别完成什么程序功能?他们之间有什么关系?。
2、什么是面向对象的程序设计,并简述对象与类之间的关系。
五、编程 (每题15分,共30分)1、写一个程序,定义抽象基类Shape,由它派生出3个派生类:circle(圆形)、square(正方形)和Rectangle(矩形)。
用虚函数分别计算几种图形面积,并求它们的和。
2、有10个学生,每个学生的数据包括学号、姓名、3门课的成绩,要求输出3门课总平均成绩,以及最高分的学生的数据(包括学号、姓名、3门课成绩、平均分数)。
习题三一、单选题(每题2分,共14分)1、下面哪个说法是不正确的()。
A、API是指应用程序编程接口(Application Programming Interface)B、MFC是指微软基础类库(Microsoft Foundation Class)C、C++语言是一门高级编程语言,能支持面向对象编程D、VC是一门编程语言,能开发Windows程序2、对定义重载函数的下列要求中,错误是()。
A、要求参数的个数不同B、要求参数中至少有一个类型不同C、要求参数个数相同时,参数类型不同D、要求函数的返回值不同3、函数原型语句正确的是()。
A、int Function(void a);B、void Function (int);C、int Function(a);D、void enum(double a,int b=1);4、下面有关析构函数的描述不正确是( )。
A、析构函数可以带参数B、析构函数不能重载C、析构函数无任何返回类型D、析构函数可以为虚函数5、假定A,Z分别为一个类,则( )为类A的拷贝构造函数的原型说明。
A、A(Z & x);B、A(A & x);C、void A(A & x);D、A(A x);6、有关运算符(操作符)重载的描述错误的是()。
A、+ * == new都可以重载B、不能改变操作数的数目C、不可以改变优先级数D、++、--不能被重载7、int Function(){static int a = 6;return a+=6; }void main( ){std::cout <<Function(); std::cout << ","; std::cout <<Function();}输出结果是()A、6,12B、12,18C、12,12D、6,6二、判断题(每题2分,共16分)1、数组可以作为函数参数。
(对)2、派生类对象可以赋值给基类对象。
(对)3、派生类的成员函数可以直接访问基类的所有成员。
(错)4、用new动态申请的内存空间,如果不释放,在程序结束后会发生内存泄漏。
(对)5、基类中被说明为protected和private的成员能被其派生类的成员函数访问(错)6、当将一个函数定义为另一个类A的友元函数时,此函数可以直接访问类A的所有成员。
(对)7、C++是一门完全面向对象的程序设计语言。
(错)8、下面两个语句是等价的:char str[ ]="hello, world"; char str[11]="hello, world"。
(错)三、阅读程序,写结果。
(每题11分,共22分)ing namespace std;class Base {public:void f() { cout << "Base::f() accessed." <<endl; }Base() {cout<<endl<<"Base() accessed"<<endl;p = new char[20];};~Base() {cout<<"~Base() accessed"<<endl;delete [ ] p;}private:char* p;};class Derive : public Base {public:void f() { cout << "Derive::f() accessed." <<endl; } Derive() {cout<<"Derive() accessed"<<endl;q = new char[30];}~ Derive () {cout<<"~Derive() accessed"<<endl;delete [] q;}private:char* q;};void g(){Base* ptr;ptr = new Derive();ptr->f();delete ptr;}int main( ){Base obj;g();return 0;}2.#include <iostream>using namespace std;class ClassA{public:virtual void TestV(){ cout<<"TestV class A."<<endl;}~ClassA(){ cout << "析构class A.\n"; }};class ClassB : public ClassA{public:void TestV(){ cout<<"TestV class B."<<endl; }~ClassB(){ cout << "析构class B.\n"; }};class ClassC : public ClassB{public:void TestV(){ cout<<"TestV class C."<<endl; }~ClassC(){ cout << "析构class C.\n"; }};int main(){ClassA aObject;aObject.TestV();ClassB bObject;bObject.TestV();ClassC cObject;cObject.TestV();int nFlag=2;ClassA* pa;if (nFlag == 1){ pa = new ClassB(); }else if (nFlag == 2){ pa = new ClassC(); }else{ cout << "Exit now.\n";return 1; }pa->TestV();delete pa;return 0;}四、简答题(每题8分,共32分)1、类的构造函数与析构函数各自的特点以及其区别和联系。