收藏 分销(赏)

第六讲 IF语句.doc

上传人:pc****0 文档编号:7189030 上传时间:2024-12-27 格式:DOC 页数:5 大小:81.50KB 下载积分:10 金币
下载 相关 举报
第六讲 IF语句.doc_第1页
第1页 / 共5页
第六讲 IF语句.doc_第2页
第2页 / 共5页


点击查看更多>>
资源描述
第六讲 IF语句 1、 IF语句 1.1简单分支语句 l 语句一般格式 if (表达式) 语句 表达式:可为算术、关系、逻辑、赋值等表达式 内嵌语句,可为: · 赋值语句 · 函数调用语句 · 控制语句 · 复合语句 · 空语句 · 功能: · 计算表达式的值,如果是一个非0值(即逻辑真),就执行内嵌语句,否则(即逻辑假)跳过内嵌语句,顺序执行后续语句。 简单分支语句的算法: 语句 流程图 N Y 表达式非0? 表达式非0 T F 语句 N-S结构图 l 例如: ⑴ if (x>0) m++; ⑵ if ( a>b ) { c=a; a=b; b=c; } 1.2双重分支语句 l 语句一般格式 if (表达式) 语句1 else 语句2 l 功能: – 计算表达式的值,如果它的值是一个非0值(逻辑真),就执行内嵌语句1,之后跳过内嵌语句2,执行后续语句;否则跳过内嵌语句1,执行内嵌语句2,之后执行后续语句。 表达式非0 T F 语句1 语句2 N-S结构图 语句1 语句2 流程图 N Y 表达式非0? 双重分支语句的算法 l 例如: ⑴ if (x>0) m++; else m--; ⑵ if ( ch>= 'a' && ch<= 'z' ) { ch=ch-32 ; printf(" %c\n",ch); } else printf(" %c\n",ch) ; 1.3多重分支语句 l 语句一般格式 if (表达式1) 语句1 else if (表达式2) 语句2 …… else if (表达式m) 语句m else 语句 n l 功能: – 依次计算并判断表达式i,为非0时执行后面的语句,都为0时,执行语句n – 无论执行完那个语句分支,都转到后续语句 多重分支语句的算法 l 流程图 表达式2? 表达式1? 语句n 语句1 语句2 语句m … Y N Y N N Y l N-S结构图 l 例如: if (a<0) x= -1 ; else if (a==0 ) x= 0 ; else x=1 ; 1.4 if语句的简单应用 【例】输入一个字符,如果是大写字母,则将其转换为小写字母输出,否则直接输出。 思路: l 输入:用 getchar 或 scnaf 函数 l ch是否为大写字母: ch>='A' && ch<='Z' (或 ch>=65 && ch <= 90) l 大写字母转换为小写字母: ch=ch+32 l 输出:用 putchar 或 printf 函数 程序: #include "stdio.h" main( ) { char ch; ch=getchar( ); if (ch>='A' && ch<='Z') ch=ch+32; printf("%c\n",ch ); } 1.5 if语句的嵌套 如果if的内嵌语句中又使用了一个if语句,则构成if语句的嵌套。 【例】比较两个整数的关系。 #include <stdio.h> main( ) { int x, y; printf ("Enter integer X and Y:"); scanf ("%d%d", &x, &y); if ( x != y ) if ( x > y ) printf ("X>Y\n"); else printf ("X<Y\n"); else printf ("X=Y\n"); } if语句嵌套的形式 l 简单if语句的嵌套形式 if (表达式) if 语句 l 双重(或多重)分支if语句的嵌套形式 if (表达式) if 语句 else if 语句 例如: ⑴ if (c<=100) if (c>=50) printf("50<=c<=100\n"); ⑵ if (c<=100) if (c>=50) printf("50<=c<=100\n"); else printf("c<50\n"); else if (c<=150) printf("100<c<=150\n"); else printf("c>150\n"); ⑶ if (c<=100) if (c>=50) printf("50<=c<=100\n"); else printf("c<50\n") 再例如: if(a>b) if(a>c) if(a>d) m=1; else m=2; else m=3; 问题:哪一个 else 和哪一个 if 相匹配? 规则:在嵌套的if~else语句中,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 ( 5<x<10 ) x++; l 正确判断内嵌语句 例如:if(x<y) 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;
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服