第05章--选择结构程序设计.pptx
文本预览下载声明
第05章 选择结构程序设计第05章 选择及沟通程序设计5.1 引例5.2 关系运算和逻辑运算5.3 if语句5.4 条件运算符5.5 switch语句5.6 选择结构程序设计举例5.7 案例—“学生成绩管理系统”用户菜单选择本单元内容5.1 引例回顾一下上一章编写的体质指数计算程序,代码如下:5.1 引例BMI值评价18.5过轻18.5~25正常25过重需求补充:根据计算结果输出对应的评价5.1 引例任务分析:根据计算结果输出不同的选择,就需要用到选择结构算法设计:5.1 引例程序实现:方法一:5.1 引例程序实现:方法二:5.2 关系运算和逻辑运算1. 关系运算关系运算实际上是两个量的比较,比较的结果只有两种可能:成立(真)、不成立(假)例如 a 3 ? 当a的值为5时,比较的结果为真当a的值为1时,比较的结果为假关系运算的结果是一个逻辑值,非真(1)即假(0)算术运算符高关系运算符低赋值运算符5.2 关系运算和逻辑运算2.关系运算符及其优先级关系运算符含义 优先级结合性 ==小于小于或等于大于大于或等于6 左 右==!=等于 不等于7左 右“==”是等于运算符“=”是赋值运算符千万不要混淆两者!5.2 关系运算和逻辑运算3.关系表达式例:a=3,b=2,c=1,则: (ab) == c 值为真(即1)b+ca 值为假(即0)f=abc f的值为假(即0)!5.2 关系运算和逻辑运算4. 逻辑运算逻辑运算:产生真假值的运算逻辑运算符 逻辑与||逻辑或! 逻辑非“”和“||”是双目运算符,要求两个运算量。 如:(ab) (xy), (ab)||(xy)“!”是一元运算符,要求一个运算量。 如:!(ab)! 算术关系 逻辑 赋值5.2 关系运算和逻辑运算5. 逻辑运算符的优先级 ! || ab xy相当于: (ab) (xy) a==b||x==y相当于: (a==b) || (x==y) !a || ab相当于: (!a ) || (ab)5.2 关系运算和逻辑运算6. 逻辑表达式用逻辑运算符将关系表达式或逻辑量连接起来就是逻辑表达式。在C语言中,当判断一个量的真假时,一切非0数均被当成“真 ”来处理;而0为“假” 。例如:若a=4,!a的值为? !a为0若a=4, b=5, 则a b的值为? ab为1为了提高逻辑运算的速度,机器在执行逻辑运算时遵循“逻辑短路”的原则进行计算,请大家自主学习“逻辑短路”相关内容。PNYA5.3 if 语句if用来判断给定条件的真假,并决定执行哪一种操作。if语句的三种形式 1. if(表达式) 语句A表达式为真时,执行语句A;表达式为假时,越过语句A,往下执行。例如:如果输入的是正数,则打印出来。if(x0) printf(“%d”,x);PNYAB5.3 if 语句 2. if (表达式) 语句A else 语句B例如:输出两个数中较大的一个if ( x y ) printf( “%d” , x );else printf( “%d” , y );P1NYP2NP3YNYP4NYP5Y语句1语句2语句3语句4语句55.3 if 语句 3. if (表达式1) 语句1 else if (表达式2) 语句2 else if (表达式3)语句3 else if (表达式4) 语句4 else语句55.3 if 语句例如:编写程序找出3个整数中的最大值并输出方法一:5.3 if 语句例如:编写程序找出3个整数中的最大值并输出方法一:5.3 if 语句例如:编写程序找出3个整数中的最大值并输出方法二:5.3 if 语句例如:编写程序找出3个整数中的最大值并输出方法三:if(a=ba=c)中关系表达式的常见错误形式:将if(a=ba=c) 写成if(a=b=c)。在5.2节中解释过,表达式a=b=c是合法但不合理的表达式。目前的编译器还没有足够的智能告诉你这是不符合逻辑的,只能读者自己注意回避。将if(a=ba=c)写成if(a=b,a=c)。逗号表达式(a=b,a=c)也是合法但不合理的表达式,读者应该注意回避。 5.3 if 语句说明:条件设定中的表达式通常是关系表达式或逻辑表达式,条件满足指的是表达式的值为真,即表达式的值是一个非0值。例如:if(3) printf(“OK”); if(‘a’) printf(“%d”,‘a’); if(0) printf(“false”); if的条件满足后执行的语句并非指单一的一条语句,可以是多个语句,只要用{ }括起即可。输出OK (永真)输出97 (永真)无输出(永假) 5.3 if 语句if 语句的嵌套if ( ) if ( ) 语句1 else语句2else if
显示全部