07-第4章+程序控制结构与算法基础-3
第3章 算法的基本控制结构

C程序设计与应用教程 3.1 C语句概述
3.1.1 C语言的基本语句 2.控制语句 表3-1 C语言的控制语句汇总 if~else switch( )~ while( )~ do~while( ) for( )~ continue break return goto
选择结构 条件语句 控制 开关语句 while循环语句 循环结构 do循环语句 控制 for循环语句 结束本次循环语句 其它控制 终止执行switch或循环语句 语句 从函数返回语句 转向语句
在C语言的基本数据类型中,没有逻辑型。C语言规定: 任何非0的数据都是“真”,0为“假”。逻辑运算的运 算结果和关系运算的结果一样,为“真”即为1,为“假” 即为0。
表达式中如果出现了多个逻辑运算符,C语言规定其优 先级次序为:!最高,&&次之,||最低。逻辑运算符具 有自左至右的结合性。
C程序设计与应用教程 3.3 选择结构的流程控制
C程序设计与应用教程 3.1 C语句概述
3.1.2 三种基本结构和流程控制语句
S1 S2
Y S1
条 件
N S2
条 件Y S1
N
(a)
(b)
(c)
图3-1 三种基本的结构
C程序设计与应用教程 3.1 C语句概述
3.1.2 三种基本结构和流程控制语句
C语言中的语句是按它们在程序中出现的顺 序逐条执行的; 选择结构的实现有if语句和switch语句; 循环结构的实现有while语句、do~while语 句和for语句。
表达式 真 语句
假
图 3-2 不 含 else 的if 语句的执行 流程
C程序设计与应用教程 3.3 选择结构的流程控制
3.3.2 if 语句 比较如下①②两种情况,哪个可以真正实现:如果 x小于y,则交换x和y的值?why???
程序设计基础(C语言)第4章 基本控制结构

4.2计算机的问题求解
关键:
建立问题的数学模型(Mathematical Model)即数学建模
计算思维
运用计算机科学的基础概念进行问题求解、系统设计及人 类行为理解等涵盖计算机科学之广度的一系列思维活动
简单地说,计算思维其实就是在寻找一个问题的解的过程 中的思维方式
ቤተ መጻሕፍቲ ባይዱ
#include <stdio.h> int main(void) {
int a, b, max; scanf("%d,%d", &a, &b); if (a >= b) {
max = a; } else {
max = b; } printf("max = %d\n", max); return 0; }
单分支选择结构(Single Selection)
面临的选择是:要么执行一个操作,要么跳过它
双分支选择结构(Double Selection)
面临的选择是:在两个不同的操作中选择其中的一个来执行
4.4.1选择结构的基本形式——变是唯一的不变
多分支选择结构(Multiple Selection)
4.4.2条件语句——无处不在的抉择
【例4.2】从键盘输入两个整型数,编程比较并输出两个数中的较大 值。
#include <stdio.h> int main(void) {
int a, b, max; scanf("%d,%d", &a, &b); max = a>=b ? a : b; printf("max = %d\n", max); return 0; }
算法的三个基本控制结构

算法的三个基本控制结构算法的三个基本控制结构指的是顺序结构、选择结构和循环结构。
这三个基本控制结构是构成算法的基础,能够使程序按照预定的逻辑顺序执行,实现特定的功能。
一、顺序结构顺序结构是指程序按照代码的顺序一步一步地执行,没有任何的条件或判断。
在顺序结构中,每一条语句都会被依次执行,直到程序结束。
顺序结构是算法中最简单也是最基本的一种结构。
在实际编程中,我们经常会使用顺序结构来组织代码。
例如,在编写一个计算器程序时,我们首先需要获取用户的输入,然后对输入进行计算,最后将结果输出给用户。
这个过程就是一个典型的顺序结构。
二、选择结构选择结构是指程序根据条件的不同,决定执行不同的代码块。
在选择结构中,程序会根据条件的真假选择性地执行不同的分支。
常见的选择结构有if语句和switch语句。
if语句是最常用的选择结构,它根据条件的真假选择性地执行不同的代码块。
例如,在一个成绩查询程序中,我们可以使用if语句来判断学生的成绩是否及格,如果及格则输出"及格",否则输出"不及格"。
switch语句也是一种选择结构,它根据表达式的值选择性地执行不同的代码块。
switch语句适用于多个条件的情况,可以使代码更加简洁和易于理解。
选择结构在实际编程中经常被用到,可以根据不同的条件执行不同的操作。
例如,在一个游戏中,根据用户的输入选择不同的关卡或道具,就可以使用选择结构来实现。
三、循环结构循环结构是指程序可以重复执行某段代码,直到满足退出条件为止。
在循环结构中,程序会根据循环条件的真假来决定是否继续执行循环体中的代码。
常见的循环结构有for循环、while循环和do-while循环。
for循环是最常用的循环结构,它可以指定循环的次数。
for循环由初始化表达式、循环条件和循环变量的更新组成。
在每次循环迭代时,循环变量都会被更新,并根据循环条件的真假来决定是否继续循环。
while循环是另一种常用的循环结构,它适用于不知道循环次数的情况。
第4章程序控制结构与算法基础(1)PPT课件

说明:
变量有类型,属性也有类型,赋值时要注 意类型匹配。
执行赋值语句时,首先计算出表达式的值,然 后将该值赋予变量.
变量可以多次被赋值,最终取最后一次所赋 予的值.
在程序中,赋值语句及各种操作对象的方法, 都是顺序执行的.
9
2. 不同数据类型数据的赋值
①变量和表达式的值都是数值型——先求出表
达式的值,然后将该值转换成变量类型。
如:
Private Sub Form_Click( )
Dim a As Integer, b As Single
b=2.2
a=2*b+1
print a
‘运行结果为 5 (四舍五入)
End Sub
10
②变量为字符型,表达式为数值类型(算术表达
式)——把表达式的值转换成字符型。
如:
Private Sub Form_Click( )
Dim a As String, b As Single
b=2.2
a=2*b+1
a=a & ”asd”
print a
‘运行结果为 5.4 (“5.4asd”)
End Sub
11
③变量为逻辑型,表达式为数值型——所有
非0值转换成True;0值转换成False.
Dim a As Integer
a=True
print a
‘运行结果为 -1
a=False
print a
‘运行结果为 0
End Sub
13
⑤变量是字符型,表达式是逻辑值True/False ——
值为 “True”/ “False”.
如:
Private Sub Form_Click( )
第4章_基本控制结构 PPT课件

第4章基本的控制结构4.1 算法的表示4.2 顺序结构4.3 选择结构4.4 循环结构4.5 跳转控制Goto语句(略) 4.6 实例4.1 算法算法(Algorithm):解决问题的方法和步骤。
特点:有穷性:算法必须在执行有穷个计算步骤后终止。
确定性:算法中的每个计算步骤,必须精确定义,无二义性。
可行性:算法的每一个计算步骤,可以在有限时间内完成。
输入:算法要求有一个或多个输入信息,作为初始数据。
输出:算法要求有一个或多个输出信息,是对输入信息计算的结果。
算法的表示(书76页图示)有多种表示算法的形式,如:传统的流程图、自然语言、N-S结构化流程图等。
用流程图来表示算法,非常直观、形象:⏹起止框:表示算法的开始或结束。
⏹处理框:表示初始化或运算赋值等操作。
⏹输入输出框,表示数据的输入输出操作。
⏹判断框:表示根据条件决定程序的流向。
⏹流程线:表示流程的方向。
示例1:幸运数字游戏程序 (Lucky Seven)。
游戏规则:单击“旋转”按钮,右边的三个标签中会各出现一个数字,只要三个数字中有一个为“7”,窗体下方会显示出一张图片。
(教科书77页)“旋转”按钮算法设计开始产生随机数字,分别放入各标签中。
Y N标签中有7?显示图片隐藏图片结束顺序结构是最简单、最基本的程序控制结构。
类似“流水账”,按语句块的顺序自上至下顺序执行。
例如:两个变量a、b的值互相交换。
Dim a%, b%, temp%temp=a:a=b:b=temp算法如下:(1) 输入数据a,b (输入)(2) 交换数据(数据处理)(3) 显示交换后的结果(输出)。
运用“条件判断语句”。
当满足某种条件时,执行某些语句(流程),否则程序将按照另一个流程执行。
If <条件> Then语句块1Else语句块2End IfIf 语句格式1:行 If 语句If <条件> Then <语句块1>[ Else <语句块2> ] 行If 语句必须在同一行内写完。
C语言 第4章 程序的控制结构

printf("Input a, b:"); scanf("%d,%d", &a, &b);
} if (a > b) max = a; else
max = b;
max = a > b ? a : b;
printf("max = %d", max);
语句2;
break;
…… default :
语句n; break; }
必须是常量!!
它是如何执 行的呢?
必须有空格!!
30/81
5.8用于多路选择的switch语句
Example: switch (month) {
假设 month = 1
case 1:
printf("January\n");
break;
第4章 程序的控制结构
本章学习内容
算法的描述方法 – 常用算法(累加累乘、统计、递推迭代、穷举) 选择结构及相关控制语句 循环结构及相关控制语句 结构化程序设计的基本思想 Skill: – Map problem to solution in flowchart and pseudocode
forms
else max = b;
printf("max = %d\n", max);
End
Turn Flowchart to C Program
22/81
【例5.2】计算两整数的最大值
#include <stdio.h> main() {
int a, b, max;
printf("Input a, b:"); scanf("%d,%d", &a, &b);
第四章程序设计基础

程序设 计基础
4.2 程序设计语言
程序设计语言=计算机语言
程序设计语言:用于书写计算机程序的语言。
计算机语言:计算机所能够识别的语言。
文章 程序 汉语、英语 计算机语言 字、词、语法结构 数据表示、表达式 语句结构 写文章 编程序
4-4
程序设 计基础
4.2 程序设计语言
计算机语言的分类
通用语言、专用语言 系统程序设计语言、科学计算语言 事务处理语言、实时控制语言 结构化语言 模块化语言 面向对象语言 机器语言 依赖于计算机硬件(低级语言) 汇编语言 高级语言→与计算机硬件基本无关
4-6
程序设 计基础
4.2 程序设计语言
[例题]用Intel 8086指令系统来编写机器语言程序,要 求完成 7+8=?
指令序号 机器语言程序 指令功能 1 10110000 把一加数 7 送到累加器 AL 中 00000111 2 00000100 把累加器 AL 中的内容与另一数 00001000 相加,结果仍存放在 AL 中 3 11110100 停止操作
4-30
程序设 计基础
4.4 Raptor控制结构
[例4-4] 求ax2+bx+c=0方程的根,a、b、c由键盘输入。
[解] 阅读教材相关内容,思考下列问题:假如将选择条件 disc<0 改变为 disc>=0,那么,流程图将如何变化?
(学生思考并回答,停留3分钟) [答案] Yes和No互换, 或选择结构两条分支路径的所有语句互换。
运行结果:
4-34
程序设 计基础
4.4 Raptor控制结构
[例4-6]百钱买百鸡问题。在例3-4 的基础上对流程图进行修改,使它 适应Raptor编程环境。
ZCC4

第四章
程序控制结构
【例4-3】求两个数中的最大值。
main() { int a,b,max; printf("\n input two numbers: "); scanf("%d%d",&a,&b); max=a; if (max<b) max=b; printf("max=%d",max); }
C语言程序设计
第四章
程序控制结构
4.3选择结构
4.3.1 if语句
expr =0
if语句(条件选择语句)
非0 if语句的三种形式 statement 形式一: 格式:if (expression) statement 执行过程: 例:if (x>y) 形式二: printf(“%d”,x); =0 非0 expr 格式:if (expression) statement1 statement1 statement2 else statement2 执行过程: 例:if (x>y) max=x;
I/O特性:有0个或多个输入;一个或多个输出。
有效性 :算法中每一个步骤都应当能有效的执行,并得到确定 的结果。
C语言程序设计
第四章
程序控制结构
4.1.2 算法的描述方法 顺序结构使得语言按先后顺序执行;选择结构使程序 能进行逻辑判断,在满足条件时转去执行相应的语句;循环 结构则使单调的重复运算变得简单明了。因此,在结构化程 序设计中,顺序、选择和循环3种基本结构能组成任何结构 的算法。 算法的多种描述方法 1.流程图 流程图又叫程序框图,是一种用图形来表示算法的描 述方法。它通过指定的几何框图和流程线来描述各步骤的 操作和执行过程。