
第4章 这掉结构程序设计
第 4 章 选择结构程序设计

第4章选择结构程序设计 目录 关系表达式与逻辑表达式 f语句 switch语句 应用举例 冈✉D
第4章 选择结构程序设计 目 录 4 应用举例 关系表达式与逻辑表达式 1 2 if语句 3 switch语句

第4章选择结构程序设计 关系表达式与逻辑表达式 关系运算符和表达式 3关系运算符 优先级6(高) > ■种类:= >I= >= 。结合方向:自左向右 优先级7(低) ■优先级别: 3 例:c>a+b ∥c>(a+b 用1和0表示 例: int a=3,b=2,c=1,d,f; a>b /表达式值1 (a>b)==c /表达式值1 d=a>b /d=1 f=a>b>c /=0 ☒☒D
第4章 选择结构程序设计 关系运算符和表达式 关系运算符 ◼ 种类:= > != ◼ 结合方向:自左向右 ◼ 优先级别: >= == != 优先级6(高) 优先级7(低) 关系表达式的值:是逻辑值“真”或“假”,用1和0表示 关系表达式与逻辑表达式 例: c>a+b //c>(a+b) a>b!=c //(a>b)!=c a==bc //a=(b>c) 例: int a=3,b=2,c=1,d,f; a>b //表达式值1 (a>b)==c //表达式值1 d=a>b //d=1 f=a>b>c //f=0 1

第4章选择结构程序设计 关系表达式与逻辑表达式 经逻辑运算符和表达式 逻辑运算符 ●种类:!&&I川 ●逻辑运算真值表 a b la b a&&b allb 真 亮 假 假 真 真 真 假 假 真 假 真 假 真 真 假 假 真 假 假 真 假 假 C语言中,运算量时:0表示“假”,非0表示“真”; 做为运算结果时:0表示“假”,1表示“真
第4章 选择结构程序设计 逻辑运算符和表达式 ❖逻辑运算符 ⚫ 种类: ! && || ⚫ 逻辑运算真值表 C语言中,运算量时: 0表示“假” ,非0表示“真”; 做为运算结果时: 0表示“假” ,1表示“真”。 a b !a !b a&&b a||b 真 假 真 假 假 假 真 真 真 假 假 假 假 假 真 真 假 假 真 真 真 假 真 真 1 关系表达式与逻辑表达式

第4章选择结构程序设计 关系表达式与逻辑表达式 优先级: ●结合方向: (非) (高) :从右向左 算术运算符 关系运算符 &&:从左向右 &.&和川 ‖:从左向右 赋值运算符 (低) (a>b)&&(x>y) //a>b&&x>y (a==blI(x=y) /a==bllx==y (la)(a>b) /lalla>b 网☒D
第4章 选择结构程序设计 ⚫优先级: ⚫结合方向: ! :从右向左 && :从左向右 || :从左向右 (a>b) && (x>y) // a>b && x>y (a==b)||(x==y) // a==b||x==y (!a)||(a>b) // !a||a>b 1 关系表达式与逻辑表达式

第4章选择结构程序设计 关系表达式与逻辑表达式 言短路现象:逻辑表达式求解时,并非所有的逻辑运算符都被执行,只是在 必须执行下一个逻辑运算符才能求出表达式的解时,才执行该运算符。 例a&&b&&c /只在a为真时,才判别b的值; 只在a、b都为真时,才判别c的值 例allblc ∥只在a为假时,才判别b的值; 只在a、b都为假时,才判别c的值 例a=1;b=2;c=3;d=4;m=1;n=1; (m=a>b)&&(n=c>d) /结果m=0,n=1 冈✉D
第4章 选择结构程序设计 短路现象:逻辑表达式求解时,并非所有的逻辑运算符都被执行,只是在 必须执行下一个逻辑运算符才能求出表达式的解时,才执行该运算符。 例 a&&b&&c //只在a为真时,才判别b的值; 只在a、b都为真时,才判别c的值 例 a||b||c //只在a为假时,才判别b的值; 只在a、b都为假时,才判别c的值 例 a=1;b=2;c=3;d=4;m=1;n=1; (m=a>b)&&(n=c>d) //结果m=0,n=1 1 关系表达式与逻辑表达式

第4章选择结袍程序设计 f语句 if语句的三种形式 1标准if-else结构(双分支结构) 格式: 非0 =0 表达式 if(表达式) 语句1 语句1 语句2 else 语句2 if-else 执行过程: 后续语句 网☒D
第4章 选择结构程序设计 1 标准if-else结构(双分支结构) • 格式: if (表达式) 语句 1 else 语句 2 • 执行过程: if语句的三种形式 表达式 语句 1 语句 2 非0 =0 if-else 后续语句 2 if语句

第4章选择结构程序设计 if语句 if语句的三种形式 例键盘输入两个整数分别赋给x和y,编程输出其中的大数。 mainO int x,y; printf("Enter x y:") scanf("%d%d",&x,&y); printf("x=%d,y=%d\n",x,y); if (x>y) printf("max=x=%d小n",x);∥max=x; else printf("max-y=%d\n",y);/max=y; ID
第4章 选择结构程序设计 例 键盘输入两个整数分别赋给x和y,编程输出其中的大数。 main() { int x,y; printf("Enter x & y: "); scanf("%d%d",&x,&y); printf("x=%d,y=%d\n",x,y); if (x>y) printf("max=x=%d\n",x);// max=x; else printf("max=y=%d\n",y);// max=y; } if语句的三种形式 2 if语句

第4章选择结构程序设计 if语句 if语句的三种形式 例键盘输入一个实数,要求输出它的绝对值。 编写程序如下: main() double x; scanf("%lf",&x); if(x<0.0) /*当x小于0.0时,取其相反数-x重新放入变量x中*/ X=-X; else /*当x≥0.0时,x的值不变*/ X=x; printf("%lf\n",x); D
第4章 选择结构程序设计 例 键盘输入一个实数,要求输出它的绝对值。 编写程序如下: main() { double x; scanf("%lf",&x); if (x<0.0) /*当x小于0.0时,取其相反数-x重新放入变量x中*/ x= -x; else /*当x≥0.0时,x的值不变*/ x=x; printf("%lf\n",x); } if语句的三种形式 2 if语句

第4章选择结构程序设计 2 f语包 if语句的三种形式 2、缺省else子句的if结构(单分支结构) ·格式: f(表达式) =0 语句 表达式 或: if(表达式) 语句 非0 语句 ·执行过程: if后续语句 网☑
第4章 选择结构程序设计 2、缺省else子句的if结构(单分支结构 ) • 格式: if (表达式) 语句 或: if (表达式) 语句 ▪ 执行过程: if语句的三种形式 表达式 语句 非0 =0 if后续语句 2 if语句