212双分支结构 1、语法形式 if(表达式)语句1 else语句2 真(非0) 假(0) 真 假 A B 语句1语句2 2、执行过程: 先计算表达式的值,若为真(非0值),执行语句1; 若值为0,执行 else后的语句2
1、语法形式: if ( 表达式 ) 语句1 else 语句2 2、执行过程: 先计算表达式的值, 若为真(非0值), 执行语句1; 若值为0, 执行else后的语句2 语句1 语句2 真 假 P 2.1.2 双分支结构 P A B 真(非0) 假(0)
212双分支结构 例2-3:输入2个整数,请输出其中的较大的数 #include <stdio. h> 输入x,y void main( x>=y? 真 假 nt x, y printf( input x,y:”); 输出x输出y scanf(%d%d”,&x,&y); if (x>=y printf(max=%dn”,x); e se } printi(mnx=%dm”,y)
2.1.2 双分支结构 例2-3: 输入2个整数, 请输出其中的较大的数 输入x , y x>=y? 真 假 输出x 输出y #include <stdio.h> void main( ) { int x, y; printf(“ input x, y: ”); scanf(“%d%d”, &x, &y); if (x>=y) printf(“max=%d\n”, x); else printf(“max=%d\n”, y); }
212双分支结构 例2-4:编程求解函数 0 X<=0 #include <stdio. h> X3+X+1X>0 #include <math.h> void main( 输入x d int x, y; 真 假 printf( input x:"”); y=0 scanf(scola y-X+X+1 &x); if(x<=0)y=0; 输出y else y=pow(x, 3)+x+1 printf(“y=%dn”,y)
#include <stdio.h> #include <math.h> void main( ) { int x, y; printf(“ input x: ”); scanf(“%d”, &x); if (x<=0) y=0; else y=pow(x, 3)+x+1; printf(“y=%d\n”, y); } 输入x 输出y x<=0? y=0 真 假 y=x3+x+1 2.1.2 双分支结构 例2-4:编程求解函数 0 X<=0 X 3+X+1 X>0 Y=
214i语句的嵌套 i的嵌套:在if语句中又包括一个或多个i语句 >嵌套的作用:对复杂条件进行判断,实现多分支选择 嵌套的形式多种多样 1.if(表达式1) if(表达式2)语句 2.if(表达式1)语句1 else if(表达式2)语句2 3.if(表达式件1)语句1 else if(表达式2)语句2 else语句3
2.1.4 if语句的嵌套 ➢if 的嵌套: 在if 语句中又包括一个或多个if 语句 ➢嵌套的作用: 对复杂条件进行判断, 实现多分支选择 ➢嵌套的形式多种多样 1. if (表达式1) if (表达式2) 语句 2. if (表达式1) 语句1 else if (表达式2) 语句2 3. if (表达式件1) 语句1 else if (表达式2) 语句2 else 语句3
214i语句的嵌套 4.i(表达式1) if2(表达式2)语句1 else语句2 对第4种形式可以有两种理解方式: (1)i(表达式1) 规定:在i嵌套结构中, i2(表达式2)语句1cs是与其前面最近的 else语句2 尚未配对的配对 (2)i(表达式1 {i2(表达式2)语句1} else①语句2
4. if① (表达式1) if② (表达式2) 语句1 else 语句2 (1) if① (表达式1) { if ② (表达式2) 语句1 else② 语句2 } (2) if① (表达式1) { if② (表达式2) 语句1 } else① 语句2 对第4种形式可以有两种理解方式: 规定: 在if 嵌套结构中, else是与其前面最近的 尚未配对的if 配对 2.1.4 if语句的嵌套