522逻辑表达式 逻辑表达式的值以数值1代表“真”,以0代表“假”, 但在判断一个量是否为“真”时,以0代表“假”,以非0代表 “真”。即将一个非零的数值认作为“真”。 例如: ①若a=4,则!a值为0。 ②若a=4,b=5,则a&&b的值为1 ③a、b值同前,a|b值? ④a、b值同前,!a|b值? ⑤4880|12值? 说明:在逻辑表达式中作为参加逻辑运算的运算对象(操作数)可以是 0(“假”)或任何非0的数值(按“真”对待)
◼ 5.2.2 逻辑表达式 ◼ 逻辑表达式的值以数值1代表“真” ,以0代表“假” , ◼ 但在判断一个量是否为“真”时,以0代表“假” ,以非0代表 “真” 。即将一个非零的数值认作为“真” 。 ◼ 例如: ①若a=4,则!a值为0。 ②若a=4,b=5,则a&&b的值为1。 ③a、b值同前,a||b 值 ? ④a、b值同前,!a||b值 ? ⑤4&&0||2 值 ? ◼ 说明:在逻辑表达式中作为参加逻辑运算的运算对象(操作数)可以是 0(“假”)或任何非0的数值(按“真”对待)
例:求解表达式5>3&&2|18<4-!0 -首先考虑结合方向 第一步:5>31&&2|8-4!0 第二步:1&821|8<4-!0 第三步:!0 18<4-1 第四步:4-1 8<3 第五步:8<3 结果为1 逻辑运算符两侧的运算对象可以是任何类型的数据。系统最终以0和非0 来判定它们属于“真”或“假”。例如 a’&&b′的值为1(在逻辑表达式中) 因为’a′和’b′的Asci值都不为0,按“真”处理。 在逻辑表达式的求解中,并不是所有的逻辑运算符都被执行,只是在 必须执行下一个逻辑运算符才能求出表达式的解时,才执行该运算符。 例如 1.a&&b&&c a为假,就不必判别b和c; 如果a为真,b为假,不判别c
◼ 例: 求解表达式 5>3&&2||8<4-!0 ----首先考虑结合方向 第一步:5>3 1&&2||8-4!0 第二步:1&&2 1||8<4-!0 第三步:!0 1||8<4-1 第四步:4-1 1||8<3 第五步:8<3 1||0 结果为 1 ◼ 逻辑运算符两侧的运算对象可以是任何类型的数据。系统最终以0和非0 来判定它们属于“真”或“假”。例如 ‘ a’&&’b’ 的值为1 (在逻辑表达式中) 因为’a’和’b’的Ascii值都不为0,按“真”处理。 ◼ 在逻辑表达式的求解中,并不是所有的逻辑运算符都被执行,只是在 必须执行下一个逻辑运算符才能求出表达式的解时,才执行该运算符。 例如: ◼ 1.a && b && c a为假,就不必判别b和c; 如果a为真,b为假,不判别c
2.a|b|c只要a为真(非0)就不必判别b和c 对&运算符只有a≠0,才继续进行右面的运算。对运算符来说, 只有a=0才继续进行其右面的运算。 例:已知a=1,b=2,c=3,d=4,m=1,n=1 执行逻辑表达式:m=a>b)&&(n=c>d)后 则m=?N=? 逻辑表达式的应用: 例如,判别某一年year是否闰年。闰年的条件是符合下面二者之 ①能被4整除,但不能被100整除。②能被4整除,又能彼400整除。 可以用一个逻辑表达式来表示: year %4==0&&year %100! =o lyear%400=0 当year为某一整数值时,上述表达式值为真(1),则year为闰 年;否则为非闰年。 (year%4==0&&year%100!=0|year%400=0) 以上公式表示?
◼ 2.a || b || c 只要a为真(非0)就不必判别b和c 对&&运算符只有a≠0,才继续进行右面的运算。对||运算符来说, 只有a=0才继续进行其右面的运算。 ◼ 例: 已知a=1,b=2,c=3,d=4,m=1,n=1 执行逻辑表达式:m=a>b)&& (n=c>d) 后 则 m=? N=? ◼ 逻辑表达式的应用: 例如,判别某一年year是否闰年。闰年的条件是符合下面二者之一: ①能被4整除,但不能被100整除。②能被4整除,又能彼400整除。 可以用一个逻辑表达式来表示: year%4==0&&year%100 !=0||year%400==0 当year为某一整数值时,上述表达式值为真(1),则year为闰 年;否则为非闰年。 !( year%4==0&&year%100 !=0||year%400==0) 以上公式表示 ?
■53i语句 if语句是用来判定所给定的条件是否满足,根据判 定的结果(真或假)决定执行给出的两种操作之一。 5.3.1i语句的三种形式 C语言提供了三种形式的if语句: 1.if(表达式)语句 例如:if(x>y) printf(”%d",x); ■这种i语句的执行过程见图: 表达式 语句
◼ 5.3 if语句 ◼ if语句是用来判定所给定的条件是否满足,根据判 定的结果(真或假)决定执行给出的两种操作之一。 ◼ 5.3.1 if语句的三种形式 ◼ C语言提供了三种形式的if语句: ◼ 1.if(表达式) 语句 ◼ 例如:if(x>y) printf(”%d”,x); ◼ 这种if语句的执行过程见图: 0 表达式 语句 1
■2.if(表达式)语句1else语句2 例如:if(xy) printf(”%d",x) Ise printf(”%d",y) 见图 真 假 表达式 语句 语句2
◼ 2.if(表达式) 语句1 else 语句2 ◼ 例如:if(x>y) printf(”%d”,x); ◼ else printf(”%d”,y); ◼ 见图 表达式 语句1 语句2 真 假