资源预览内容
第1页 / 共5页
第2页 / 共5页
第3页 / 共5页
第4页 / 共5页
第5页 / 共5页
亲,该文档总共5页全部预览完了,如果喜欢就下载吧!
资源描述
第六讲 IF语句1、 IF语句11简单分支语句l 语句一般格式 if (表达式) 语句表达式:可为算术、关系、逻辑、赋值等表达式内嵌语句,可为: 赋值语句 函数调用语句 控制语句 复合语句 空语句 功能: 计算表达式的值,如果是一个非0值(即逻辑真),就执行内嵌语句,否则(即逻辑假)跳过内嵌语句,顺序执行后续语句。 简单分支语句的算法:语句流程图 N Y表达式非0? 表达式非0 T F 语句N-S结构图 l 例如: if (x0) m+; if ( ab ) c=a; a=b; b=c; 12双重分支语句 l 语句一般格式if (表达式) 语句1 else 语句2 l 功能: 计算表达式的值,如果它的值是一个非0值(逻辑真),就执行内嵌语句1,之后跳过内嵌语句2,执行后续语句;否则跳过内嵌语句1,执行内嵌语句2,之后执行后续语句。 表达式非0 T F 语句1 语句2N-S结构图 语句1 语句2流程图NY表达式非0? 双重分支语句的算法 l 例如: if (x0) m+; else m-; if ( ch= a & ch= z ) ch=ch-32 ; printf( %cn,ch); else printf( %cn,ch) ;13多重分支语句 l 语句一般格式if (表达式1) 语句1 else if (表达式2) 语句2 else if (表达式m) 语句m else 语句 nl 功能: 依次计算并判断表达式i,为非0时执行后面的语句,都为0时,执行语句n 无论执行完那个语句分支,都转到后续语句多重分支语句的算法l 流程图表达式2?表达式1?语句n 语句1 语句2语句mYNYNNYl N-S结构图l 例如:if (a=A & ch=65 & ch =A & ch=Z) ch=ch+32; printf(%cn,ch );15 if语句的嵌套如果if的内嵌语句中又使用了一个if语句,则构成if语句的嵌套。 【例】比较两个整数的关系。#include main( ) int x, y; printf (Enter integer X and Y:); scanf (%d%d, &x, &y); if ( x != y ) if ( x y ) printf (XYn); else printf (XYn); else printf (X=Yn);if语句嵌套的形式l 简单if语句的嵌套形式 if (表达式) if 语句l 双重(或多重)分支if语句的嵌套形式 if (表达式) if 语句 else if 语句 例如: if (c=50) printf(50=c=100n); if (c=50) printf(50=c=100n);else printf(c50n);else if (c=150) printf(100c150n); if (c=50) printf(50=c=100n);else printf(cb) if(ac)if(ad) m=1; else m=2; else m=3;问题:哪一个 else 和哪一个 if 相匹配?规则:在嵌套的ifelse语句中,else总是与上面的离它最近的尚未配对的if 配对。【例】输入一个数,判断它是奇数还是偶数,如果是奇数则进一步判断它是否为5的倍数。 程序:main( ) int x; scanf (%d,&x); 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语句的难点l if else 语句的配对l 正确用表达式描述条件例如:当x大于5小于10时令x自增 if ( 5x10 ) x+;l 正确判断内嵌语句例如:if(xy) x=x+3; y=y-2; else x=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;
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号