第5章选择结构程序设计 关系运算逻辑运算 switch语句酽语句
第5章 选择结构程序设计 关 系 运 算 逻辑运算 switch语句 if 语 句
§51关系运算符和关系表达式 关系运算:比较运算,用“关系表达式”进 行运算。 例、a>3 是一个关系表达式,它取两个值:"真"和"假
§5.1 关系运算符和关系表达式 关系运算:比较运算,用“关系表达式”进 行运算。 例、a > 3 是一个关系表达式,它取两个值:"真"和"假"
511关系运算符及其优先次序 c语言有六种关系运算符: 小于 =小于或等于 优先级相同(高 >大于 >=大于或等于 ==(连续两个=)优先级相同(低 =不等于
5.1.1 关系运算符及其优先次序 C语言有六种关系运算符: 大于 >= 大于或等于 ==(连续两个=) 优先级相同(低) != 不等于
关系表达式:用关系运算符将两个表达式连接 起来的式子 关系表达式的值: 真(1任意非0值也作为真 高 假(0) 算术运算符 关系运算符与算术运算符、 关系运算符 赋值运算符的优先级关系 赋值运算符低 (优先级关系)
关系表达式:用关系运算符将两个表达式连接 起来的式子 关系表达式的值: 真(1,任意非0值也作为真) 假(0) 关系运算符与算术运算符、 赋值运算符的优先级关系 高 算术运算符 关系运算符 赋值运算符 低 (优先级关系)
例、a=3b=2C=1 .c>atb 等效于c>(a+b)表达式的值为0 2)a>b=c等效于(a>b)=c表达式的值为1 3).a=bc 等效于a=(b>c)表达式的值为1 5).d=ab>cf的值为0
例、a=3,b=2,c=1; 1). c>a+b 2). a>b==c 3). a!=bc 5).d=ab>c 等效于c>(a+b) 表达式的值为0 等效于(a>b)==c 表达式的值为1 等效于a!=(bc) 表达式的值为1 d的值为0。 f的值为0
§52逻辑运算 521逻辑运算符及其优先次序 &是逻辑“与”双目运算符 丨逻辑“或”双目运算符 !非 高 !逻“非”单目运算符算术运算符 关系运算符 aa&&b a b!a && 1 0非00 非000 0111 赋值运算符 非0非01 优先级关系低
§5.2 逻辑运算 5.2.1 逻辑运算符及其优先次序 && 逻辑“与”双目运算符 || 逻辑“或”双目运算符 ! 逻辑“非”单目运算符 a b a&&b a || b !a 0 0 0 0 1 0 非0 0 1 1 非0 0 0 1 0 非0 非0 1 1 0 !非 高 算术运算符 关系运算符 && || 赋值运算符 优先级关系 低
&&与运算的求值顺序 a&&b若表达式a的值为0则不论表达式b为何 值,整个表达式的值都为0。因此,在计算时 先求解表达式a,若a为非0值,再求解表达式b, 根据b的值来决定整个表达式的值;若a为0, 则不再求解表达式b 占与运算的求值顺序 a|b若表达式a的值为非0值则不论表达式b为 何值,整个表达式的值都为1。因此,在计算 时先求解表达式a,若a为0时,再求解表达式b, 根据b的值来决定整个表达式的值;若a为非0 值,则不再求解表达式b
&&与运算的求值顺序 a&&b 若表达式a的值为0则不论表达式b为何 值,整个表达式的值都为0。因此,在计算时 先求解表达式a,若a为非0值,再求解表达式b, 根据b的值来决定整个表达式的值;若a为0, 则不再求解表达式b。 ||与运算的求值顺序 a||b 若表达式a的值为非0值则不论表达式b为 何值,整个表达式的值都为1。因此,在计算 时先求解表达式a,若a为0时,再求解表达式b, 根据b的值来决定整个表达式的值;若a为非0 值,则不再求解表达式b
例:设a=3,b=4,x=0y=0,求值: 1、ay 值为0!非 2、a==b| 值为1算术运算符 3、!a||a>b 值为0关系运算符 && 4、!a&&b‖x>y&&c值为0 5、inta=1,b=1,e=2,d=3,m=5,n=2,k;赋值运算符 优先级关系低 k(m=a+b)&&(n=c+d k为0,m为0,n为2
例:设a=3,b=4,x=0,y=0,求值: 1、a y 2、a = = b | | x = = y 3、! a | | a > b 4、! a && b || x > y && c 5、int a=-1,b=1,c=2,d=3,m=5,n=2,k; k=(m=a+b)&&(n=c+d) !非 高 算术运算符 关系运算符 && || 赋值运算符 优先级关系 低 值为0 值为1 值为0 值为0 k为0 ,m为0, n为2
例:判别某一年year是闰年,闰年的条件符合 下面二者之一: (1)能被4整除,但不能被100整除 (2)能被4整除,又能被400整除 可以用一个逻辑表达式表示: (year%4==0&&year%100!=0)|year%400==0 上述表达式为真,则year是闰年;否则为非闰年
例:判别某一年year是闰年,闰年的条件符合 下面二者之一: (1)能被4整除,但不能被100整除; (2)能被4整除,又能被400整除。 可以用一个逻辑表达式表示: (year % 4= =0 &&year %100 !=0)||year%400= =0 上述表达式为真,则year是闰年;否则为非闰年
§53i语句 f语句:判别条件是否满足来决定程序的流程 (执行两路操作之一)。 i语句的三种形式 1、近f(表达式)语句 例如:if(x>y) printf(("%d"rx) <表达式 语句
§5.3 if语句 if语句:判别条件是否满足,来决定程序的流程 (执行两路操作之一)。 if语句的三种形式 1、if (表达式) 语句 例如:if (x>y) printf("%d",x); 表达式 语句 假 真