当前位置:文档之家› 第一讲 多分支嵌套结构的实现.

第一讲 多分支嵌套结构的实现.


用复杂条件表示 : age=sysY-bthY; if(sysM<bthM) age=age-1; else if((sysM==bthM)&&(sysD<bthD)) age=age-1;
sample21_04.cpp age=sysY-bthY; if(sysM<bthM) age=age-1; else if(sysM==bthM) if (sysD<bthD) age=age-1;

参考 §2.2.2 §2.3 §2.4
4
三种基本结构的示意图
顺序结构
选择结构
循环结构
5
嵌套结构
自顶向下,逐步细化的分析结果。 三种基本结构中的语句组(顺序语句组、if 分支语句组、else分支语句组、循环体语句 组)可以包含任意结构的语句,从而形成 不同的嵌套结构。 嵌套结构没有特定的结构形式,由分析方 法自然形成。
0
x0
13
y=x+1 y= y=x+2 y=x+3
2种嵌套if语句的比较

x<1 1<=x<2 x>=2


if (x < 1) y = x + 1; else if (x < 2) y = x + 2; else y = x + 3;
x<2
x<1

x<1

假 假
y=x+3
y=x+1
y=x+2
x<2
8
单分支结构

示例:若m与c相同,m值不 变,否则c的值给m 常见错误写法:
if(m == c) m=m; else m=c ; if(c!=m) 正确写法: m=c;
9
if(条件)
语句
真 表达式 语句1

单分支结构示例-求绝对值sample21_02.cpp
#include <stdio.h> int main(void) { int number; printf("Enter a number: "); scanf("%d", &number);

编程比较结果!
if (x < 2) if (x < 1) y = x + 1; else y = x + 2; else y = x + 3;
14
y=x+1
y=x+2
y=x+3
不对称嵌套结构示例:求实足年龄



年龄=当前年份-生日年份 如果生日月份还没到年龄 减一岁 否则如果生日月份已到但 生日还没到年龄减一岁
第二部分 模块化程序计
1
第二部分 主要内容
第一讲 多分支嵌套结构的实现 第二讲 循环嵌套结构的实现 第三讲 数据文件及应用 第四讲 指针及应用

2
第一讲
多分支嵌套结构的实现
3
主要内容
回顾程序的三种基本结构 嵌套结构

选择嵌套结构——if语句深入
switch语句 应用实例
注:条件多以表达式形式出现
12
实例1 (多分支)分段计算水费sample21_03.cpp
# include <stdio.h> int main(void) { double x, y; 完 printf("Enter x:"); 整 scanf("%lf", &x); 程 if (x < 0){ 序 y = 0; , } 上 else if (x <= 15){ 机 y = 4 * x / 3; 调 } 试 else{ ! y = 2.5 * x - 10.5; } printf("f(%.2f) = %.2f\n", x, y); return 0; }
}
10
选择嵌套结构

在if语句中又包含一个或多个if语句--if语 句的嵌套

参考§ 2.2.2
11
完整嵌套结构 P39

if(条件1) if(条件2) 语句1 else 语句2 else if(条件3) 语句3 else 语句4
表达 式1


表达 式2


表达 式3

语句 1
语句 2
语句 3
语句 4
if(number < 0){ number = -number;}
编程实现 分析: 负数求反,正数跳出
Enter a number: 10 The absolute value is 10.
Enter a number: -300 The absolute value is 300.
printf("The absolute value is %d.\n", number); return 0;
if(表达式1) if(表达式2) 语句1 else if(表达式3) 语句3 else 语句4
16
改变else 和 if 的配对
改写下列 if 语句,使 else 和第1个 if 配对。
if (x < 2) if (x < 1) y = x + 1; else y = x + 2;
if (x < 2){ if (x < 1) y = x + 1; } else y = x + 2;
写出If语句
4x y f ( x) 0 x 15 3 x 15 2.5 x 10.5
Enter x: -0.5
if (x < 0){ f(-0.50) = 0.00 y = 0; } Enter x: 9.5 else if (x <= 15) { y = 4 * x / 3; f(9.50) = 12.67 } else{ Enter x: 21.3 y = 2.5 * x - 10.5; f(21.30) = 42.75 }
6
选择嵌套结构——if语句深入
if语句的多种结构 if和else的匹配原则

7
if语句的多种结构

真 表达式 语句1

双分支结构(复习)
语句2
十字路口或直行或右转弯
单分支结构
十字路口或直行或停
选择嵌套结构
多分支结构
参考§2.2.2
if (条件表达式) 语句1 else 语句2
15
else 和 if 的匹配
if(表达式1)
if(表达式2) 语句1 else 语句2
if(表达式1) if(表达式2) 语句1
else
if(表达式3) 语句3 else 语句4
else if(表达式3) 语句3 else 语句4
else 与最靠近它的、没有与别的 else 匹配过的 if 匹配
if (x < 2) if (x < 1) y = x + 1; else; else y = x + 2; 17
多分支结构
表达式 1 真 假
相关主题