--选择结构程序设计

上传人:第*** 文档编号:50603453 上传时间:2018-08-09 格式:PPT 页数:36 大小:797.50KB
返回 下载 相关 举报
--选择结构程序设计_第1页
第1页 / 共36页
--选择结构程序设计_第2页
第2页 / 共36页
--选择结构程序设计_第3页
第3页 / 共36页
--选择结构程序设计_第4页
第4页 / 共36页
--选择结构程序设计_第5页
第5页 / 共36页
点击查看更多>>
资源描述

《--选择结构程序设计》由会员分享,可在线阅读,更多相关《--选择结构程序设计(36页珍藏版)》请在金锄头文库上搜索。

1、第3章 选择结构程序设计西南林学院计科系 鲁莹C C语言程序设计语言程序设计本章主要内容3.1 if语句 3.2 条件运算符和表达式 3.3 switch语句 3.4 选择结构应用实例3.1 if语句 3.1.1 if语句的三种形式 3.1.2 if语句的嵌套3.1 if语句的三种形式 if语句一般格式(单分支)if (表达式) 语句l l功能:功能: 计算表达式的值,如果是一个非计算表达式的值,如果是一个非0 0值(即值(即 逻辑真),就执行内嵌语句,否则(即逻逻辑真),就执行内嵌语句,否则(即逻 辑假)跳过内嵌语句,顺序执行后续语句辑假)跳过内嵌语句,顺序执行后续语句 。 内嵌语句,可为:

2、 赋值语句 函数调用语句 控制语句 复合语句 空语句可为算术、关系、逻辑、赋值 等表达式简单分支语句的算法: 例如: if (x0) m+; if ( ab ) c=a; a=b; b=c; 语句流程图假真表达式 表达式非0T F语句N-S结构图双重分支语句 语句一般格式if (表达式) 语句1 else 语句2 功能: 计算表达式的值,如果它的值是一个非0值(逻辑 真),就执行内嵌语句1,之后跳过内嵌语句2,执 行后续语句;否则跳过内嵌语句1,执行内嵌语句2 ,之后执行后续语句。 注意:表达式的一般为关系表达式或逻辑表达式, 也可以为其他任意形式的表达式。 双重分支语句的算法: 例如: if

3、 (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) m=1; else m=2; else m=3;问题:哪一个问题:哪一个 else else 和哪一个和哪一个 if if 相匹配相匹配? ?规则:在规则:在嵌套的嵌套的if ifel

4、seelse语句语句中,中,elseelse总是与总是与 上面的离它最近的尚未配对的上面的离它最近的尚未配对的if if 配对配对 。举例 【例3.3】输入一个数,判断它是奇数还是偶 数,如果是奇数则进一步判断它是 否为5的倍数。 定义变量x 输入x的值x是奇数T F输出“odd”x是5的倍数 输出“even”T F 是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 i

5、s an even n“,x) ; 思考:如果没有,算法和输出如何?思考:如果没有,算法和输出如何?学习if语句的难点 if else 语句的配对 正确用表达式描述条件 例如:当x大于5小于10时令x自增if ( 55 scanf(“%f%f%f“,printf(“the equation “);if (fabs(a)1e-6) /* 不相等的实根 */ x1=(-b+sqrt(d)/(2*a); x2=(-b-sqrt(d)/(2*a);printf(“has two real roots:n“) ;printf(“x1=%8.4f, x2=%8.4fn“,x1,x2);else /* 虚根

6、 */ lp=-b/(2*a);ip=sqrt(-d)/(2*a);printf(“has two complex roots: n“);printf(“x1=%8.4f+%8.4fin“,lp,ip);printf(“x2=%8.4f-%8.4fin“,lp,ip);举例(续):【例3.6】输入年份,判别该年是否为闰年。 思路:思路:年份年份yearyear为闰年的条件为为闰年的条件为 能够被能够被4 4整除,但不能被整除,但不能被100100整除的年份;整除的年份; 能够被能够被400400整除的年份。整除的年份。只要满足任意一个就可以确定它是闰年。只要满足任意一个就可以确定它是闰年。 例

7、如:例如: 19961996年、年、20002000年是闰年年是闰年 19981998年、年、19001900年不是闰年年不是闰年 设定标志变量leapleap,只要符合其中一个条件的就 是闰年,令 leap =1leap =1;否则令 leap=0leap=0 算法:定义变量year、leap输入年份year能被能被4 4整除且整除且不能被不能被100100整除?整除?T F 能被能被400400整除?整除?leap=1 T F leap = 1 leap = 0leap=1?T F是闰年 不是闰年year%400=0year%400=0year%4=0 scanf(“%d“, if (year%4=0 else if (year%400=0)leap=1;else leap=0;if (leap = 1) printf(“%d is a leap year n“, year);elseprintf(“%d is not a leap year n“, year);

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号