程序流程有三种最基本的控制结构,即顺序结构、选择结构和讲解
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
程序流程有三种最基本的控制结构,即顺序结构、选择结构和讲解

布尔表达式练习
?-3<-2<-1 False a=3:b=4:c=5 ?a=b=c False 表示一个数x是能被3整除的奇数 x Mod 3=0 and x Mod 2< >0 x Mod 2=1 and x Mod 2< >0 表示一个数x∈[2,5] x>=2 and x<=5 表示一个数x不在[2,5]区间内 x<2 or x>5
(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秒
每经过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年,闰年停止出现一次
每400年闰年再出现一次其它的整100年闰年停止出现一次12选择控制结构选择控制结构又称分支结构它体现了程序运行过程中的自我判断能力程序可以根据当前执行的某个条件进行比较判断并依据判断的结果成立与否来决定下一步做什么不做什么在两条或多条程序路径中选择一条来执行即只执行程序中的一部分语句可见在此结构的程序运行过程中有些语句会执行一次有些语句在此次程序运行过程中没有机会执行
程序流程控制的三种基本结构

程序流程控制的三种基本结构下载温馨提示:该文档是我店铺精心编制而成,希望大家下载以后,能够帮助大家解决实际的问题。
文档下载后可定制随意修改,请根据实际需要进行相应的调整和使用,谢谢!并且,本店铺为大家提供各种各样类型的实用资料,如教育随笔、日记赏析、句子摘抄、古诗大全、经典美文、话题作文、工作总结、词语解析、文案摘录、其他资料等等,如想了解不同资料格式和写法,敬请关注!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!程序流程控制是指计算机程序中指令执行的顺序和方式。
它是程序设计的基础,决定了程序的执行效率和逻辑。
程序的三种基本结构

else
statement4
例 输入两数并判断其大小关系
/*ch4_4.c*/
#include <stdio.h>
main()
运行:Enter integer x,y:12,23
{ int x,y; printf("Enter integer x,y:");
scanf("%d,%d",&x,&y); if(x!=y)
main()
{ int x,y;
scanf(“%d,%d”,&x,&y); Compile Error! if(x>y)
x=y; y=x;
else
5.i1f.语2 句嵌套
一般形式: if (expr1)
if (expr2)
statement1
else if (estxapter1m)ent2
statement1
X<Y Enter integer x,y:12,6
X>Y Enter integer x,y:12,12
X==Y
if(x>y) printf("X>Y\n");
程序的三种基本结构
– 结构化程序设计
基本思想:任何程序都可以用三种基本结构表示,限 制使用无条件转移语句(goto)
结构化程序:由三种基本结构反复嵌套构成的程序叫 ~
优点:结构清晰,易读,提高程序设计质量和效率
– 三种基本结构
顺序结构
A
流程图
B
A B
N-S图
选择结构
真
假
P
二分支选择结构 A
[例5.2」输入三个数,按由小到大顺序输出。 •main( )
C语言程序的三种基本结构

C语⾔程序的三种基本结构1、程序结构:在C语⾔程序中,⼀共有三种程序结构:顺序结构、选择结构(分⽀结构)、循环结构; 顺序结构:从头到尾⼀句接着⼀句的执⾏下来,直到执⾏完最后⼀句; 选择结构:到某个节点后,会根据⼀次判断的结果来决定之后向哪⼀个分⽀⽅向执⾏; 循环结构:循环结构有⼀个循环体,循环体⾥是⼀段代码。
对于循环结构来说,关键在于根据判断的结果,来决定循环体执⾏多少次; 注:在逻辑上有⼀种bool类型(也叫boolean类型,布尔类型),只有两个值,即真和假。
C语⾔的判断表达式最终的值就是⼀个bool类型,这个判断表达式的bool值就决定了选择结构如何选择,循环结构如何循环;2、顺序结构:顺序结构很简单,⼀般我们遇到的除了选择结构和循环结构外,都是顺序结构;3、选择结构:C语⾔中常⽤的选择结构主要有以下两种: (1) if else:引⼊关键字:if else else if if (bool值) // 如果bool值为真,则执⾏代码段1,否则执⾏代码段2 { 代码段1 } else { 代码段2 } if (bool值1) // 如果bool值1为真,则执⾏代码段1,否则判断bool值2是否为真 { 代码段1 } else if (bool值2) // 若bool值2为真则执⾏代码段2,否则直接执⾏代码段3 { // 开头的if和结尾的else都只能有⼀个,但是中间的else if可以有好多个 代码段2 } else { 代码段3 }1 #include <stdio.h>23int main(void)4 {5int a, b, max;67 a = 456;8 b = 45;910if (a > b) // 判断表⽰式11 {12 max = a;13 printf("true.\n");14 }15else if (a == b)16 {17 max = a;18 printf("a == b.\n");19 }20else21 {22 max = b;23 printf("false.\n");24 }2526 printf("max = %d.\n", max);2728return0;29 } (2) switch case:引⼊关键字:switch case break default switch (变量) // 执⾏到这⼀句时,变量的值是已知的 { // switch case语句执⾏时,会⽤该变量的值依次与各个case后的常数去对⽐,试图找到第⼀个匹配项,找到匹配的项⽬后, case 常数1: // 就去执⾏该case对应的代码段,如果没找到则继续下⼀个case,直到default 代码段1; // 如果前⾯的case都未匹配,则default匹配。
《程序设计基础》作业二答案(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语言中要改变循环语句的流程可以使用语句______,______和______。
程序的三种基本控制结构

程序的三种基本控制结构顺序结构选择结构循环结构一、顺序结构:顺序语句由语句序列组成,程序执行时,按照语句的顺序,从上而下,一条一条地顺序执行如:store 'Visual FoxPro' to nameAge = 4'My name is ' + name + ', I am ' ;+ str(Age) + ' years old'二、选择结构:分支语句根据一定的条件决定执行哪一部分的语句序列。
1、单分支结构格式:if<条件><语句序列>endif例程1:clearuse sbwait ‘是否打印?(y/n)’to aif upper(a)=’Y’wait ‘请接好打印机!按任意键后打印’list to printendif2、双分支选择格式:if<条件><语句序列1>else<语句序列2>endif例程2:clearset talk offaccept ‘请输入密码:’ to mmif mm<>’abc’’你无权使用本系统’quitelse’欢迎使用本系统’endifset talk onif语句的嵌套:在一个if语句中包含另一个语句的程序结构例程3:根据输入的x值,计算下面分段函数的值,并显示结果。
2x-5 (x<1)Y=2x (1<=x<10)2x+5 (x>=10)input ‘请输入x的值:’to xif x<1y=2*x-5elseif x<10y=2*xelsey=2*x+5endifendif?’分段函数的值为’+str(y)3、多分支结构格式:DO CASECASE 〈逻辑表达式1〉〈语句组1〉CASE 〈逻辑表达式2〉〈语句组2〉…CASE 〈逻辑表达式n〉〈语句组n〉[OTHERWISE]〈语句组〉ENDCASE3 / 35例程4:输入某学生成绩,并判断其成绩等级:100-90分为优秀,89-80分为良好,79-70分为中等,69-60分为差,60分以下为不及格。
程序结构

4.3 循环结构程序设计
For 循环变量=初值 To 终值 [Step 步长] 语句块 [ Exit For ] For Each 元素变量 In 数组或集合 语句块 Next 元素变量 * 内循环变量与外循环变量不能同名 * 外循环必须完全包含内循环,不能交叉 先判断后执行 While循环 While 条件 Do While 条件 语句块 Loop Do Until 条件 语句块 Loop 先执行后判断 Do 语句块 Loop While 条件 Do 语句块 Loop Until 条件
例如: Case 1 To 10 Case 2,4,6,8, Is>10
应用例
例题5-1:设计程序,回答“天下事有难易乎?”的提问,根据用户的不同 选择,现实不同的语句。 例题5-2:已知某书店图书均九折销售,一次购书100元以上(包括100元) 打八五折。 例题5-3:If语句的嵌套 在例5-2的基础上,实现购书金额300元(含)以上打八二折。 例题5-4:用块If的嵌套语句来描述博弈论中的经典案例“囚徒困境”。 例题5-5:ElseIf语句 设计程序,鉴定成绩,输入百分制成绩,显示相应的五级制评定。 例题5-6:行 If 语句 设计程序,求最大值:要求可以输入任意的3个数,并能找出其中的最大值。 例题5-7:用Select Case语句代替ElseIf语句来实现成绩评定。
应用举例
例题6-1:编写程序,实现累加:要求使用For循环计算从1~100的自然数之 和。 例题6-2:编写程序,实现阶乘:要求使用For循环求N!(N为自然数)。 例题6-3:修改例6-2,要求显示For循环语句在执行过程中的具体情况。
例题6-4:编写程序,求π的近似值。
例题6-5:While循环 编写程序,求总成绩,可以实现输入若干成绩,并计算总成绩。
- 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”> “a”
பைடு நூலகம்
日期型数据按照前后顺序比较 #01/01/2003#> # 12/31/2002#
关系表达式练习 字符型数据按照字符的ASCII码值大小比较
数值型数据按照数值大小比较 日期型数据按照前后顺序比较
①False
① ?2/3>3/4 ② ?“a”> “b” ③ ?3<=5 ④?True=-1 ⑤ ?#01/12/91#<=#02/01/91# ⑥ ? “abc”<= “abb” ⑦ ? “ab”<= “我们” ⑧ ?“123”>“99” ⑨ ?“你们”>“我们”
关系表达式的格式:
关系表达式
<表达式1> <关系运算符> <表达式2> [<关系运算符> <表达式3>…]
运算次序:先分别求出运算符两侧表达式的值,
然后再将二者进行比较 其中:数值型数据按照数值大小比较 2+3>6 3>=0 5<>2^3 字符型数据按照字符的ASCII码值大小比较
“1”>“2”
“a”<“b”
布尔表达式练习
优 先 级 依 次 降 低
运算符的优先顺序 算术运算符
字符串运算符:& 关系运算符:=、<>、<、>、<=、>=
布尔运算符:Not
And
Or
运算符的优先顺序练习
设变量x=4,y=-1,a=7.5,b=-6.2,求表达式 x+y>a+b And Not y<b的值 True y表示年号,用一个表达式表示该年是否是闰年
②False
③True ④ True ⑤True ⑥ False ⑦True ⑧False
⑨False
符号: NOT (逻辑非) AND (逻辑与) 即:并且,要同时成立 OR (逻辑或) 即:或者,只要有一个成立 适用的类型和结果类型:
布尔运算符
只适用于逻辑型数据,运算结果是逻辑值
规则:
非运算的规则是:直接求反即可 与运算的规则是:只有二者全为真时结果为真,否则为假 或运算的规则是:只有二者全为假时结果为假,否则为真
每经过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年,闰年停止出现一次
逻辑值 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 性别=“女”)
数据,结果只能为逻辑型(真值True和假值False)
运算符两侧必须是同类型的量或表达式
若不是,系统会自动进行强制类型转换
“5”>4 0>(1>0) 若判断的结论是成立,则结果为逻辑真值(True), 否则为逻辑假值(False) True的值等于-1,False的值等于0
运算 名 称 符 < 小于
程序流程有三种最基本的控 制结构,即顺序结构、选择结构 和循环结构。 在一个过程中,程序通常是按 照由上而下的顺序来执行各个语 句的,直到整个过程结束。引入 选择结构和循环结构,可以改变 程序执行的流程。
本章主要内容
选择程序结构用于判断给定的条件,根据判断的结 果来控制程序的流程
条件表达式 关系表达式 / 逻辑表达式
布尔表达式练习
?-3<-2<-1 False a=3:b=4:c=5 ?a=b=c False 表示一个数x是能被3整除的奇数 x Mod 3=0 and x Mod 2< >0 x Mod 2=1 and x Mod 2< >0 表示一个数x∈[2,5] x>=2 and x<=5 表示一个数x不在[2,5]区间内 x<2 or x>5
条件语句
多分支语句 选择性控件 计时器控件 程序举例
If...Then / If...Then...Else 条件语句的嵌套
select case 单选按钮 / 复选框 列表框/组合框
符号: <小于
>大于
<=小于或等于
关系运算符
=等于
>=大于或等于 < > 不等于
适用的类型和结果类型: 关系运算符适用于数值型、字符型、日期型和逻辑型
选择控制结构又称分支结构
选择控制结构
它体现了程序运行过程中的自我判断能力 程序可以根据当前执行的某个条件,进行比较、判断,并 依据判断的结果(成立与否)来决定下一步做什么,不做什 么(在两条或多条程序路径中选择一条来执行,即只执行程 序中的一部分语句)
可见,在此结构的程序运行过程中,有些语句会执行一次, 有些语句在此次程序运行过程中没有机会执行。即:“无论 分支多寡,必选其一;纵然分支众多,仅选其一” VB中的选择语句有: 单行(IF-THEN-ELSE) 双分支语句 块结构(IF-THEN-ELSE-END IF) 多分支语句(Select Case)
(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秒