选择结构程序设计.ppt
***第五章选择结构程序设计第五章选择结构程序设计01关系运算符和关系表达式逻辑运算符和逻辑表达式实现选择结构的控制语句选择结构程序举例02主要内容一、关系运算符和关系表达式关系运算符====!=(6种)第五章选择结构程序设计优先级赋值关系(后2前4)算术关系表达式用关系运算符将两个表达式连接起来的式子.算术、关系、逻辑、赋值、字符。值真(1)假(0)举例已知:(a=3b=2c=1d=0)0a==bcd==ab+c153?d=ab+c?二、逻辑运算符和逻辑表达式逻辑运算符!(逻辑非)(逻辑与)||(逻辑或)运算规则优先次序赋值||关系算术!第五章选择结构程序设计(1)!:取逻辑值的相反值。(2):参加运算的两个逻辑值都为真时,结果为真(1)。(3)||:参加运算的两个逻辑值都为假时,结果为假(0)。P89逻辑表达式用逻辑运算符将关系表达式和逻辑量连接起来的式子。举例已知:(a=1b=0)1a||b0!a(53)||b0P375双目单目二、逻辑运算符和逻辑表达式第五章选择结构程序设计举例5384-!00(53)(8(4-!0))453||21注意P90逻辑运算符两侧的运算对象不但可以是0和1,也可以是0或非0的整数,也可是任何类型的数据。系统判定标准:0为假;非0为真。第五章选择结构程序设计1选择结构的三种分支单分支双分支多分支2实现选择结构的控制语句3(一)、选择结构的三种分支选择结构单分支双分支if(表达式)语句多分支if(表达式)语句1else语句2if(表达式1)语句1elseif(表达式2)语句2……else语句nif语句的嵌套switch语句第五章选择结构程序设计(二)、单分支格式举例if(xy)printf(“%d”,x);第五章选择结构程序设计if(表达式)语句#includestdio.hvoidmain(){floata,b,t=0;scanf(“%f,%f”,a,b);if(ab){t=a;a=b;b=t;}printf(“%5.2f,%5.2f\n”,a,b);}3,4?3.00,4.00……if(ab)t=a;a=b;b=t;…………if(ab)t=a;a=b;b=t;……3,4?4.00,0.00当某些语句作为一个整体出现的时候,必须是复合语句的形式。(三)、双分支格式if(xy)printf(“%d”,x);elseprintf(“%d”,y);第五章选择结构程序设计#includestdio.hvoidmain(){floata,b,c,p,s;scanf(“%f,%f,%f”,a,b,c);if(a+bca+cbb+ca){p=(a+b+c)/2;s=sqrt(p*(p-a)*(p-b)*(p-c));printf(“s=%7.2f\n”,s);}elseprintf(“Notatriangle!\n”);}if(表达式)语句1else语句2例:输入三角形的三边,求三角形的面积。是三角形吗?YNp?(a+b+c)/2s?sqrt(p*(p-a)*(p-b)*(p-c))输出s输出“非三角形!”3,4,5?s=6.003,4,8?Notatriangle!(三)、双分支条件运算符条件表达式举例if(ab)max=a;elsemax=b;第五章选择结构程序设计表达式1?表达式2:表达式3max=(ab)?a:b;说明P97条件运算符的使用条件若if语句中,在表达式为“真”和“假”时,都只执行一个赋值语句给同一个变量赋值,则可以用简单的条件运算符来处理。取值表达式1为真,则取值为表达式2的值;表达式1为假,则取值为表达式3的值。