第二章程序基本结构 21分支结构 22关系运算和逻辑运算 23循环结构 24 break和 continue语句 ÷26经典算法举例
第二章 程序基本结构 ❖2.1 分支结构 ❖2.2 关系运算和逻辑运算 ❖2.3 循环结构 ❖2.4 break和continue语句 ❖2.6 经典算法举例
2分支结构 分支结构的引入 顺序结构只能解决一些简单的问题,遇到需要进行 条件判断的问题,就必须采用分支结构来处理 请输出2个数中的较大的数。-1x<0 请编程求解分段函数:y={0x0 1x>0 根据“体指数”判断某人的肥胖程度: 体指数tw/h2,其中:w体重(千克,h身高(米) t18低体重(偏瘦) t>=18&t<25正常体重 t>=25&t<27高体重(偏胖) =27肥胖
2.1 分支结构 ➢分支结构的引入 ▪请编程求解分段函数: -1 x<0 0 x=0 1 x>0 y = 顺序结构只能解决一些简单的问题, 遇到需要进行 条件判断的问题, 就必须采用分支结构来处理。 ▪请输出2个数中的较大的数。 ▪根据“体指数”判断某人的肥胖程度: 体指数 t= w / h2 , 其中: w—体重(千克), h—身高(米) t<18 低体重(偏瘦) t>=18 & t<25 正常体重 t>=25 & t<27 高体重(偏胖) t>=27 肥胖
211单分支结构 1、语法形式: if(表达式)语句 假(0 真(非0) 真 A 语句 2、执行过程: 先计算表达式的值, 若为真(非0值),则执行其后的语句, 若值为0,则继续向下执行
2.1.1 单分支结构 1、语法形式: if ( 表达式 ) 语句 2、执行过程: 先计算表达式的值, 若为真(非0值), 则执行其后的语句, 若值为0, 则继续向下执行 语句 真 P P A 真(非0) 假(0)
211单分支结构 例2-1:输入2个整数,按由小到大的顺序输出 #include <stdio.h> 输入a,b void main( i int a, b t 真 a>b 假 printf(“ input a,b:”) t=a scanf(“%d%d”,&a,&b) a=b if (a>b) {t=a; b=t a=b 输出a,b printf( yd,%dn”,a,b);
2.1.1 单分支结构 例2-1: 输入2个整数, 按由小到大的顺序输出 #include <stdio.h> void main( ) { int a, b, t; printf(“ input a, b: ”); scanf(“%d %d”,&a,&b); if (a>b) { t=a; a=b; b=t; } printf(“%d,%d\n”, a, b); } 输入a , b t=a a>b? 输出a , b 真 假 a=b b=t
211单分支结构 例22:输入3个整数,按由小到大的顺序输出 输入a,b,c #include <stdio.h> void main( 真 a>b? 假{inta,b,c,t; a<→b printf( input a, b, C:3); scanf(%d%d%d", &a, &b, &c); 真 a>c? 假if(a>b) a<→c i ta; a=b; b=t;j if (a>c) 真 b>c 假 i ta; a=c; c=t;) b<→c if (b>c) i tb; b=c; c=t;) 输出a,b,c printf(%d, %d, %d \n", a, b, c);
例2-2: 输入3个整数, 按由小到大的顺序输出 输入a , b, c 输出a , b, c a>b? a→b 真 假 a>c? a→c 真 假 b>c? b→c 真 假 #include <stdio.h> void main( ) { int a, b, c, t; printf(“ input a, b, 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); } 2.1.1 单分支结构