§5.1关系运算与逻辑运算(续) 513条件运算符与条件表达式 条件运算符C语言中唯一的一个三目运算符 1.格式X=(表达式1?表达式2):(表达式 2功能:判断表达式1的值,若为非0,将表达式2的 值赋给x,否则,将表达式3的值赋给x a>b)?a:b当 将条件语句化成赋值语句 a=9,b=5时,x=9 条件运算要求有三个运算分量,并且不论条件是否成 立,都必须是司一个变量贴 共37页第11页
共 37页 第 11 页 5.1.3 条件运算符与条件表达式 三 、条件运算符 C语言中唯一的一个三目运算符 X=(表达式1)?(表达式2):(表达式3) 将条件语句化成赋值语句 1. 格式 判断表达式1的值,若为非0,将表达式2的 值赋给x,否则,将表达式3的值赋给x 2 功能: x=(a>b)?a:b 当 a=9,b=5时,x=9 条件运算要求有三个运算分量,并且不论条件是否成 立,都必须是为同一个变量赋值 §5.1 关系运算与逻辑运算(续)
§5.1关系运算与逻辑运算(续) 3条件运算符的优先级:高于赋值,低于其他 4结合性:从右向左z=(a>b)?a:(a>d?c:d 5数据类型可以不同: reva b 热行intx=10,y=9;inta,b,c; b, c a-X==y++)2-x:+; A9,9,9 ++;C=y;X为9 B)8,8,10 后abc?y为10x为8 C)8,10,9 D)1,11,10 共37页第12页
共 37页 第 12 页 3 条件运算符的优先级:高于赋值,低于其他 4 结合性:从右向左 z=(a>b)?a:(a>d)?c:d 5 数据类型可以不同: x>y?’a’:’b’ 执行:int x=10,y=9; int a,b,c; a=(- -x==y++)?--x:++y; b=x++; c=y; 后a,b,c? a, b, c A) 9, 9, 9 B) 8, 8, 10 C) 8,10, 9 D) 1,11,10 X为9 y为10 X为8 §5.1 关系运算与逻辑运算(续)
§5.1关系运算与逻辑运算(续) 若w,x,yzm均为int型变量,则执行下面语句后的m 值为: W=1;X=2;y=3;z=4; m=w<)? W: x m=(m<y ) m: y; m=(m<z? m:z, A)1B)2C)3D)4 若w=1,x=2,y=3,z=4,则表达式 w<x?w:y<z?y:z的值是: A)4 B3 C)2OD 练习 共37页第13页
共 37页 第 13 页 若w,x,y,z,m均为int型变量,则执行下面语句后的m 值为: w=1;x=2;y=3;z=4; m=(w<x)? w: x; m=(m<y)? m : y; m=(m<z)? m:z; A) 1 B) 2 C) 3 D) 4 若w=1,x=2,y=3,z=4,则表达式 w<x?w:y<z?y:z的值是: A) 4 B)3 C)2 D)1 §5.1 关系运算与逻辑运算(续)