程序的控制结构
Python电子教案4-1 程序的控制结构
微实例4.3:整数累加。
• 计算1到正整数R的算术和。图4.8分别给出了该计算问题的IPO描述 、流程图描述和Python代码描述。
输入:正整数R 处理:
S=1+2+3+…+R
输出:输出S
程序的基本结构实例
•IPO描述、流程图描述和Python代码描述是解决计算问题的三种描 述方式,细致程度逐步递进。IPO描述主要用于区分程序的输入输出 关系,重点在于结构划分,主要采用自然语言描述。流程图描述侧重 于描述算法的具体流程关系,流程图的结构化关系相比自然语言描述 更进一步,有助于阐述算法的具体操作过程。Python代码描述是最 终的程序产出,最为细致。
身体质量指数BMI
•本实例编写一个根据体重和身高计算BMI值的程序,并同时输出国际 和国内的BMI指标建议值。该问题的IPO描述如下:
输入:身高和体重值 处理:计算BMI值,并根据BMI指标分类找到合适分类 输出:打印指标分类信息
实例代码5.1
实例代码5.1
程序执行后的效果如下:
身体质量指数BMI
•该问题的IPO描述如下: 输入:接收外部输入PM2.5值 处理: if PM2.5值 >= 75,打印空气污染警告 if 35 <= PM2.5值 < 75,打印空气污染警告 if PM2.5值 < 35,打印空气质量优,建议户外运动 输出:打印空气质量提醒
微实例4.4:PM 2.5空气质量提醒(1)
多分支结构: if-elif-else语句
•微实例4.4通过多条独立的if语句对同一个变量PM进行判断,这种情 况更适合多分支结构,改造后的代码如下:
实例5: 身体质量指数BMI
2021/10/10
程序的控制结构总结
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
它允许将相关的语句组合在一 起,形成一个独立的逻辑块, 有助于减少代码冗余和提高代 码复用性。
第3章-2_程序的控制结构
22
#include<stdio.h> #include<math.h> void main() { float x,y; printf("please input x:\n”); scanf("%f”,&x); if(x<0) y=fabs(x); else if(x<2) y=sqrt(x+1); else if(x<4) y=pow(x+2,3); else y=2*x+5;
2012-8-11 24
switch
多路选择
switch (表达式) { case 常数1: 语句序列1; 语句序列1; case 常数2: 语句序列2; 语句序列2; ………… default: 语句序列n; 语句序列3; } default可以没有,但最好不省略 不要忘记break
25
2012-8-11
4
如何设计结构化的程序?
Top-down, Stepwise refinement 自顶向下、逐步求精 1971年,wirth提出的结构化程序设计方法 – 先全局后局部 – 先整体后细节 – 先抽象后具体
2012-8-11
5
自顶向下、逐步求精的 结构化程序设计方法
A11
有穷性 – 在合理的时间内完成 确定性,无歧义 – 如果x≥0,则输出Yes;如果x≤0,则输出No; 有效性 – 能有效执行 – 负数开平方 没有输入或有多个输入 有一个或多个输出
2012-8-11 8
算法的分类
数值运算算法: –解决求数值解问题 非数值运算算法: –需要用分析推理、逻辑推理才能解决的问题 –例如人工智能中的许多问题,查找、分类等
3.1程序的基本控制结构
重要特点:始终保持单入口、单出口; 重要特点:始终保持单入口、单出口; 优点:结构清晰,可读性好,方便排错。(特殊情况: 。(特殊情况 优点:结构清晰,可读性好,方便排错。(特殊情况: break、continue、goto的使用) 的使用) 、 、 的使用
♦ 3.结构化程序设计工具 结构化程序设计工具
一个三角形,其顶点分别代表进度、 一个三角形,其顶点分别代表进度、预算以及系统功能 等项目特性。很多时候, 等项目特性。很多时候,我们很可能不能同时获得这三样 特性,实际上只能放弃某一方面的特性。最早是在1968年 特性,实际上只能放弃某一方面的特性。最早是在 年 提出了软件危机一词。 提出了软件危机一词。 1)软件危机的产生及其原因 软件危机的产生及其原因 软机危机:软件研制及软件质量失去控制; 软机危机:软件研制及软件质量失去控制; 原因:软件开发和管理缺乏统一规范。 原因:软件开发和管理缺乏统一规范。 2)结构化程序设计的基本思想:只用三种基本控制结构构 结构化程序设计的基本思想: 结构化程序设计的基本思想 成程序,始终保持单入口、单出口结构; 成程序,始终保持单入口、单出口结构; 3)结构化程序设计采用主要技术:自顶向下,逐步求精。 结构化程序设计采用主要技术:自顶向下,逐步求精。 结构化程序设计采用主要技术
§3.1程序的基本控制结构 程序的基本控制结构
单语句
C++的语句主要是计算表达式的值和控制程序的执行顺序, 的语句主要是计算表达式的值和控制程序的执行顺序, 的语句主要是计算表达式的值和控制程序的执行顺序 或什么都不做。 或什么都不做。 主要的语句可以归纳为: 1)表达式语句(最常见的语句):表达式后加“;”构成; 表达式语句(最常见的语句):表达式后加“ 表达式语句 ):表达式后加 构成; 计算出表达式x+y的值赋给变量 ,又称赋值 的值赋给变量a, 如:a=x+y;//计算出表达式 ; 计算出表达式 的值赋给变量 语句 2)空语句:只有一个分号“;”,表示什么操作也不做, 空语句: 表示什么操作也不做, 空语句 只有一个分号“ 主要用途是完成某种语法结构。 主要用途是完成某种语法结构。 3)复合语句(块语句):用一组花括号“{”与“}”把若干 复合语句(块语句):用一组花括号“ 与 复合语句 ):用一组花括号 把若干 个语句括起来,表示一个完整的处理逻辑过程单位。 个语句括起来,表示一个完整的处理逻辑过程单位。
程序控制结构
程序控制结构一、什么是程序控制结构程序控制结构是编程语言中用于控制程序执行流程的语法结构。
通过使用程序控制结构,程序员可以根据不同的条件或情况,决定程序中的不同执行路径,从而实现程序的灵活性和逻辑性。
二、程序控制结构的分类程序控制结构可分为顺序结构、选择结构和循环结构三种。
1. 顺序结构顺序结构是最简单的程序控制结构,程序按照顺序执行,没有分支或循环。
顺序结构中的语句按照其在程序中出现的顺序依次执行,直到程序结束。
2. 选择结构选择结构根据条件的真假来选择不同的执行路径。
常见的选择结构有if语句和switch语句。
2.1 if语句if语句根据条件的真假执行不同的代码块。
语法结构如下:if (条件) {// 条件为真时执行的代码块} else {// 条件为假时执行的代码块}if语句可以嵌套使用,形成多重选择结构。
2.2 switch语句switch语句根据表达式的值选择不同的代码块执行。
语法结构如下:switch (表达式) {case 值1:// 表达式等于值1时执行的代码块break;case 值2:// 表达式等于值2时执行的代码块break;default:// 表达式不等于任何一个case时执行的代码块break;}switch语句中的case语句可以有多个,并且可以使用break语句来终止当前case 的执行。
3. 循环结构循环结构允许程序重复执行某一段代码,直到满足退出条件。
常见的循环结构有while循环、do-while循环和for循环。
3.1 while循环while循环在执行循环体之前先检查条件是否为真,如果为真则执行循环体,然后再次检查条件。
只有当条件为假时,循环才会结束。
语法结构如下:while (条件) {// 循环体}3.2 do-while循环do-while循环先执行循环体,然后再检查条件是否为真。
只有当条件为真时,循环才会继续执行。
语法结构如下:do {// 循环体} while (条件);3.3 for循环for循环在执行循环体之前先执行初始化语句,然后检查条件是否为真。
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结果产⽣两条路径。
第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)
程序的三种基本控制结构
程序的三种基本控制结构顺序结构选择结构循环结构一、顺序结构:顺序语句由语句序列组成,程序执行时,按照语句的顺序,从上而下,一条一条地顺序执行如: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程序的控制结构
多分支结构: if-elif-else语句
Python的if-elif-else描述多分支结构,语句格式 如下:
if <条件1>: <语句块1>
elif <条件2>: <语句块2>
... else:
<语句块N>
多分支结构: if-elif-else语句
多分支结构通常用于判断同一个条件或一类条件的 多个执行路径。要注意,Python会按照多分支结构 的代码顺序依次评估判断条件,寻找并执行第一个 结果为True条件对应的语句块,当前语句块执行后 跳过整个if-elif-else结构。
无限循环: while
1 s, idx = "PY", 0
2 while idx < len(s):
3
print("循环执行中: " + s[idx])
4
idx += 1
5 else:
6
s = "循环正常结束"
7 print(s)
>>> 循环执行中: P 循环执行中: Y 循环正常结束
循环控制: break和continue
单分支结构: if语句
1 # 判断用户输入数字的奇偶性 2 s = eval(input("请输出一个整数:"))
3 if s % 2 == 0:
4
print("这是个偶数")
5 print("输入数字是:", s)
<条件>是一个或多个条件,多个条件间采用and或or进 行逻辑组合。and表示多个条件“与”的关系,or表示 多个条件“或”的关系
第04章 程序的控制结构
第 4 章
程序的控制结构
计算机中的问题求解过程
Example :银行定期存款 已知年利率rate,存款期为n年,本金为capital,n年后得 到的本利之和是多少?
Input
• 存款年数 • 本金 •利率
Process
deposit = capital* (1+rate)n
Output
deposit
Page 3
C语言程序设计
第 4 章
程序的控制结构
算法的概念及其描述方法
一个程序应包括两个方面的内容:
对数据的描述:数据结构(data structure) 对操作的描述:算法(algorithm)
著名计算机科学家沃思提出一个公式:
数据结构 + 算法 = 程序
计算机中的算法( Algorithm )
}
_ 15 Input a,b: 20
没有输入或有多个输入 有一个或多个输出
计算机与信息工程学院
Page 5
C语言程序设计
第 4 章
程序的控制结构
算法的描述方法
自然语言描述
传统流程图(Flowchart)
在1966年,Bohra 与 Jacopini 提出
N-S结构化流程图
1973年,美国学者I.Nassi 和 B.Shneiderman 提 出
为解决一个具体问题而采取的确定的有限的操作
步骤,仅指计算机能执行的算法。
计算机与信息工程学院
Page 4
C语言程序设计
第 4 章
程序的控制结构
算法的特性
有穷性 在合理的时间内完成 确定性,无歧义
程序的三种基本控制结构
程序的三种基本控制结构顺序结构选择结构循环结构一、顺序结构:顺序语句由语句序列组成,程序执行时,按照语句的顺序,从上而下,一条一条地顺序执行如: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. 函数调用语句 语法格式如下: <函数名>( <实际参数表> ); 函数调用语句的作用是:将执行控制流程转移到与此语
句完全匹配的函数定义体的第一条语句处,开始执行;函数 体执行结束后,返回到此语句的下一条语句处继续执行。执 行流程如教材图4-1.
分支结构包含if和switch两个语句.
4.2.1 if语句的基本格式 语法格式如下:
if ( <条件表达式> ) 复合语句1
else 复合语句2 if 语句基本格式的语义是:如果条件表达式的值为真,
则执行复合语句1,否则,即条件表达式的值不为真,则执 行复合语句2。格式中“( <条件表达式> )”写法与“( <条 件表达式> != 0 )”写法等价。
【例4.1】 任意输入两个不同的整数,输出其中较大的一个。 #include<stdio.h> void main( )
{ c4: int x, y; c5: printf( "\n Input two numbers: \n" ); c6 : scanf( "%d%d", &x, &y ); c7 : if ( x > y ) c8 : { printf( "max = %d \n", x ); }
limits.h等,其内容可以在本地安装有C编译器的机器中找 到。一般在安装路径的包含文件夹内,如: \Program Files\Microsoft Visual Studio\VC98\Include。
4.2 分支结构
程序流程有三种最基本的控制结构,即顺序结构、选择结构和44页PPT
1、战鼓一响,法律无声。——英国 2、任何法律的根本;不,不成文法本 身就是 讲道理 ……法 律,也 ----即 明示道 理。— —爱·科 克
3、法律是最保险的头盔。——爱·科 克 4、一个国家如果纲纪不正,其国风一 定颓败 。—— 塞内加 5、法律不能使人人平等,但是在法律 面前人 人是平 等的。 ——波 洛克
44、卓越的人一大优点是:在不利与艰 难的遭遇里百折不饶。——贝多芬
45、自己的饭量自己知道。——苏联
41、学问是异常珍贵的东西,从任何源泉吸 收都不可耻。——阿卜·日·法拉兹
42、只有在人群中间,才能认识自 己。——育; 而要挑战别人所说的话,则需要头脑。—— 玛丽·佩蒂博恩·普尔
程序的控制结构
程序的控制结构在计算机科学中,程序的控制结构是指如何组织和控制程序的执行流程。
通过使用条件语句、循环语句和函数调用,程序可以根据特定的条件选择不同的路径或重复执行特定的代码块。
本文将介绍常见的程序控制结构,并探讨它们在实际编程中的应用。
一、顺序结构顺序结构是最基本的程序控制结构,它按照代码的顺序逐行执行。
在顺序结构中,每条语句的执行完全依赖于前一条语句的执行结果。
下面是一个简单的顺序结构示例:```int a = 5;int b = 3;int c = a + b;```在上述代码中,先声明了变量a和b,并将它们的和赋值给变量c。
程序会按照顺序执行这三行代码,不会跳过任何一行。
二、条件结构条件结构基于特定的条件来决定程序的执行路径。
当满足某个条件时,会执行与条件匹配的代码块。
常见的条件结构有if语句和switch 语句。
1. if语句if语句用于根据特定条件选择性地执行代码块。
它的一般格式如下:```if (condition) {// code block} else {// code block}```当条件满足时,if语句后的第一个代码块将被执行;否则,else语句后的代码块将被执行。
下面是一个简单的if语句示例:```int age = 18;if (age >= 18) {System.out.println("You are an adult.");} else {System.out.println("You are a teenager.");}```在上述代码中,如果年龄大于等于18岁,则输出"You are an adult.";否则,输出"You are a teenager."。
2. switch语句switch语句根据不同的条件执行不同的代码块。
它的一般格式如下:```switch (expression) {case value1:// code blockbreak;case value2:// code blockbreak;default:// code blockbreak;}```根据expression的值,程序会匹配相应的case,并执行其后的代码块,直到遇到break语句或switch语句结束。
第4章程序的控制结构PPT课件
{
语句;
表达式3;
}
22
注意
在for和while语句之后一般没有分号 有分号表示循环体就是分号之前的内容(空循
环体)
while (i < 100); i++;
for (i = 0; i < 100; i++); printf("%d", i);
for通常ቤተ መጻሕፍቲ ባይዱ一个循环变量控制循环的次数,不 要在循环体内改变这个变量
else部分可以没有。 if (表达式) 语句1; 语句3
当表达式值为0时,直接执行语句3
if-else嵌套使用时,注意else和谁配对的问 15
else-if
if的一种扩展形式
if (表达式) 语句1;
else if (表达式) 语句2;
else if (表达式) 语句3;
…………
else
}
20
while
while (表达式) { 语句; }
只要表达式的值为非0,就重复执行语句, 直到表达式值为0时止
21
fforor(表达式1; 表达式2; 表达式3)
{ 语句;
} 首先执行表达式1。如果表达式2的值为非0,
就重复执行语句和表达式3,直到表达式2的值 为0时止
相当于: 表达式1; while (表达式2)
用3种方法编程:
算法1:用不带else子句的if语句编程
17
switch
多路选择 switch (表达式)
{ case 常数1: 语句序列1; case 常数2: 语句序列2; ………… default: 语句序列3;
}
default可以没有,但最好不省略
常见程序设计基本控制结构
常见程序设计基本控制结构
程序设计基本控制结构主要包括三种,顺序结构、选择结构和循环结构。
顺序结构是最简单的控制结构,执行流程是从上到下,从左到右,依次执行。
其全过程就像读书一样,可以理解为是一个自然的执行过程。
在程序设计中,顺序结构的特性是出现频率最高的,并且使用最为广泛。
选择结构负责根据条件判断结果来选择执行哪条路径。
选择结构通常由"if"等关键字出现,其他常见的选择语句还有"switch"等。
在实际的程序设计中,选择结构常常用来对不同的条件进行对应的响应,比如判断用户的输入数据是否符合标准。
循环结构主要是用于将一段程序代码重复执行多次。
我们通常使用“for”、“while” 等关键字来表示循环结构。
在实际的程序编写中,我们往往要处理大量的重复性工作,如对数组的遍历,通过设置循环结构可以极大地简化工作量。
除了这三种,还有一种比较特殊的控制结构:递归。
递归有两个基本要素:边界条件和递归前进段。
递归的实现是通过函数调用自身来实现。
在程序设计中,递归结构主要用于解决一些问题的分治思想,例如排序、查找等。
但是递归结构使用不当,容易造成内存溢出。
总的来说,这三种基本控制结构的正确使用,能够提高程序的效率和可读性。
在实际的编程中,程序设计者需要根据需要,灵活使用这些基本结构,来完成各种各样的程序设计任务。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
流
r=1.5;
程 图
l=2*PI*r;
编
s=PI*r*r;
程
printf("\nl=%f,s=%f",l,s);
2020/5/16
}
10
C语言大学实用教程
顺序结构——应用举例(2)
例4.1 设银行存款利率rate为2.25%,存款期为n 年,本金为captial元,编程计算n年后的本利之 和deposit
step3:输出结果
2020/5/16
8
C语言大学实用教程
开始
()
2
r=1.5
画
出
L=2*3.14*r
流
程
s=3.14*r*r
图
输出L,s
结束
2020/5/16
9
C语言大学实用教程
# include <stdio.h>
()
3
# define PI 3.14
根
main()
据
{ float r,l,s;
有穷性 确定性 有效性 没有输入或有多个输入 有一个或多个输出
2020/5/16
2
C语言大学实用教程
算法的分类
数值运算算法:
解决的是求数值解的问题,例如用辗转相 除法求两个数的最大公约数等
非数值运算算法:
主要用于解决需要用分析推理、逻辑推理 才能解决的问题,例如人工智能中的许多 问题,查找、分类等问题
注意:
以#开头;每条一行;不是C语句
2020/5/16
15
C语言大学实用教程
编译预处理命令
查询情况 (1)用<>将头文件名括起,则在
include 子目录中查询 (2)用" "将头文件名括起,则先在
当前目录中查找若无继续搜索
C子目录。
2020/5/16
16
C语言大学实用教程
常用函数对应的头文件
函数 数学函数 字符串函数 输入、输出函数 动态存储分配函数
头文件名 math.h string.h stdio.h stdlib.h/malloc.h
2020/5/16
17
C语言大学实用教程
4.3 选择结构
问题的提出: 作用:根据条件控制程序流向。
条件的组成: 各种类型的常量、变量、表达式
(常用:关系/逻辑表达式)
注意各种表达式的用法
2020/5/16
18
yes 条件成立否 no
程序段A
程序段B
2020/5/16
20
C语言大学实用教程
多分支选择结构
T 表达式1 F
语句1
T 表达式2 F
语句2
T 表达式3 F
语句3
语句4
2020/5/16
21
C语言大学实用教程
多分支选择结构
一般形式:
if(表达式) 语句1; else if (表达式2)语句2;
: else if(表达式m)语句m;
C语言大学实用教程
第4章 程序的控制结构
本章主要教学内容 算法的描述方法
基本控制结构及基本控制语句
常用算法
程序的基本版式
结构化程序设计的基本思想
程序测试与改错
2020/5/16
1
C语言大学实用教程
4.1 算法的概念及其描述
数据结构+算法=程序 算法:为解决一个具体问题而采取的确定的有 限的操作步骤。 算法特性:
图
printf("please enter year,capital:");
编
scanf("%d%lf",&n,&capital);
程
deposit=capital*pow(1+rate,n);
printf("deposit=%lf\n",deposit);
}
2020/5/16
13
C语言大学实用教程
2020/5/16
5
C语言大学实用教程
结构化程序设计的核心思想
采用顺序、选择和循环三种基本结构作为程 序设计的基本单元
只有一个入口; 只有一个出口; 无死语句,即不存在永远都执行不到的语句; 无死循环,即不存在永远都执行不完的循环。
采用“自顶向下、逐步求精”和模块化的方 法进行结构化程序设计
2020/5/16
6
C语言大学实用教程
4.2 顺序结构
A
A
B
传统流程图
2020/5/16
B NS图
7
C语言大学实用教程
顺序结构——应用举例(1)
例:设半径为1.5,求圆周长及面积。
解:(1)问题分析: (算法)
step1:给出圆的半径r=1.5
step2:求圆的周长及面积
圆周长=2*3.14*r 公式:
圆面积=3.14*r*r
简单的C程序结构框架
以#开始的编译预处理命令
main()
{ 局部变量说明语句;
执行语句;
}
2020/5/16
14
C语言大学实用教程
编译预处理命令
文件包含编译预处理命令#include指示编 译系统将一个源文件嵌入到含有#include 指令的源文件中该指令所在的位置处。
使用形式:
# include <头文件名>/"头文件名"
画 出
输入n和captial
流
程
depoist=captial*(1+rate)n
图
输出depoist
结束
2020/5/16
12
C语言大学实用教程 #include <math.h>
()
#include <stdio.h>
3
main()
根{
据
int n;
流
double rate=0.0225;
程
double capital,deposit;
解: (1)问题分析: (算法) step1:给出存款利率rate
step2:给出年n、本金captial(键盘输入)
step3:n年后本利之和deposit
公式:deposit=captial*(1+rate)n
step4:输出结果
2020/5/16
11
C语言大学实用教程
开始
()
2
rate=0.0225
2020/5/16
3
C语言大学实用教程
算法的描述方法
自然语言表示 传统的流程图表示 N-S结构化流程图表示 伪代码表示
2020/5/16
4
C语言大学实用教程
构成程序的三种基本结构
顺序结构 选择结构(分支结构) 循环结构 已经证明,任何程序均可只用这三种结构综 合描述 只用这三种结构编制的程序,叫结构化程序 程序必须符合结构化规则
else 语句n;
2020/5/16
22
C语言大学实用教程
分支嵌套
一般形式: if (表达式1) if (表达式2)语句1; else 语句2;
else if (表达式3)语句3; else 语句4;
2020/5/16
23
C语言大学实用教程
C语言大学实用教程
简单分支选择(单分支)结构
条件成立否 no yes
语句
格式:
2020/5/16
if (表达式) 语句/语句组;
19
C语言大学实用教程
双分支选择结构
条件表达式
.T.
.F.
语句1
语句2
格式: If (表达式) 语句1/语句组1; else 语句2/语句组2;