谢丽聪老师C语言演示课件—5分支结构程序—2009.pptVIP

  • 2
  • 0
  • 约1.09万字
  • 约 34页
  • 2017-04-01 发布于四川
  • 举报

谢丽聪老师C语言演示课件—5分支结构程序—2009.ppt

谢丽聪老师C语言演示课件—5分支结构程序—2009

第五章 分支结构程序设计 5.1 关系运算符和表达式 5.2 逻辑运算符和表达式 5.3 逻辑表达式的跳跃 5.4 if语句 5.5 switch语句 5.1 关系表达式 由关系运算符、圆括号把两个表达式连接起来的式子。 ——表示条件 若所表示的条件成立、则其值为1(非0)、否则其值为0。 关系运算符: 、=、、=、==、!= 例: a=2 、39 、’a’ != ( a=8 ) 、 x+(y=3)==k*z 、(a!=3)(kl) 注意:数学中多个条件,例 abcd 应表示为 ab bc cd 不能顺手也写为 abcd 关系运算符都是双目运算符,其结合性均为左结合。关系运算符的优先级低于算术运算符,高于赋值运算符。 在六个关系运算符中,,=,,=的优先级相同,高于==和!=,==和!=的优先级相同。 5.2 逻辑表达式: 由逻辑运算符、圆括号把表达式连接起来的式子 ——表示条件 若所表示的条件成立、其值为1(非0)、否则其值为0 逻辑运算符: (与) 、|| (或)、!(非) 和||均为双目运算符,具有左结合性。!为单目运算符,具有右结合性。 逻辑运算符和其它运算符优先级的关系可表示如下: !(非)→(与)→||(或) “”和“||”低于关系运算符,“!”高于算术运算符。 按照运算符的优先顺序可以得出: ab cd 等价于 (ab)(cd) !b==c||da 等价于 ((!b)==c)||(da) a+bcx+yb 等价于 ((a+b)c)((x+y)b) 例 : 设x=0,y=2,a=8,k=-1,q=1,z=1,则 1、x+y3 a==8 →23 1 → 0 1 → 0 2、x+y ’a’ → 2 97 → 1 3、x+(y=3)==k*z || !a →0+3==-1 || !a → 0||0 →0 4、(x!=7) || ’a’ →0!=7||97 →1||97 →1 5、! ( x+y3 a==8 ) →!(231) →!(01) →!0 →1 6、! ( k*q ) → !(-1) →0 7、!!!x →!!(1) →!(0) → 1 5.3 逻辑表达式的跳跃 作第一个,知道结果,后面不作,如: ∥ ∥ 1、执行 int a,b,c; a=b=c=0; + +a||+ +b+ +c; 后a、b、c值分别为1、0、0 2、执行 int a=5,b=6,x=1,y=2; (a=xy)(b= xy); 后a、b值分别为0、6 3、执行 int a,b,c;a=b=c= - 1; + +a + +b || + +c; 后a、b、c值分别为0、-1、0 例1: main() {char c=k; int i=1,j=2,k=3; float x=3e+5,y=0.85; printf(%d,%d\n,!x*!y,!!!x); printf(%d,%d\n,x||ij-3,ijxy); printf (%d,%d\n,i==5c(j=8),x+y||i+j+k); } 运行结果:0,0 1,0 0,1 5.4 选择结构(if 语句) 5.4.1 if语句的三种形式 1、第一种形式为基本形式: if if(表达式) 语句 语义:如果表达式的值为真,则执行其后的语句,否则不执行该语句。其过程可表示为下图。 ? ? 例2:void main() {int a,b,max; printf(\n input two numbers: ); scanf(%d %d,a,b); max=a; if (maxb) max=b; printf(max=%d,max); } 输入:23 46 输出:max=46 例3:voi

文档评论(0)

1亿VIP精品文档

相关文档