第3章分支程序设计.ppt

上传人:本田雅阁 文档编号:3471411 上传时间:2019-08-31 格式:PPT 页数:30 大小:237.02KB
返回 下载 相关 举报
第3章分支程序设计.ppt_第1页
第1页 / 共30页
第3章分支程序设计.ppt_第2页
第2页 / 共30页
第3章分支程序设计.ppt_第3页
第3页 / 共30页
第3章分支程序设计.ppt_第4页
第4页 / 共30页
第3章分支程序设计.ppt_第5页
第5页 / 共30页
点击查看更多>>
资源描述

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

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

2、 a ( b +3 ) a = b 3 等价于 a = ( b 3 ) a != b 3 等价于 a != ( b 3 ) 当相同优先级的关系运算符同时出现时,从左向右进行运算。例如: a != b = c 等价于 ( a != b ) = c,3。1。2 逻辑运算,C语言有三种逻辑运算符,如表3-2所示。,说明:, 逻辑运算符中,“&”和“|”是双目运算符,要求有两个运算量;“!”是单目运算符。 下面是C语言逻辑运算符的优先级说明。 1) “!”高于 “&” ,“&” 高于 “|” 。 2) “!”高于算术运算符,而 “&” 和 “|” 低于关系运算符。, 假设A和B是两个表达式,下面对逻辑

3、运算进行说明。 1) A & B 若A、B均为真, 则“A & B”值为真,否则为假。 2) A | B 若A、B均为假, 则“A | B值”为假,否则为真。 3)! A 若A为真, 则 “!A”为假;否则为真。,看下面的例子:,( 3 5 ) 值:0 只有 & 右面的子表达式为真 ( 3 5 ) 值:1 只要求有一个子表达式为真 ! ( 3 2 ) 值:1 子表达式为假。, 用逻辑运算符连接若干个表达式组成的式子,称逻辑表达式。因为任何类型表达式都有真假,所以逻辑运算符可以连接任何类型的数据。 例如: x 7 & x + y != 20 等价于 ( x 7 ) & ( ( x + y ) !

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

5、nt score; scanf(“%d“, ,运行结果: 1. 输入:65 输出: pass 2. 若输入:56,则无输出,3。2。2 if_else语句,格式: if ( 表达式 ) 语句1; else 语句2; 执行过程如图3-2所示。,例3-2:从键盘输入一个正整数,如果该数为6的倍数,就输出一个“Yes!”,否则输出一个“No!”。,main( ) int x; printf(“请输入一个正整数:“); scanf(“%d“, ,运行结果: 1. 请输入一个正整数:36 Yes! 2. 请输入一个正整数:15 No!,3。2。3 if语句的嵌套,一般形式是: if(表达式1) 语句1;

6、 else if(表达式2) 语句2; else if (表达式3) 语句3; else 语句4;,执行过程如图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“, ,3。2。4 条件表达式,条件运算符是三目运算符,由“?”和“:”组成,要求有三个运算对象。 条件表达式的一般形式: 表达式1 ? 表达式2 : 表达式3 执行过程如图3-6所示。,例3-5:编写一个程序,判断一个字符是否为大写英

7、文字母,若是,则转换为小写字母。,main( ) char ch; scanf(“%c“, ,3.3多分支语句(switch语句),一般形式如下: switch ( 表达式 ) case 常量表达式1: 语句部分1; break; case 常量表达式2: 语句部分2; break; case 常量表达式n: 语句部分n; break; default: 语句部分n+1; ,switch语句的工作过程是:,首先对switch语句括号中的表达式进行计算,然后依次与各case中的常量表达式的值比较,一旦匹配成功,则马上执行相应的语句部分,若遇break,结束switch语句;若均不匹配,则执行 d

8、efault(若有的话)后的语句部分。 当程序执行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

9、k; default: printf(“不及格 n“); break; getch( ); ,运行结果: 请输入成绩等级(A、B、C、D):C 及格,执行过程,例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; default: prin

10、tf(“输入数据错误 n“); getch( ); ,3.4 分支程序设计应用实例,例3-7: 从键盘输入二个整数,输出其中最大者。 main( ) int a, b, max; printf(“请输入二个整数:“); scanf(“%d %d“, ,运行结果: 17 31 二者中最大值为:31,例3-8:从键盘输入二个整数,从小到大输出。,方法:若第一个数较大,两者值互换。 main( ) int a, b, tmp; printf(“输入二个整数:“); scanf(“%d %d“, ,例3-9:编写一个程序,判断一个字符是否为英文字母。 例3-10:由半径为 1的圆和半径为 2的圆所围成

11、的圆环如图3-3所示。 编写程序,输入x,y,若点 (x, y) 在圆环内,则输出TRUE;否则输出FALSE。,本章小结,if语句和switch语句用于实现分支结构。分支结构的特点是语句由多条分支构成,在程序的一次运行过程中,通常只有其中一条分支的语句被执行,而其它分支上的语句被跳过。 switch语句通常用于多重选择。switch语句根据表达式的值来选择执行哪个分支的语句。break语句则控制程序跳出switch结构。 if结构和switch结构都有测试表达式,通常情况下,是关系表达式或逻辑表达式,但也允许为其它任何类型的表达式。,任何类型的表达式,“非0“为真; “0“为假。 C语言用 1表示“真”,用0表示“假”。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1