1、第六讲 IF 语句1、 IF 语句11 简单分支语句 语句一般格式if (表达式) 语句表达式:可为算术、关系、逻辑、赋值等表达式内嵌语句,可为: 赋值语句 函数调用语句 控制语句 复合语句 空语句 功能: 计算表达式的值,如果是一个非 0 值(即逻辑真) ,就执行内嵌语句,否则(即逻辑假)跳过内嵌语句,顺序执行后续语句。 简单分支语句的算法: 例如: if (x0) m+; if ( ab ) c=a; a=b; b=c; 12 双重分支语句 语句流程图 N Y表达式非0? 表达式非0T F语句N-S结构图 语句一般格式if (表达式) 语句 1 else 语句 2 功能: 计算表达式的值,
2、如果它的值是一个非 0 值(逻辑真) ,就执行内嵌语句1,之后跳过内嵌语句 2,执行后续语句;否则跳过内嵌语句 1,执行内嵌语句 2,之后执行后续语句。 双重分支语句的算法 例如: if (x0) m+; else m-; if ( ch= a printf (“Enter integer X and Y:“);scanf (“%d%d“, if ( x != y )if ( x y ) printf (“XYn“);else printf (“X=50) printf(“50=50) printf(“50150n“); if (c=50) printf(“50b) if(ac)if(ad)
3、m=1; else m=2; else m=3;问题:哪一个 else 和哪一个 if 相匹配?规则:在嵌套的 ifelse 语句中,else 总是与上面的离它最近的尚未配对的 if 配对。【例】输入一个数,判断它是奇数还是偶数,如果是奇数则进一步判断它是否为 5 的倍数。程序:main( ) int x;scanf (“%d“,if (x%2 != 0) printf(“%d is an odd n“,x) ;if (x%5=0)printf(“%d is the times of 5 n“,x) ; else printf(“%d is an even n“,x) ;学习 if 语句的难点 if else 语句的配对 正确用表达式描述条件例如:当 x 大于 5 小于 10 时令 x 自增if ( 5x10 ) x+; 正确判断内嵌语句例如:if(xy)x=x+3; y=y-2;elsex=x-3; y=y+2;熟悉常用的 if 表达式形式例如有定义:int a,b=0;a 等于什么值时,执行 b=2 ;语句?if (a=0) b=2;等价于 if (!a) b=2;if (a!=0) b=2; 等价于 if (a) b=2;