第4章C语言程序结构 4.1程序结构概述 4.2顺序结 4.3选择结构 44循环结构一s 45无条件转向语句
第4章 C语言程序结构 4.1 程序结构概述 4.2 顺序结构 4.3 选择结构 4.4 循环结构 4.5 无条件转向语句
4.1概述 令任何一个结构化程序都可以由三种基本控制结构来表示 (1)顺序结构 令顺序结构是最简单的一种基本结构。它是按语句出现的先后 顺序依次执行的,,执行完A操作后,再执行B操作。 令(2)选择结构 令选择结构又称分支结构,在这种结构中包含一个条件判定, 根据条件是否成立而确定是执行A还是执行B (3)循环结构 令循环结构又称重复结构。它是在给定的条件成立的情况下 重复执行某一程序段(循环体),直到条件不满足为止
❖ 4.1概述 ❖ 任何一个结构化程序都可以由三种基本控制结构来表示 ❖ (1)顺序结构 ❖ 顺序结构是最简单的一种基本结构。它是按语句出现的先后 顺序依次执行的,,执行完A操作后,再执行B操作。 ❖ (2)选择结构 ❖ 选择结构又称分支结构,在这种结构中包含一个条件判定, 根据条件是否成立而确定是执行A还是执行B。 ❖ (3)循环结构 ❖ 循环结构又称重复结构。它是在给定的条件成立的情况下, 重复执行某一程序段(循环体),直到条件不满足为止
程序的三种基本控制结构 入口 入口 入口 条件 条件 A A B 循环体 B A出口 出口 出口 顺序结构:按语句出现 选择结构:根据条循环结构:它是在给定的条件 的先后顺序依次执行的件是否成立而确定成立的情况下,重复执行某 是执行A还是执行程序段,直到条件不满足为止
程序的三种基本控制结构 顺序结构:按语句出现 的先后顺序依次执行的 选择结构:根据条 件是否成立而确定 是执行A还是执行 循环结构:它是在给定的条件 成立的情况下,重复执行某一 程序段,直到条件不满足为止
上述三种基本控制结构的共同特点有3个 ①具有一个入口和一个出口; ②结构内的每一部分都有机会被执行到; ③结构内不存在“死循环” C语言的所有基本语句,按照它们在运行时的结构 可分为四类:顺序结构语句、选择结构语句、循环结 构语句以及转向结构语句。在编写程序时,力求使 用前三种基本结构语句,尽可能不用转向语句,因 为转向语句会破坏程序结构中的单入口单出口特性, 从而影响程序的清晰度和易读性
上述三种基本控制结构的共同特点有3个: ❖ ①具有一个入口和一个出口; ❖ ②结构内的每一部分都有机会被执行到; ❖ ③结构内不存在“死循环”。 ❖ C语言的所有基本语句,按照它们在运行时的结构 可分为四类:顺序结构语句、选择结构语句、循环结 构语句以及转向结构语句。在编写程序时,力求使 用前三种基本结构语句,尽可能不用转向语句,因 为转向语句会破坏程序结构中的单入口单出口特性, 从而影响程序的清晰度和易读性
4.2顺序结构 C语言中的顺序语句结构主要由表达式语句、说明语句 输入/输出语句、空语句和复合语句组成。顺序语句结 构流程图中语句以分号“;”为结束标志,因此只要有 分号的地方就有一个语句,不管它前面是否有内容
4.2顺序结构 ❖ C语言中的顺序语句结构主要由表达式语句、说明语句、 输入/输出语句、空语句和复合语句组成。顺序语句结 构流程图中语句以分号“;”为结束标志,因此只要有 分号的地方就有一个语句,不管它前面是否有内容。 ❖
顺序结构实例 令#nc|ude" stdio.h 今# nclude"math.h" yoid maino float x1, y1, z1, q1, area1 print("请输入三角形l的三条边x1,y1,z1:") scanf("%f%f%f", &x1, &y1, &z1) q1=1/2.0*(×1+y1+21); area1=sqrt(q1*(q1-×1)*(q1y1)*(q1-z1); printf("三角形的面积是:%fn",area1); 今 今 float X2, y2, Z2, q2, area2 心 printf(("请输入三角形l的三条边x2,y2,z2:"); scant"%f%%f,&x2,.&y2,&z2); q2=1/2.0*(×2+y2+z2) area2=sqrt(q2*(q2-×2)*(q2y2)*(q2-z2); printf("三角形川的面积是:%fn",area2)
顺序结构实例 ❖ #include"stdio.h" ❖ #include"math.h" ❖ void main() ❖ { ❖ float x1,y1,z1,q1,area1; ❖ printf("请输入三角形I的三条边x1,y1,z1:"); ❖ scanf("%f%f%f",&x1,&y1,&z1); ❖ q1=1/2.0*(x1+y1+z1); ❖ area1=sqrt(q1*(q1-x1)*(q1-y1)*(q1-z1)); ❖ printf("三角形I的面积是:%f\n",area1); ❖ { ❖ float x2,y2,z2,q2,area2; ❖ printf("请输入三角形II的三条边x2,y2,z2:"); ❖ scanf("%f%f%f",&x2,&y2,&z2); ❖ q2=1/2.0*(x2+y2+z2); ❖ area2=sqrt(q2*(q2-x2)*(q2-y2)*(q2-z2)); ❖ printf("三角形II的面积是:%f\n",area2); ❖ } ❖ }
程序结果 E: \WORK\pro ject\ Debug\cp 有工的 1,y1,z1:345 请输入三角形I的三条边x2,y2,z2:56 形II的面积是:14.696938 Press any key to continue
程序结果
4.3选择结构 令通常,计算机程序是按语句在程序中书写的顺序执行的, 然而,在许多场合,需要根据不同的情况执行不同的语 句,称这种程序结构为选择结构。C语言提供的条件语 句和开关语句可用于实现选择结构程序设计 4.3.1选择结构简介 选择结构体现了程序的判断能力。在程序执行过程中能 依据运行时某些变量的值确定某些操作是否执行,或者 确定若干个操作中选择哪个操作执行,这种程序结构称 为选择结构,又称为分支结构
4.3选择结构 ❖ 通常,计算机程序是按语句在程序中书写的顺序执行的, 然而,在许多场合,需要根据不同的情况执行不同的语 句,称这种程序结构为选择结构。C语言提供的条件语 句和开关语句可用于实现选择结构程序设计。 ❖ 4.3.1选择结构简介 ❖ 选择结构体现了程序的判断能力。在程序执行过程中能 依据运行时某些变量的值确定某些操作是否执行,或者 确定若干个操作中选择哪个操作执行,这种程序结构称 为选择结构,又称为分支结构
4.3.2简单的语句 结构是一种常用的分支结构,用它可以构成复杂的判断选 择 语句是最简单的一种单分支结构,其一般形式为: 冷f() 令其中,一般为条件表达式或逻辑表达式,语结构的 功能是:先判断的逻辑值,若该逻辑值为“真” 则执行,否则,什么也不执行 令必须注意的是:语句中的一般情况下都是以复合语 句的形式出现,即用一对花括号将语句括起来
4.3.2简单的if语句 ❖ if结构是一种常用的分支结构,用它可以构成复杂的判断选 择。 ❖ if语句是最简单的一种单分支结构,其一般形式为: ❖ if() ❖ ❖ 其中,一般为条件表达式或逻辑表达式,if结构的 功能是:先判断的逻辑值,若该逻辑值为“真”, 则执行,否则,什么也不执行。 ❖ 必须注意的是:if语句中的一般情况下都是以复合语 句的形式出现,即用一对花括号将语句括起来
433 if-else语句结构说明 冷双分支结构是按照某个条件判断出执行两个语句(可以是复 合语句)中的哪个语句 令语句1和语句2可以是单条语句、复合语句或是内嵌讦语句等, 也可以是空语句 表达式可以是任何类型,常用的是关系表达式或逻辑表达式; else与配对,不能单独出现; if-else的配对原则是:else总是与它上面的最近的尚未配对 的语句配对
4.3.3 if-else语句结构说明 ❖ 双分支结构是按照某个条件判断出执行两个语句(可以是复 合语句)中的哪个语句。 ❖ 语句1和语句2可以是单条语句、复合语句或是内嵌if语句等, 也可以是空语句; ❖ 表达式可以是任何类型,常用的是关系表达式或逻辑表达式; ❖ else与if配对,不能单独出现; ❖ if-else的配对原则是:else总是与它上面的最近的尚未配对 的if语句配对