
程序设计基础 第5章分支控制结构
程序设计基础 第5章 分支控制结构

引入 需要根据不同条件选择处理的问题 ◆求一个数的绝对值(如果是负数,取反) ◆求两个数的最大值(比较两个数,取出较大值) ◆根据百分制分数,输出五级制成绩(>=90A·=b 假(0) max=a max=b (0)士 输出max值 猖 2129
2/29 引入 ◼ 需要根据不同条件选择处理的问题 ◆ 求一个数的绝对值(如果是负数,取反) ◆ 求两个数的最大值(比较两个数,取出较大值) ◆ 根据百分制分数,输出五级制成绩(>=90 A. =b max=a max=b 真(非0) 假(0) x<0 y = - x 输出y值 y = x

例5.1求给定整数的绝对值 #include int main() { 假(0) x<0 int x,y; 真(非0) scanf("%/od"&x); Y=-x y=; if (x<0) 輸出y值 y=X对 printf("x=%od,|x|=%od",x,y); return O; 3129
3/29 #include int main() { int x,y; scanf("%d",&x); y = x; if ( x < 0 ) y = -x; printf("x=%d,|x|=%d",x,y); return 0; } 例5.1 求给定整数的绝对值 真(非0) 假(0) x<0 y = - x 输出y值 y = x

例5.2输入两个整数,输出其中的大数 #include int main() 真(非0 假(0) a>=b { int a,b,max; max=a max=b scanf("%/od%/od",&a,&b); if(a>=b) max a; 输出max值 else max b; printf("max=%od",max); return O; } 恩 4129
4/29 #include int main() { int a,b,max; scanf("%d%d",&a,&b); if ( a >= b ) max = a; else max = b; printf("max=%d",max); return 0; } 例5.2 输入两个整数,输出其中的大数 输出max值 真(非0) 假(0) a>=b max=a max=b

例5.6输入百分制分数,输出五级成绩 #include 例:学生成绩分类: int main() A(>=90) B(8089) float score; scanf("O/of",&score); C(70~79) if score >=90) D(6069) printf("/04.1f is A.\n",score); E(K60) else if score >=80) 已知分数分类 printf("/04.1f is B.\n",score); else if(score >70) printf(04.1f is C.\n",score); else if(score>=60) printf("0/04.1f is D.\n",score); else printf(/04.1f is E.\n",score); return 0; } 猖 5/29
5/29 #include int main() { float score; scanf("%f",&score); if ( score >= 90 ) printf(“%4.1f is A.\n",score); else if ( score >= 80) printf(“%4.1f is B.\n",score); else if( score >= 70) printf(“%4.1f is C.\n",score); else if ( score >= 60 ) printf(“%4.1f is D.\n",score); else printf(“%4.1f is E.\n",score); return 0; } 例5.6 输入百分制分数,输出五级成绩 ◼ 例:学生成绩分类: A(>=90) B(80~89) C(70~79) D(60~69) E(<60) 已知分数 分类

本章知识点 ■5.1关系运算符和关系表达式 ■5.2逻辑运算符和逻辑表达式 ■5.3if语句 ■5.4 switch语句 6129
6/29 本章知识点 ◼ 5.1 关系运算符和关系表达式 ◼ 5.2 逻辑运算符和逻辑表达式 ◼ 5.3 if语句 ◼ 5.4 switch语句

关系运算与逻辑运算 ◆关系运算用于表达条件,给出判断: ◆重量满1000吨am0unt>=1000 ·温度低于35度 temperature0 ◆逻辑运算将多个判断组合起来,形成复杂条件: ·X是非负数 !x=1000&&W=35 ◆y年是闰年(y/64==0&&y%1001=0)I|y/o400==0 猖 节国录 7129
7/29 ◆ 关系运算用于表达条件,给出判断: ◆ 重量满1000吨 amount>=1000 ◆ 温度低于35度 temperature0 ◆ 逻辑运算将多个判断组合起来,形成复杂条件: ◆ x是非负数 ! x=1000 && w=35 ◆ y年是闰年 (y%4==0 && y%100!=0) || y%400==0 关系运算与逻辑运算 节目录

关条运算符 ■种类: ■例如: ① a+b c>(a+b) 0 优先级 ②= (大于等于) a=bc)1 ( 0> (大于) 优先级T⑤ == (等于) 相同 ◆值真(1)或假(0) 低 ⑥= (不等于) ◆例如:假设int型变量 a=7 ·结合方向:自左向右 b=8 ·优先级别: c=9 算术运算一高一〉关条运算一低一〉赋值运算 猖 8129
8/29 ◼ 种类: ① = (大于等于) ④ > (大于) ⑤ == (等于) ⑥ != (不等于) 关系运算符 ◼ 结合方向:自左向右 ◼ 优先级别: 算术运算—高—〉关系运算—低—〉赋值运算 优先级 相同 高 优先级 相同 低 ◼ 例如: c>a+b c>(a+b) 0 a==bc) 1 ◆ 值 真(1)或假(0) ◆ 例如:假设int型变量 a=7 b=8 c=9

说出下面程序的运行结果 #include int main() { int a=5; if (a=4) printf("***")方 条件表达式 else example4_equal printf("$$$") 程序举例 return O; 9129
9/29 说出下面程序的运行结果 #include int main() { int a=5; if ( a = 4 ) printf(“* * *”); else printf(“$ $ $”); return 0; } 条件表达式 example4_equal 程序举例

5.2逻辑运算符与逻辑表达式 ■三个逻辑运算符:」 && 11 辽辑非 逻辑或 ◆值真(1)或假(0) 辽辑与 ◆非0为真,0为假 表达式 值 ◆例如:假设ijnt型变量 a=7 (a+b)>c&&(c>7) 1 b=8 (a>b)&&(bb)‖(b<c) 1 !(非) (a<b) 0 算术运算符 !a 0 关条运算符 && 川 赋值运算符 10/29
10/29 ◆ 值 真(1)或假(0) ◆ 非0为真,0为假 ◆ 例如:假设int型变量 a=7 b=8 c=9 表达式 值 ((a + b) > c) && (c > 7) 1 (a > b) && (b b) || (b < c) 1 !(a < b) 0 !a 0 5.2 逻辑运算符与逻辑表达式 ◼ 三个逻辑运算符: ! && || 逻辑非 逻辑与 逻辑或 ( ) !(非) 算术运算符 关系运算符 && || 赋值运算符