分支结构.ppt

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

第2页
THE C PROGRAMMING LANGUAGE
if 语句
[例5.2]输入任意三个数a、b、c,按从小到大的顺序 排序输出。
分析: a b c
交换a和b的内容
52 3
5 t=a 5
235
52 a=b 2
if (a>b) a和b交换,令 a=min{a, b} 5 b=a t 5
if (a>c) a和c交换,令 a=min{a, b, c}
if (b>c) b和c交换,另b为次大值,c为最大值
C语言程序设计 西安建筑科技大学 理学院 鲁萍
第3页
if 语句
THE C PROGRAMMING LANGUAGE
[例5.2]输入三个数a、b、c,按从小到大的顺序输出。
没有分
main()

{ int a,b,c,t;
printf(“input three numbers:\n");
11,18,22
C语言程序设计 西安建筑科技大学 理学院 鲁萍
第4页
THE C PROGRAMMING LANGUAGE
if…else…语句
1.复合if语句的一般格式
if~else 的执行过程
if(表达式) 语句体1
else
语句体2
【说明】
非0
(1)else必须与if配对使用, T
不能单独使用。 (2)if语句允许嵌套,但嵌 语句体1
C语言程序设计 西安建筑科技大学 理学院 鲁萍
第10页
THE C PROGRAMMING LANGUAGE
算法二:用if…else…语句实现
main()
{ float x,y;
printf("x=?");
scanf("%f",&x);Biblioteka if(x<1) y=x;
else
/* x>=1
*/
if (x<10) y=2*x-1; /* x>=1 && x<10 */
1(当x 0)
if(x>=0) if(x>0) y=1;
if语句嵌套时, else子句与 1.在它上面、 2.距它最近、 3. 尚未匹配 的if配对。
else y=0; else y=-1;
程序3:x=0时 × y=-1; if(x!=0) if(x>0) y=1; else y=0;
程序2: √
else y=-1;
程序2: √
if(x<0) y=-1; else if(x==0) y=0;
else y=1;
C语言程序设计 西安建筑科技大学 理学院 鲁萍
第8页
THE C PROGRAMMING LANGUAGE
课堂练习:if 语句应用实例
分别用三种if语句编写程序:键盘输入x,输出y (1)简单if语句、 (2)if…else…语句、 (3)if…else if…语句分别实现。
if 语句
1 简单if语句
一般格式:if(表达式) 语句体 【说明】 1)表达式:常量、变量、函数调用、表达式 2)表达式必须加()括起来。 3)语句体:一条 或 多条语句(多条语句用{}括起来) 4)执行过程:
当表达式的值为非0(真)时,执行语句体 5) 一个if语句总体上只算一条语句
C语言程序设计 西安建筑科技大学 理学院 鲁萍
scanf("%d,%d,%d",&a,&b,&c);
if (a>b) {t=a;a=b;b=t;}
if (a>c) {t=a;a=c;c=t;}
if (b>c) {t=b;b=c;c=t;}
printf(" %d,%d,%d\n",a,b,c); }
input three numbers: 11,22,18↙
THE C PROGRAMMING LANGUAGE
选择结构程序设计
1. if语句 2. switch语句 3. 选择结构程序设计举例
【问题】
1、从键盘输入一个数,如果该数为正,打印,否则 不打印;
2、解一元二次方程,求出相应的实根或复根。
C语言程序设计 西安建筑科技大学 理学院 鲁萍
第1页
THE C PROGRAMMING LANGUAGE
else y=3*x+11 ;
/* x>=10
*/
printf("%.2f",y);
}
C语言程序设计 西安建筑科技大学 理学院 鲁萍
第11页
THE C PROGRAMMING LANGUAGE
if(x<0) y=-1; else if(x==0) y=0;
else y=1;
程序4: x=-5 × y=0; if(x>=0)
if(x>0) y=1; else y=-1;
C语言程序设计 西安建筑科技大学 理学院 鲁萍
第6页
if~else if~语句
THE C PROGRAMMING LANGUAGE
1.格式 if(表达式1) 语句组1 else if (表达式2) 语句组2 else if (表达式3) 语句组3 else if (表达式4) 语句组4
… else if (表达式n) 语句组n else 语句组n+1
计算表达式1的值
T 真否?
F
语句组1 计算表达式2的值
T
真否?
F
语句组2 计算表达式3的值
套的层数不宜太多。
表达式的值
为0
F
语句体2
例如: if (a>b) max=a; else max=b;
执行if后的语句
C语言程序设计 西安建筑科技大学 理学院 鲁萍
第5页
if…else…语句
THE C PROGRAMMING LANGUAGE
例5.3
1(当x 0)
y 0(当x 0) 程序1: √
x (x 1) y 2x 1 (1 x 10)
3x 11 (x 10)
C语言程序设计 西安建筑科技大学 理学院 鲁萍
第9页
THE C PROGRAMMING LANGUAGE
算法一:用if语句实现
main() { float x,y;
printf("x=?"); scanf("%f",&x); if(x<1) y=x; if(x<10&&x>=1) y=2*x-1; if(x>=10) y=3*x+11; printf("%.2f",y); }
真否? T
语句组3

C语言程序设计 西安建筑科技大学 理学院执行鲁复萍合语句后的语句 第7页
if~else if~语句
THE C PROGRAMMING LANGUAGE
例5.3
1(当x 0) y 0(当x 0)
1(当x 0)
程序1: √
if(x>=0) if(x>0) y=1; else y=0;
相关文档
最新文档