第3章分支程序设计

上传人:cl****1 文档编号:568452971 上传时间:2024-07-24 格式:PPT 页数:32 大小:829.51KB
返回 下载 相关 举报
第3章分支程序设计_第1页
第1页 / 共32页
第3章分支程序设计_第2页
第2页 / 共32页
第3章分支程序设计_第3页
第3页 / 共32页
第3章分支程序设计_第4页
第4页 / 共32页
第3章分支程序设计_第5页
第5页 / 共32页
点击查看更多>>
资源描述

《第3章分支程序设计》由会员分享,可在线阅读,更多相关《第3章分支程序设计(32页珍藏版)》请在金锄头文库上搜索。

1、第第3章章 分支程序设计分支程序设计3.1 关系表达式和逻辑表达式3.2 如果语句(if语句)3.3多分支语句(switch语句)3.4 分支程序设计应用实例本章小结3。1 关系表达式和逻辑表达式3。3。1 关系运算 关系运算就是对两个数据按它们值的大小进行比较的运算。 判断它们是否符合给定条件:1.若符合,则结果为1(即“真”);2.否则结果为0(即“假”)。C语言提供了6种关系运算符,如表6-1所示。运算符运算符 含义含义 优先级优先级 小于小于 6 6 = 大于大于 = 大于或等于大于或等于 = 等于等于 7 7 !=!= 不等于不等于 C语言关系运算符的优先级如下:关系运算符被分为两组

2、不同的优先级 =、!= 优先级低于 、= 关系运算符的优先级低于算术运算符。关系运算符的优先级高于赋值运算符。例如:a b + 3 等价于a ( b +3 ) a = b 3 等价于a = ( b 3 ) a != b 3 等价于a != ( b 3 )当相同优先级的关系运算符同时出现时,从左向右进行运算。例如:a != b = c等价于( a != b ) = c3。1。2 逻辑运算C语言有三种逻辑运算符,如表3-2所示。运算符运算符 含义含义 优先级优先级 结合方向结合方向 ! 逻辑非逻辑非 2 2 右右 & 逻辑与逻辑与 1111 左左 | 逻辑或逻辑或 1212 左左 说明: 逻辑运算

3、符中,“&”和“|”是双目运算符,要求有两个运算量;“!”是单目运算符。 下面是C语言逻辑运算符的优先级说明。1) “!”高于 “&” ,“&” 高于 “|” 。2) “!”高于算术运算符,而 “&” 和 “|” 低于关系运算符。 假设A和B是两个表达式,下面对逻辑运算进行说明。1) A & B若A、B均为真,则“A & B”值为真,否则为假。2) A | B若A、B均为假,则“A | B值”为假,否则为真。3)! A若A为真,则 “!A”为假;否则为真。看下面的例子:1.( 3 5 )值:0只有 & 右面的子表达式为真2.( 3 5 )值:1只要求有一个子表达式为真3.! ( 3 7 & x

4、 + y != 20等价于( x 7 ) & ( ( x + y ) != 20 )3。2 如果语句(IF语句)if语句通常被称为选择语句或分支语句。它不再局限于顺序结构单一流程,而是用来对给定条件进行判定,根据其判定结果,从两种操作中选择其一。if语句用于实现分支结构,C语言提供了二种形式的if语句。3。2。1 IF语句 一般形式:if(表达式) 语句;执行过程如图3-1所示。说明:1执行if语句时,先对“表达式”进行求值,如果计算结果非0(为“真”),则执行其后的“语句”,否则跳过其后的“语句”。 2“表达式”的类型可以为任何类型的表达式。表达式语 句真(非0)假(0)1、if(xy) x

5、=x+1; /*简单语句*/ 2、if(xy) x=x+1; y=y+1; /*复合语句*/例:输入一个整数,如果该数为负,输出该数.main() int x; scanf(“%d”,&x); if(x= 60 ) printf(pass n);getch( );运行结果:1. 输入:65 输出: pass2. 若输入:56,则无输出3。2。2 IF_ELSE语句格式:if ( 表达式 )语句1;else 语句2;执行过程如图3-2所示。表达式语 句 1语 句 2真(非0)假(0)例3-2:从键盘输入一个正整数,如果该数为6的倍数,就输出一个“YES!”,否则输出一个“NO!”。main( )

6、 int x; printf(请输入一个正整数:); scanf(%d, &x ); if ( x%6 =0 ) printf(Yes! n ); else printf( No! n ); getch( );运行结果:1. 请输入一个正整数:36Yes!2. 请输入一个正整数:15No!例3-2,输入一个成绩score,如果成绩大于等于60,则显示“通过!”,否则显示“未通过,继续努力!”main()intscore;printf(“输入一个成绩:);scanf(%d,&score);if(score=60)printf(通过!n);elseprintf(未通过,继续努力!n);getch(

7、);运行结果:1.请输入一个:36未通过,继续努力!2.请输入一个正整数:85通过!3。2。3 IF语句的嵌套一般形式是:if(表达式1)语句1;else if(表达式2) 语句2; else if (表达式3)语句3; else 语句4;执行过程如图3-4所示。假表达式1语 句 1表达式2语 句 2表达式3语 句 3语 句 4假假真真真例3-3 有一函数,写一程序,输入X,输出Y值。 x ( x 1 ) y= 2 x 1( 1 x 10 ) 3 x 10 ( x 10 )main( ) float x, y; printf(请输入x的值:); scanf(%f, &x ); if ( x 1

8、 ) y = x; else if ( x = A & ch = Z ? ch +32 : ch );printf(%c n, ch );3.3多分支语句(SWITCH语句)一般形式如下:switch ( 表达式 ) case 常量表达式1: 语句部分1; break; case 常量表达式2: 语句部分2; break; case 常量表达式n: 语句部分n; break; default: 语句部分n+1;SWITCH语句的工作过程是:首先对switch语句括号中的表达式进行计算,然后依次与各case中的常量表达式的值比较,一旦匹配成功,则马上执行相应的语句部分,若遇break,结束swi

9、tch语句;若均不匹配,则执行 default(若有的话)后的语句部分。当程序执行break语句后,它就使程序流程跳出switch结构,并转而执行switch结构后面的第一条语句。例3-5:根据考试成绩的等级(A、B、C、D),输出“优秀”,“良好”等评语。#include main( ) char grade; printf(请输入成绩等级(A、B、C、D):);grade = getchar( );switch ( grade )case A:printf(优秀 n); break; case B:printf(良好 n); break; case C:printf(及格 n); brea

10、k;default:printf(不及格 n);break; getch( );运行结果:请输入成绩等级(A、B、C、D):C及格执行过程grade优秀良好及格不及格 A B C default 例3-6:在SWITCH结构中多个CASE标号共用一组执行语句#include main( ) char grade; printf(请输入成绩等级(A、B、C、D):); grade = getchar( ); switch ( grade ) case A: case B: case C: printf(及格 n); break; case D: printf (不及格 n); break; de

11、fault: printf(输入数据错误 n); getch( );运行结果:请输入成绩等级(A、B、C、D):A及格3.4 分支程序设计应用实例例3-7: 从键盘输入二个整数,输出其中最大者。main( ) int a, b, max; printf(请输入二个整数:); scanf(%d %d, &a, &b ); if ( a b ) max = a; else max = b; printf(二者中最大值为:%d, max ); getch( );运行结果: 1731二者中最大值为:31例3-8:从键盘输入二个整数,从小到大输出。方法:若第一个数较大,两者值互换。main( ) int

12、 a, b, tmp; printf(输入二个整数:); scanf(%d %d, &a, &b );/* a = 20, b =15 */ if ( a b ) tmp = a; /* tmp = 20 */ a = b; /* a = 15 */b = tmp; /* b = 20 */ printf(%d, %d, a, b );N例3-9:编写一个程序,判断一个字符是否为英文字母。例3-10:由半径为 1的圆和半径为 2的圆所围成的圆环如图3-3所示。编写程序,输入X,Y,若点 (X, Y) 在圆环内,则输出TRUE;否则输出FALSE。本章小结if语句和switch语句用于实现分支结构。分支结构的特点是语句由多条分支构成,在程序的一次运行过程中,通常只有其中一条分支的语句被执行,而其它分支上的语句被跳过。switch语句通常用于多重选择。switch语句根据表达式的值来选择执行哪个分支的语句。break语句则控制程序跳出switch结构。if结构和switch结构都有测试表达式,通常情况下,是关系表达式或逻辑表达式,但也允许为其它任何类型的表达式。任何类型的表达式,非0为真; 0为假。C语言用 1表示“真”,用0表示“假”。

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

最新文档


当前位置:首页 > 幼儿/小学教育 > 幼儿教育

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