程序的控制结构总结

合集下载

第五章 程序基本控制结构

第五章 程序基本控制结构

• 差(0-59)
(4) If 语句的嵌套
If 语句的嵌套,指的是 If 语句中又用到一个 If 语句。形式如: If 表达式1 Then If 表达式11 Then ……… End If ……… End If
例 题
(1)实现优良中差的计算
注意:if else end if 配套使用
提高题:
1、已知x, y, z三个数,找到其中最大的数
(2)分支结构
分支结构是指通过条件判断,程序按不同的条
件结果执行不同的语句。
(3)循环结构
循环结构是指在(一定的条件下)重复的执行
同一段代码。
大家能不能举出日常生活中遇到的分支和循环结构?
可乐鸡翅——顺序结构
[材料]鸡翅中500克,可乐一罐[配料]葱,姜,油,盐适量 1. 将鸡翅中处理干净,先稍煮一下,把血水去掉。 当然这个步骤也可以省了,只要清洗干净就可以了。 2. 炒锅里放一点油,烧热后将葱、姜烧出香味,放 入翅中翻炒一会。 3. 倒入可乐,以没过翅中为宜。 4. 大火烧熟,再以文火慢炖。如果发现可乐烧干了, 可以适量再加些。 5. 鸡翅容易煮烂,但我是喜欢煮到汤汁粘稠。放入 适量的盐就可以起锅了。 6. 喜欢吃辣的朋友,在倒入可乐时可以加几个干辣 椒。
第5章
程序基本控制结构
本章要点
顺序结构语句 分支结构语句 循环结构语句
控制结构
1.结构化程序设计
结构化程序设计的基本思想是:任何程序都可以用 三种基本结构的组合来实现。这三种基本结构是:顺序 结构、选择结构和循环结构。这三种结构都具有一个入 口和一个出口。
2.三种基本结构及其特点 (1)顺序结构 顺序结构是结构化程序设计的三种基本结构中最简单的。 它可以独立存在,也可以出现在分支结构或循环结构中, 总之整个程序都存在顺序结构。在顺序结构中,函数、 一段程序或者语句是按照出现的先后顺序执行的。

chap5 程序的控制结构

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

程序的控制结构总结

程序的控制结构总结
// 循环体代码
System.out.println(i);
示例
• i;
示例
STEP 01
STEP 02 }
STEP 03
do-while循环示例
```
示例
```
int i = 0;
示例
do {
// 循环体代码 System.out.println(i);
示例
01
i;
02
} while (i < 10);
STEP 03
异常处理
当程序出现异常时,根据 异常类型执行不同的处理 代码。
如for、while循环,根据 循环条件重复执行一段代 码。
THANKS
感谢您的观看
示例
• return 0;
示例
}
```
Part
02
选择结构
定义
• 选择结构,也称为条件结构,是 程序中用于根据特定条件执行不 同代码块的控制结构。它允许程 序在运行时根据某些条件选择执 行不同的代码路径。
特点
1. 条件判断
选择结构的核心是条件判断,它 决定了程序的执行路径。
4. 灵活性
允许程序根据不同的情况做出不 同的响应,增加了程序的灵活性。
03
```
Part
04
嵌套结构
定义
嵌套结构是指在一个语句或语句块中包含另一个语句或语句块的结构。
它允许将一个语句或一组语句放在另一个语句或一组语句中,以实现更复杂的逻辑和功能。
特点
01
嵌套结构可以增强代码的可读 性和可维护性,使程序逻辑更 加清晰和易于理解。
02
它允许将相关的语句组合在一 起,形成一个独立的逻辑块, 有助于减少代码冗余和提高代 码复用性。

流程控制结构和方法

流程控制结构和方法

三、循环结构
循环结构是当循环条件为真时,不断地重复执行某些动作, 即反复执行同一程序块,直到循环条件为假,结束循环,转向循 环结构出口。 1 while 1、while循环 语法形式: while(循环条件) { 循环体 } while循环先判断再执行, 循环体至少执行0次。 流程图: 条件
true false
3、复杂程序解决方案和方法 (1)类的方法成员 (2)方法的调用 (3)结构化编程解决方案 (4)内部类解决方案 (5)外部类解决方案 (6)递归算法
循环体
2、do-while循环 语法形式: do { 循环体 } while(循环条件)
true
流程图:
循环体 条件
false
do-while循环先执行再判断, 循环体至少执行1次。
3、for循环 语法形式: for(初值表达式;循环条件表达式;循环变量修改表达式) { 循环体 } 初值表达式 循环条件表达式
2、if-else语句 if语句是专用于实现选择结构的语句,它根据逻辑条件的真假 执行两种操作中的一种。 语法:if(逻辑表达式) 语句1;[else 语句2;] 其中,逻辑表达式用来判断选择程序的流程走向,用[]括起来的 else子句是可选的。 注意:else子句不能作为语句单独使用,它必须是if语句的一部 分,与if配对使用。
switch语句语法结构: switch(表达式) { case 表达式常量1:语句1; [break;] case 表达式常量2:语句2; [break;] …… case 表达式常量n:语句n; [break;] [default: 语句n+1;] } 其中,每个case常量称为一个标号,代表一个case分支的 入口。标号和后跟的相应语句成为case子句,代表一个case 要执行的指定操作。Default子句为可选项,当表达式的值与 任何一个case常量都不匹配时,执行default子句,然后转向 出口。

3.1程序的基本控制结构

3.1程序的基本控制结构

重要特点:始终保持单入口、单出口; 重要特点:始终保持单入口、单出口; 优点:结构清晰,可读性好,方便排错。(特殊情况: 。(特殊情况 优点:结构清晰,可读性好,方便排错。(特殊情况: break、continue、goto的使用) 的使用) 、 、 的使用
♦ 3.结构化程序设计工具 结构化程序设计工具
一个三角形,其顶点分别代表进度、 一个三角形,其顶点分别代表进度、预算以及系统功能 等项目特性。很多时候, 等项目特性。很多时候,我们很可能不能同时获得这三样 特性,实际上只能放弃某一方面的特性。最早是在1968年 特性,实际上只能放弃某一方面的特性。最早是在 年 提出了软件危机一词。 提出了软件危机一词。 1)软件危机的产生及其原因 软件危机的产生及其原因 软机危机:软件研制及软件质量失去控制; 软机危机:软件研制及软件质量失去控制; 原因:软件开发和管理缺乏统一规范。 原因:软件开发和管理缺乏统一规范。 2)结构化程序设计的基本思想:只用三种基本控制结构构 结构化程序设计的基本思想: 结构化程序设计的基本思想 成程序,始终保持单入口、单出口结构; 成程序,始终保持单入口、单出口结构; 3)结构化程序设计采用主要技术:自顶向下,逐步求精。 结构化程序设计采用主要技术:自顶向下,逐步求精。 结构化程序设计采用主要技术
§3.1程序的基本控制结构 程序的基本控制结构
单语句
C++的语句主要是计算表达式的值和控制程序的执行顺序, 的语句主要是计算表达式的值和控制程序的执行顺序, 的语句主要是计算表达式的值和控制程序的执行顺序 或什么都不做。 或什么都不做。 主要的语句可以归纳为: 1)表达式语句(最常见的语句):表达式后加“;”构成; 表达式语句(最常见的语句):表达式后加“ 表达式语句 ):表达式后加 构成; 计算出表达式x+y的值赋给变量 ,又称赋值 的值赋给变量a, 如:a=x+y;//计算出表达式 ; 计算出表达式 的值赋给变量 语句 2)空语句:只有一个分号“;”,表示什么操作也不做, 空语句: 表示什么操作也不做, 空语句 只有一个分号“ 主要用途是完成某种语法结构。 主要用途是完成某种语法结构。 3)复合语句(块语句):用一组花括号“{”与“}”把若干 复合语句(块语句):用一组花括号“ 与 复合语句 ):用一组花括号 把若干 个语句括起来,表示一个完整的处理逻辑过程单位。 个语句括起来,表示一个完整的处理逻辑过程单位。

python程序的三种控制结构

python程序的三种控制结构

python程序的三种控制结构程序的三种控制结构什么是控制结构?"""程序有三种基本结构组成:顺序结构、分⽀结构、循环结构。

任何程序都是由这三种基本结构组成。

顺序结构是程序按照线性顺序依次执⾏的⼀种运⾏⽅式。

分⽀结构是程序根据条件判断结果⽽选择不同向前执⾏路径的⼀种运⾏⽅式。

循环结构是程序根据条件判断结果向后执⾏的⼀种运⾏⽅式。

"""程序的分⽀结构单分⽀结构:if"""python中分⽀结构使⽤if保留字对条件进⾏判断,使⽤⽅法:if <条件>:<语句块>其中,if、:、<语句块>、前的缩进都是语法的⼀部分例如:判断⼀个数字的⼤⼩a = 1b = 2if a < b:print("True")<条件>可以是⼀个或者多个条件,多个条件间采⽤and或or进⾏逻辑组合。

and表⽰多个条件“与”的关系,or表⽰多个条件“或”的关系。

例如:判断⽤户输⼊数字的特性a = eval(input("请输⼊⼀个数字:"))if a % 3 == 0 and a% 5 == 0:print("这个数字既能被3整除,也可以被5整除")print("输⼊的数字是:",s)请输⼊⼀个数字: 10输⼊的数字是: 10请输⼊⼀个数字:15这个数字既能被3整除,也可以被5整除输⼊的数字是: 15"""⼆分⽀结构:if-else"""python的⼆分⽀结构使⽤if-else保留字对条件进⾏判断,语法格式如下:if <条件>:<语句块1>else:<语句块2><语句块1>在if<条件>中满⾜即为True时执⾏,<语句块2>在if<条件>中不满⾜即为False时执⾏,简单来说,⼆分⽀结构根据条件True或False结果产⽣两条路径。

程序控制结构及实例

03
程序控制结构的种类
选择结码直到满足特定条件。
顺序结构
按照代码的先后顺序执行。
程序控制结构的重要性
01
提高代码的可读性和可维护性。
02
实现复杂逻辑和功能,提高程序的灵活性和扩展性。
03
保证程序的正确性和可靠性,降低错误和缺陷的风 险。
02
3
函数嵌套
在一个函数中调用另一个函数,实现复杂的逻辑 处理。
嵌套结构的实例
条件嵌套实例
在判断一个数是否为偶数的程序中,可以使用条件嵌套来判断 该数是否为0,如果是0则直接返回0,否则继续判断该数除以2
的余数是否为0。
循环嵌套实例
在计算阶乘的程序中,可以使用双重循环嵌套来计算一个数的 阶乘,外层循环控制计算次数,内层循环控制乘法操作。
顺序结构
顺序结构的定义
• 顺序结构的定义:顺序结构是一种基本的程序流程结构,它按 照代码的先后顺序执行,程序从上到下,从头到尾依次执行。
顺序结构的流程
按照代码的顺序执行
顺序结构的程序按照代码的先后顺序 执行,从头到尾依次执行,不跳过任 何代码。
程序流程简单
顺序结构的程序流程简单明了,易于 理解,不需要复杂的控制逻辑。
根据设定的条件表达式,当条件为真时重复执行 循环体。
无限循环
没有设定终止条件的循环,通常需要手动干预才 能终止。
循环结构的实例
计数型循环实例
从1到10的累加和计算。
条件型循环实例
求一个数组中所有元素的和 。
无限循环实例
打印“Hello World!”直到 用户按下Ctrl+C。
05
嵌套结构
嵌套结构的定义
```c switch (variable) {

程序的三种基本控制结构

程序的三种基本控制结构顺序结构选择结构循环结构一、顺序结构:顺序语句由语句序列组成,程序执行时,按照语句的顺序,从上而下,一条一条地顺序执行如: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分以下为不及格。

Python程序控制结构概述及异常处理

Python程序控制结构概述及异常处理1、程序控制结构概述基础程序控制结构有三种,顺序结构、分⽀结构、循环结构。

任何程序都以这三种结构为基础。

顺序结构就是程序以单线性顺序从开头⾄末尾依次执⾏的结构,中间没有任何的选择分⽀和循环部分。

顺序结构是最简单的程序控制结构。

分⽀结构就是在⼀段程序执⾏过程中,程序判断数据的情况,根据不同的数据进⾏不同的操作,这个不同操作的过程就是产⽣分⽀。

分⽀结构的基础是判断,最常见的是if语句建⽴的分⽀结构。

循环结构是指在⼀段程序执⾏过程中,某些操作被程序多次重复执⾏,直到满⾜某些条件后,才进⾏程序的下⼀步操作。

显然,判断是跳出循环的重要前提。

建⽴循环的语句很多,包括for、while等等。

三种基础程序控制结构是所有程序的基础,任何编程语⾔都提供这三种结构,并在此基础上进⾏拓展。

此节只是简要介绍,下节将详细讲解分⽀结构。

2、程序的异常处理程序的异常处理就是基础程序控制结构的拓展。

在分⽀结构原理的基础上,Python增加了异常处理,使⽤try-except保留字。

异常处理以程序是否异常为判断条件,根据⼀段代码执⾏的正确性进⾏程序逻辑选择。

例如在⼀段要求⽤户输⼊数字的程序中,⽤户输⼊了⾮数字字符,程序并不会因此停⽌,此时程序就是异常执⾏状态。

异常状态的程序往往得不到预期的结果,因此对程序异常状态的判断和判断之后的处理就显得尤为重要。

Python语⾔提供try和except进⾏异常处理,基本的语法格式如下:try:<语句块1>Except:<语句块2>语句块1是程序正常情况下执⾏的语句,语句块2是在程序发现异常情况时执⾏的语句。

如上⾯的例⼦⽤代码实现为:try:num = eval(input("请输⼊数字:"))print("输⼊的数字是:{}".format(num))except:print("输⼊的不是数字")#输出情况如下:#输⼊数字时请输⼊数字:2输⼊的数字是:2#输⼊⾮数字时请输⼊数字:阿松⼤输⼊的不是数字除了在输⼊时判断,异常处理在程序中也可以发挥重要作⽤。

结构化程序设计的三种基本流程控制结构

探究程序设计的三种基本流程控制结构
程序设计是现代社会中极其重要的一项技能。

结构化程序设计是一种较为常见的编程方法,该方法能够将程序设计的过程分为三个基本流程控制结构,包括顺序结构、选择结构和循环结构。

顺序结构是程序运行的最基本形式。

程序中的每个语句都按照书写的顺序依次执行,没有任何分支或选择。

如果你需要在程序中做一些选择,那么就需要使用选择结构。

选择结构可以让程序在执行时根据不同的条件判断来决定选用不同的代码路径。

常见的选择结构包括单向选择结构和双向选择结构。

循环结构是组成程序的重要元素之一。

循环结构可以让程序在特定的条件下多次执行同一个代码块,直到条件不满足为止。

常见的循环结构包括while循环和for循环。

掌握这三种基本流程控制结构是编写高质量程序的关键。

在掌握这些基础知识的基础上,程序设计师还需要不断学习新的技能和方法来提高自己的技能水平。

总之,结构化程序设计的基础是三种基本流程控制结构,而这三种控制结构又是程序设计师必须深入理解和掌握的基本技能。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2018/11/7
循环——while,for
while (表达式) { 语句; } for (表达式1; 表达式2; 表达式3) { 语句; }

7
2018/11/7
while
while (表达式) { 语句; } 只要表达式的值为非0,就重复执行语句,直 到表达式值为0时止

8
2018/11/7
2018/11/7
do-while

11
do {
语句; }while (表达式); 首先执行语句,然后判断表达式的值。如果表 达式为0,继续向下执行,否则,再次执行语 句,再次判断表达式的值 语句会被至少执行一次
2018/11/7
选择三种循环的一般原则
如果循环次数已知,用for 如果循环次数未知,用while 如果循环体至少要执行一次,用do-while 这只是“一般”原则,不是“原则”
2018/11/7
else-if

5

if的一种扩展形式 if (表达式) 语句1; else if (表达式) 语句2; else if (表达式) 语句3; ………… else 语句4; 语句5; else部分可以没有
2018/11/7
switch

6

多路选择 switch (表达式) { case 常数1: 语句序列1; case 常数2: 语句序列2; ………… default: 语句序列3; } default可以没有,但最好不省略 不要忘记break
补充2:列出一道一位数乘法题(数值通过随机函数产生), 由用户回答,程序告诉回答得正确与否,回答错误最多三次. #include<stdio.h> #include<stdlib.h> #include<time.h> main() {int num1,num2,result,answer,times=1; srand(unsigned)time(Null)); /*初始化随机函数*/ num1=rand()%10; /*产生一个0~9的随机数*/ 程序运行 num2=rand()%10; /*同上*/ 3*6=?24 result=num1*num2; answer is wrong do 3*6=?18 {printf(“%d*%d=?”,num1,num2); scanf(“%d”,&answer); answer is ringht if(answer==result) printf(“answer is right\n”); else printf(“answer is wrong\n”); }while((answer!=result)&&(times++!=3)); }

9
注意

10


在for和while语句之后一般没有分号 有分号表示循环体就是分号之前的内容(空循环体) while (i < 100); i++; for (i = 0; i < 100; i++); printf(“%d”, i); /*结果是100*/ for通常有一个循环变量控制循环的次数,不要在循 环体内改变这个变量

122018/11/7来自死循环13
永远不会退出的循环为死循环 – for (;;)
{} – while (1) {} – do { }while (1);

一般情况下,要极力避免死循环 – 绝大多数程序不需要死循环。如果出现,往往都是bug – 时间过长的循环会造成“假死”效果,也要考虑解决
2018/11/7
2018/11/7
if-else

4
选择结构的一种最常用形式 if (表达式) 语句1; else 语句2; 语句3; – 表达式值非0时,执行语句1,然后语句3
表达式值为0时,执行语句2,然后语句3


else部分可以没有。 if (表达式) 语句1; 语句3; – 当表达式值为0时,直接执行语句3 if-else嵌套使用时,注意else和谁配对的问题
构成程序的三种基本结构

2


顺序结构 选择结构 循环结构 已经证明,任何程序均可只用这三种结构综合描述 只用这三种结构编制的程序,叫结构化程序 程序必须符合结构化规则
2018/11/7
结构化程序设计的核心思想

3
采用顺序、选择和循环三种基本结构作为程序设计 的基本单元 – 只有一个入口; – 只有一个出口; – 无死语句,即不存在永远都执行不到的语句; – 无死循环,即不存在永远都执行不完的循环。 采用“自顶向下、逐步求精”和模块化的方法进行 结构化程序设计
for
for (表达式1; 表达式2; 表达式3) { 语句; } 首先执行表达式1。如果表达式2的值为非0,就重复 执行语句和表达式3,直到表达式2的值为0时止 相当于: 表达式1; while (表达式2) { 语句; 表达式3; } 表达式1和表达式3可以没有或者是用逗号分隔的多个 表达式的组合。但最好不要有太多的表达式组合 2018/11/7
14
使用嵌套的循环体时,应注意以下问题
在嵌套的各层循环体中,使用复合语句(即用一对 大花括号将循环体语句括起来)保证逻辑上的正确 性 内层和外层循环控制变量不应同名,以免造成混乱 嵌套的循环最好采用右缩进格式书写,以保证层次 的清晰性 循环嵌套不能交叉,即在一个循环体内必须完整的 包含着另一个循环
5 10 15 6 12 18 7 14
21 28 35
8 16 24 32 9 18 27 36
2018/11/7
#include <stdio.h> main() { int m, n; for(m=1; m<10; m++) printf("%4d", m); /*打印表头*/ printf("\n"); for(m=1; m<10; m++) printf(" -"); printf("\n"); for(m=1; m<10; m++) { for(n=1; n<=m; n++) { printf("%4d", m*n); } printf("\n"); } 2018/11/7 }

2018/11/7
合法的嵌套循环
15
外层循环 内层循环
内层循环
合法的嵌套循环
内层循环
2018/11/7
现场编程完成

16
编程输出下面下三角格式
1 1 2 3 4 4 6 8 9 12 16 20 25 24 30 36 42 49 40 48 56 64 45 54 63 72 81 2 3 4 5 6 7 8 9
相关文档
最新文档