程序流程有三种最基本的控制结构,即顺序结构、选择结构和
软件工程复习题(带答案)

一、填空题1.程序设计的三种基本结构是、、(顺序、条件、循环),它们的共同点是一个入口和一个出口。
2.程序的三种基本控制结构的共同特点是。
(单入口单出口)3.用结构化语言来描述加工逻辑的外层结构时,基本结构有________(顺序结构、选择结构、循环结构)4.软件的实现阶段主要包括(编码)阶段和(测试)阶段。
5.计算机程序及其说明程序的各种文档称为。
(软件)6.软件是、和(程序、数据、相关文档)的完整集合。
7.软件工程管理的具体内容包括对开发人员、组织机构、用户和______(文档资料)等方面的管理。
8.为使得开发人员对软件产品的各个阶段工作都进行周密的思考,从而减少返工,所以(软件文档)的编制是很重要的。
9.软件工程方法学有3大要素、工具、。
(方法、过程)10.需求分析是确定系统(必须做什么),其最终成果是(需求分析规格说明书)。
11.在需求分析中,开发人员要从用户那里解决的之重要的问题是。
(软件应当做什么)12.软件开发活动的顺序是_________。
(问题定义、可行性研究、需求分析、设计、编码和测试)13.软件需求分析的任务包括_________。
(问题分析、信息域分析、确定程序结构)14.最早提出软件系统维护问题的阶段是_________。
(需求分析)15.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做______(软件危机)。
16.“软件危机”是指________ 。
(软件开发和维护中出现的一系列问题)17.快速原型模型是用户和设计人员之间的一种交互过程,适用于(需求不确定性高)的系统。
18.快速原型是利用原型辅助软件开发的一种新思想,它是在研究(需求阶段)的方法和技术中产生的。
19.瀑布模型是以文档为驱动,适用于(软件需求明确)的系统。
20.瀑布模型本质上是一种________ 模型。
(线性顺序)21._______(喷泉模型)是一种以用户需求为动力,以对象作为驱动的模型,适合于面向对象的软件开发方法。
chap5 程序的控制结构

表达式为假,即条件不满足, 则跳过语句直接到出口。
入口 条件 假 真
语句
出口
2、双分支结构
语句形式:
if(条件表达式): 语句/语句块1
else: 语句/语句块2
语句执行流程:
表达式为真,即条件满足,则
判断条件: 执行语句1后到出口。
表达式为假,即条件不满足, 则执行语句2后到出口。
入口 条件 假 真
语句1 语句2
出口
双分支结构举例:从键盘输入两个浮点数a和b,按 照从小到大的顺序输出这两个数。
双分支 ab==eevvaall((iinnppuutt((''请 请输再入输入一个一实个数实数::')')))输入a,b
结构 if(a>b): a>ba值>b为值假为真
假
(条件
print("%.1f,%.1f"%(b,a))
pencolor("blue"); circle(100) pencolor("yellow"); circle(50) left(360/n)
循环:while
while <条件>: 循环体
入口
假 条件 真 语句(循环体)
出口
条件循环
例:求1~100之间所有整数和。
sum=0;i=1 while(i<=100):
这是一个嵌 套结构
if(x>=0):
if(x>0):y=1
else:y=0 # x>=0成立且x>0不成立,即x==0
else:
# x>=0不成立,即x<0
y=-1
程序流程控制的三种基本结构

程序流程控制的三种基本结构下载温馨提示:该文档是我店铺精心编制而成,希望大家下载以后,能够帮助大家解决实际的问题。
文档下载后可定制随意修改,请根据实际需要进行相应的调整和使用,谢谢!并且,本店铺为大家提供各种各样类型的实用资料,如教育随笔、日记赏析、句子摘抄、古诗大全、经典美文、话题作文、工作总结、词语解析、文案摘录、其他资料等等,如想了解不同资料格式和写法,敬请关注!Download tips: This document is carefully compiled by theeditor. I hope that after you download them,they can help yousolve practical problems. The document can be customized andmodified after downloading,please adjust and use it according toactual needs, thank you!In addition, our shop provides you with various types ofpractical materials,such as educational essays, diaryappreciation,sentence excerpts,ancient poems,classic articles,topic composition,work summary,word parsing,copy excerpts,other materials and so on,want to know different data formats andwriting methods,please pay attention!程序流程控制是指计算机程序中指令执行的顺序和方式。
它是程序设计的基础,决定了程序的执行效率和逻辑。
VB教程---选择结构

练习:
1.求闰年(能被4整除,不能被100整除的年,或者是能够被
400整除的年是闰年。)(用if双分支语句做)
Year=val(text1.text) If year mod 4 =0 and year mod 100 <> 0 or year mod 400 =0 then Msgbox (“是闰年!”) Else MsgBox (“这不是闰年!”) End If
If语句复合结构的一般形式
在Else块中嵌套If结构的形式
例:求a、b、c中三个实数的最大值、最小值。 a、b、c三值从三个文本框中输入,当单击命令按钮时将结果 显示 在窗体上
例:求a、b、c中三个实数的最大值、最小值。 a、b、c三值从三个文本框中输入,当单击命令按钮时将结果 显示在窗体上。
a<b
思考:下面形式是否正确?
If score >= 60 Then Print "及格" ElseIf score >= 80 Then Print "良" ElseIf score >= 90 Then Print “优" Else Print "不及格" End If
②根据下列公式求函数
1 x x 1 1 x 2 x2
二、分支结构—IF语句
1、IF条件判断语句(三种格式)
IF 条件 Then 语句块 End If IF 条件 Then 语句块1 Else 语句块2 End If IF 条件1 Then 语句块1 Elseif 条件2 Then 语句块2 Elseif 条件3 Then …… [Else] 语句块n End If
3、双分支程序示例
①求a,b中的较大数
《程序设计基础》作业二答案(12秋)

《程序设计基础》作业二答案(12秋)作业二答案一、选择题1、C语言中,使用变量的要求是______。
AA 要先定义后使用B 要先使用后定义C 不需要定义,可以直接使用D 没有明确的要求2、不是C语言的基本数据类型是______。
DA intB doubleC charD bool3、编程语言提供的三种基本控制结构是______。
DA 输入、处理和输出结构B 常量、变量和表达式结构C 表达式、语句和函数结构D 顺序、选择和循环结构4、在C语言中,决定int数的表示范围的因素是______。
AA int类型占用的字节数量B 人为事先的约定和习惯C 所存储的数据是否有符号D 数在内存中的编码方式5、C语言中,关于运算符的正确概念是_____。
DA 运算符具有优先级,同优先级的运算符由括号决定运算次序B 在不同优先级运算符进行混合运算时,运算的先后次序取决于结合性C 在同优先级的运算符参与运算时,先计算左侧的运算符D 运算符具有优先级和结合性6、在C语言中关于循环语句的结论中,错误的是______。
DA do-while语句构成的循环至少要执行一次B while语句和for语句可以相互替代C for和while语句的循环控制条件都是当条件成立时执行循环体D do-while语句的循环控制条件是当条件不成立时继续执行循环体二、填空题1、最基本的程序控制有三种,它们是______,______和______。
这三种执行控制的任意组合和重复、嵌套就可以描述任意复杂的程序。
顺序执行、分支控制和循环控制2、C语言中分支语言是______语句和______语句。
if,switch3、C语言中循环语言是______语句,______语句和______语句。
while,for和do-while4、C语言中自增运算符是______,求余数的运算符号是______。
++,%5、C语言中要改变循环语句的流程可以使用语句______,______和______。
第4章 C语言程序的基本控制结构

#include<stdio.h> main() { int c1,c2; scanf("%c",&c); c1=c-1;c2=c+1; printf("%c%4c%4c\n",c1,c,c2); printf("%d%4d%4d\n",c1,c,c2); }
4.2 顺序结构
运行结果:
4.3选择结构
入口
入口
A 语句1 B
真
表达 式
假
条件 语句2 循环体
出口
图4.1 顺序结构
出口 出口
图4.2 选择(分支)结构 图4.3 循环结构
上述三种基本控制结构的共同特定是具有单入口和单出口。 还有一种goto语句,又叫转向语句,在本章的4.4.5小节中将会讲解到。 我们在编写程序时,力求使用前三种基本结构语句。
4.3选择结构
例4.3 幼儿园里三个小朋友站队要求小个站在前面,高个站在后面。 分析:我们可以把个子最小的小朋友放在a位置上,较高的小朋友放在b位 置上,个子最高的小朋友放在c位置上。输入三个数,a,b,c,要求按由小到 大的顺序输出。先比较a和b,若a大于b,则a与b对换,再比较a和c,若a 大于c,则a与c对换,这时a的值是最小的,最后比较b和c,若b大于c,则b 与c对换。这样操作之后就使a<b<c的关系成立。然后顺序输出a,b,c既可。
! 逻辑非,单目运算符,自右至左结合。其运算规则是:当 运算量为0,运算结果为1;反之,当运算量为1,运算结果为0。 && 逻辑与,双目运算符,自左至右结合。其运算规则是: 只有当运算符两边的运算量都是非0时,运算结果才为1,否则为0。 || 逻辑或,双目运算符,自左至右结合。其运算规则是:只 要运算符两边的运算量有一个为为非0,运算结果就为1。只有两 个运算量都为0,结果才是0。 这三个运算符的优先级,逻辑非!最高,逻辑与&&次之,逻 辑或||最低。!(逻辑非)的优先级高于算术运算符和关系运算符, 而&&(逻辑与)和||(逻辑或)的优先级低于算术运算符和关系运算符。 由 此可见: a>b&&c>d 相当于 (a>b)&&(c>d) a= =0||b= =0 相当于 (a= =0)||(b= =0) !a&&b= =c 相当于 (!a)&&(b= =c)
流程图、程序的三种基本结构、语句、顺序结构

程序的结构
流程图 程序的三种结构 语句 顺序结构
程序的三种结构
程序的三种结构
顺序结构
选择结构
循环结构
顺序结构
各操作是按先后顺序执行的 是最简单的一种基本结构。 各操作是按先后顺序执行的。是最简单的一种基本结构。 顺序执行
A B
其中A和B两个框是顺序执行的。即在完成 框所指定 其中 和 两个框是顺序执行的。即在完成A框所指定 两个框是顺序执行的 完成 的操作后,必然接着执行B框所指定的操作 框所指定的操作。 的操作后,必然接着执行 框所指定的操作。
流程内的死循环
程序的三种基本结构
顺序结构、选择结构、 顺序结构、选择结构、循环结构 已经证明, 已经证明,任何程序均可只用这三种结构实现 只用这三种结构的程序,叫结构化程序。 只用这三种结构的程序,叫结构化程序。 程序设计核心思想 自顶向下, 自顶向下,精益求精 模块化( 语言的基本组成单位) 模块化(C语言的基本组成单位)
流程图所使用的符号及含义
图框 圆角矩形 平行四边形 矩形 菱形 名称 起止框 功能 表示一个算法的 开始和结束 表示一个算法的 输入和输出信息 赋值,执行计算语句, 赋值,执行计算语句, 结果的传送 表示判断某一个条件 表示判断某一个条件 是否成立 表示执行步骤的路径 流程进行的方向
输入输出框 处理框 判断框 流程线
N-S流程图使用的流程图符号 流程图使用的流程图符号
P A B
1.顺序结构 1.顺序结构 2.选择结构 2.选择结构 选择结构 当P1成立 成立 不成立
A
A
B
直到P 直到 1成立
A
3.循环结构 3.循环结构 循环结构
程序的结构
流程图 程序的三种结构 语句 顺序结构
程序设计3(3种基本结构)

流程图:
3.2.5 条件运算符(了解即可) 若if语句中,在表达式为“真”和“假”时,且都 只执行一个赋值语句给同一个变量赋值时,可以用 简单的条件运算符来处理。例如,若有以下if语句: if (a>b) max=a; else max=b; 可以用下面的条件运算符来处理: max=(a>b)?a∶b; 其中“(a>b)?a∶b”是一个“条件表达式”。它是 这样执行的:如果(a>b)条件为真,则条件表达式 取值a,否则取值b。
3.3.5 示例:
4பைடு நூலகம்
1
1 3 1 5 1 7
例:多项式如下:π/4 =1 - 1/3 + 1/5 - 1/7 + 1/9 ... 计算的项数n由键盘输入,求π。结果保留2位小数。 #include <iomanip> int main(){ int n, sign=1; double sum=0.0; cin>>n; for(int i=1; i<=n; i+=2) { sum = sum + sign*1.0/i; sign = -sign; } // 设置浮点数的小数个数2位 cout<<fixed<<setprecision(2)<<4*sum<<endl; return 0; }
3.3.3 for
for语句使用最为灵活,不仅可以用于循 环次数已经确定的情况,而且可以用于循环 次数不确定而只给出循环结束条件的情况, 它完全可以代替while语句。一般形式为: for(表达式1;表达式2;表达式3) 语句
它的执行过程如下: (1) 先求解表达式1。 (2) 求解表达式2,若其值为真, 则执行for语句中指定的内嵌语句, 然后执行下面第(3)步。若为假, 则结束循环。 (3) 求解表达式3。 (4) 转回上面第(2)步骤继续执 行。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
示 例 关系运算符 “3”<4
说
明
<=
> >=
小于或等 于 大于
大于或等 于 等于 不等于
3<=4
0>(1>0)
值为:True,强制转换为 数值型 值为:True
值为:True,强制转换为 数值型 “aa”>=“ab” 值为:False
=
<>
1=True
1<>1
值为:False,强制转换为 数值型 值为:False
逻辑值 A T 逻辑值 B T NOT A F A AND B T A OR B T
T
F F
F
T F
F
T T
F
F F
T
T F
?“a”>“b” AND 1>2 False ?“a”>“b” OR 1<2 True ?NOT 2*5<>11 False ?2^3>3 AND 5>10 False 表示一个数是偶数 x Mod 2=0 或 int(x/2)=x/2 表示一个数X能被3或5或7整除 x Mod 3=0 OR x Mod 5=0 OR x Mod 7=0 表示身高不在1.65米以上或不是女生 身高<1.65 OR 性别<>“女” NOT(身高>=1.65 AND 性别=“女”)
②False
③True ④ True ⑤True ⑥ False ⑦True ⑧False
⑨False
符号: NOT (逻辑非) AND (逻辑与) 即:并且,要同时成立 OR (逻辑或) 即:或者,只要有一个成立 适用的类型和结果类型:
布尔运算符
只适用于逻辑型数据,运算结果是逻辑值
规则:
非运算的规则是:直接求反即可 与运算的规则是:只有二者全为真时结果为真,否则为假 或运算的规则是:只有二者全为假时结果为假,否则为真
(y Mod 4=0 AND y Mod 100<>0 ) OR 400=0 AND y Mod 100=0 )
(y Mod
(y Mod 4=0 AND y Mod 100<>0 ) OR y Mod 400=0
地球公转一周的时间为:365天5小时48分56秒
判断闰年的科学依据
每经过4年,剩余的时间为:5小时48分56秒×4=23小时15分44秒 则每4年都要多加24小时- 23小时15分44秒=44分16秒
Dim a As Single, b As Single, c As Single a=Val(Text1.Text):b=Val(Text2.Text):c=Val(Text3.Text) s=(a + b + c) / 2 If a+b>c And c>0 And a+c>b And b>0 And b+c>a And a>0 Then area = Sqr(s * (s - a) * (s - b) * (s - c)) Label1.Caption="能构成三角形,"&"三角形面积为:"&Str(area) Else Label1.Caption="不能构成三角形" End If
程序流程有三种最基本的控 制结构,即顺序结构、选择结构 和循环结构。 在一个过程中,程序通常是按 照由上而下的顺序来执行各个语 句的,直到整个过程结束。引入 选择结构和循环结构,可以改变 程序执行的流程。
本章主要内容
选择程序结构用于判断给定的条件,根据判断的结 果来控制程序的流程
条件表达式 关系表达式 / 逻辑表达式
IIF函数的使用
Dim x As Single x=Val(Text1.text)
If x>0 Then Label1.Caption=x Else Label1.Caption= “非正数”
Label1.Caption=IIf(x>0,x,“非正数”)
Dim x As Single X=Val(InputBox("请输入一个成绩:","输入",0))
IF X>=60 THEN Label1.Caption=“及格” Else Label1.Caption=“不及格
Label1.Caption=IIf(x>=60,“及格”,“不及格”)
块结构(IF-THEN-ELSE-END 语句格式: IF)
IF <条件> THEN [<语句列1>] [ELSE <语句列2>] END IF
下一语句
问题:如果不是 正数,应该显示 “不是正数”
选择结构(IF-THEN-ELSE)
语句格式: IF <条件> THEN [<语句序列1>][ELSE <语句序列2>] 执行过程:
判断给定的条件
Y 条件 N
•如果成立(其值为True),执行所给
语句序列1,然后执行下一条语句 •否则(其值为False),执行所给语 句序列2,然后执行下一条语句
关系表达式的格式:
关系表达式
<表达式1> <关系运算符> <表达式2> [<关系运算符> <表达式3>…]
运算次序:先分别求出运算符两侧表达式的值,
然后再将二者进行比较 其中:数值型数据按照数值大小比较 2+3>6 3>=0 5<>2^3 字符型数据按照字符的ASCII码值大小比较
“1”>“2”
“a”<“b”
x=Val(InputBox("请输入一个成绩:", "输入", 0))
If x >= 60 Then
Label1.Caption = "及格"
Else Label1.Caption = "不及格" End If
(IF-THEN-ELSE-END IF)举 示例:输入ABC的值,判断能否构成三角形,如果能,计算三 例 角形的面积
选择控制结构又称分支结构
选择控制结构
它体现了程序运行过程中的自我判断能力 程序可以根据当前执行的某个条件,进行比较、判断,并 依据判断的结果(成立与否)来决定下一步做什么,不做什 么(在两条或多条程序路径中选择一条来执行,即只执行程 序中的一部分语句)
可见,在此结构的程序运行过程中,有些语句会执行一次, 有些语句在此次程序运行过程中没有机会执行。即:“无论 分支多寡,必选其一;纵然分支众多,仅选其一” VB中的选择语句有: 单行(IF-THEN-ELSE) 双分支语句 块结构(IF-THEN-ELSE-END IF) 多分支语句(Select Case)
每经过100年,就会多加44分16秒×25=18小时26分40秒
比较接近一天,所以每到100年,就将这多加的近似一天的时间减去, 即停止追加一天 而实际上又少加了24小时- 18小时26分40秒=5小时33分20秒 每经过400年,就会少加4 × 5小时33分20秒≈24小时 所以每过400年,就应该再补加一天 故:每4年闰年出现一次;每400年,闰年再出现一次 其它的整100年,闰年停止出现一次
IF语句的嵌套
语句格式:
Y 条件1 N
IF <条件1> THEN Y N 条件2 [<语句列1>] 语句列1 语句列2 语句列3 ELSE IF <条件2> THEN [<语句列2>] ELSE 下一语句 说明: [<语句列3>] 如果在If语句的语句列1或语句列2 END IF 中又有一个完整的If语句,则称为 END IF If语句的嵌套
选择结构(IF-THEN)
语句格式: IF <条件> 执行过程: THEN <语句序列>
条件 Y 语句序列 N
判断给定的条件 •如果成立(其值为True),执行所给语 句序列,然后执行下一条语句 •否则(其值为False),跳过所给语句 序列,直接执行下一条语句
示例: 输入一个数,如果是正数,就输出 x=Val(Text1.text) If x>0 Then Label1.Caption=x
下一语句 命令序列1 命令序列2
例一:输入一个数,如果是正数,就输出;否则显示非正数
Dim x As Single
(IF-THEN-ELSE)举例
x=Val(Text1.text)
If x>0 Then Label1.Caption=x Else Label1.Caption= “非正数"
例二:根据用户输入的一个成绩,判断是否及格
嵌套 IF 举例 如果是0,打印是个零;如果是负数,打印是负数
用户输入一个数,如果是正数,打印是个正数; Dim x As Single Y x = Val(Text1.Text) If x > 0 Then Label1.Caption = "正数" 是个 Else 正数 If x = 0 Then Label1.Caption = “零” Else Label1.Caption = "负数" End If End If
布尔表达式练习
优 先 级 依 次 降 低
运算符的优先顺序 算术运算符
字符串运算符:& 关系运算符:=、<>、<、>、<=、>=
布尔运算符:Not
And
Or
运算符的优先顺序练习
设变量x=4,y=-1,a=7.5,b=-6.2,求表达式 x+y>a+b And Not y<b的值 True y表示年号,用一个表达式表示该年是否是闰年