第四章选择结构 41关系运算和逻辑运算 4.1.1c语言中的逻辑值 关系表达式和逻辑表达式的运算结果得到一个 逻辑值:真或者假 C语言中没有专门的逻辑值,用零表示假,用 非零值表示真-非零即为真
第四章 选择结构 4.1 关系运算和逻辑运算 关系表达式和逻辑表达式的运算结果得到一个 逻辑值:真或者假。 C语言中没有专门的逻辑值,用零表示假,用 非零值表示真--非零即为真 4.1.1 C语言中的逻辑值
4.1.2关系运算符和关系表达式 1、关系运算符 在程序中经常需要比较两个量的大小关系,以决定程序下 步的工作。比较两个量的运算符称为关系运算符。在C语言中 有以下6种关系运算符: 小于 小于或等于>大于 >=大于或等于=等于 !=不等于 关系运算符都是双目运算符,其结合性均为左结合。关系运 算符的优先级低于算术运算符,高于赋值运算符。在六个关系 运算符中,,=的优先级相同,高于=和!=,=和!=的优 先级相同
1、关系运算符 在程序中经常需要比较两个量的大小关系, 以决定程序下一 步的工作。比较两个量的运算符称为关系运算符。 在C语言中 有以下6种关系运算符: 大于 >= 大于或等于 == 等于 != 不等于 关系运算符都是双目运算符,其结合性均为左结合。 关系运 算符的优先级低于算术运算符,高于赋值运算符。 在六个关系 运算符中,,>=的优先级相同,高于==和!=,==和!=的优 先级相同。 4.1.2 关系运算符和关系表达式
4.1.2关系运算符和关系表达式 2、关系表达式 关系表达式的一般形式为: 表达式关系运算符表达式 例如:a+b>c-d,x>3/2,a+1(b>c)al!=(c=d)等。关系表达式的值是 “真”或“假”,分别用“1和“0表示。 如:5>0的值为“真”,即为1。 (a-3)>(b=5)由于3>5不成立,故其值为假,即为0
2、关系表达式 关系表达式的一般形式为: 表达式 关系运算符 表达式 例如:a+b>c-d,x>3/2,'a'+1(b>c),a!=(c==d)等。关系表达式的值是 “真”或“假”,分别用“1”和“0”表示。 如: 5>0的值为“真”,即为1。 (a=3)>(b=5)由于3>5不成立,故其值为假,即为0。 4.1.2 关系运算符和关系表达式
4.1.3逻辑运算符和逻辑表达式 、逻辑运算符 C语言中提供了三种逻辑运算符 &&与运算或运算非运算 1与运算&& 参与运算的两个量都为真时,结果才为真,否则为假 例如,5>0&&4>2,由于5>0为真,4>2也为真,相与的结 果也为真。 2或运算 参与运算的两个量只要有一个为真,结果就为真。两个量 都为假时,结果为假。 例如:5>0|5>8由于5>0为真,相或的结果也就为真
一、逻辑运算符 C语言中提供了三种逻辑运算符 && 与运算 || 或运算 ! 非运算 1.与运算&& 参与运算的两个量都为真时,结果才为真,否则为假。 例如,5>0 && 4>2,由于5>0为真,4>2也为真,相与的结 果也为真。 2.或运算|| 参与运算的两个量只要有一个为真,结果就为真。 两个量 都为假时,结果为假。 例如:5>0||5>8,由于5>0为真,相或的结果也就为真。 4.1.3 逻辑运算符和逻辑表达式
4.1.3逻辑运算符和逻辑表达式 3非运算! 参与运算量为真时,结果为假;参与运算量为假时,结果 为真。 例如:(5>0)的结果为假。 虽然C编译在给出逻辑运算值时,以“1代表“真”,“0 代表“假”。但反过来在判断一个量是为“真”还是为“假 ”时,以“0”代表“假”,以非“0”的数值作为“真”。 例如:由于5和3均为非“0因此58&3的值为“真”,即为 1。又如:5|0的值为“真”,即为1 与运算符&&和或运算符均为双目运算符。具有左结合性 非运算符!为单目运算符,具有右结合性
3.非运算! 参与运算量为真时,结果为假;参与运算量为假时,结果 为真。 例如:!(5>0)的结果为假。 虽然C编译在给出逻辑运算值时,以“1”代表“真”,“0 ”代表“假”。 但反过来在判断一个量是为“真”还是为“假 ”时,以“0”代表“假”,以非“0”的数值作为“真”。 例如:由于5和3均为非“0”因此5&&3的值为“真”,即为 1。又如:5||0的值为“真”,即为1。 与运算符&&和或运算符||均为双目运算符。具有左结合性 。 非运算符!为单目运算符,具有右结合性。 4.1.3 逻辑运算符和逻辑表达式
4.1.3逻辑运算符和逻辑表达式 、逻辑表达式 逻辑表达式的一般形式为: 表达式逻辑运算符表达式 其中的表达式可以又是逻辑表达式,从而组成了嵌套的情 形 例如:(a&&b)&&c 根据逻辑运算符的左结合性,上式也可写为: a&&b&&c 逻辑表达式的值是式中各种逻辑运算的最后值,以“1”和 “0”分别代表“真”和“假
二、逻辑表达式 逻辑表达式的一般形式为: 表达式 逻辑运算符 表达式 其中的表达式可以又是逻辑表达式,从而组成了嵌套的情 形。 例如: (a&&b)&&c 根据逻辑运算符的左结合性,上式也可写为: a&&b&&c 逻辑表达式的值是式中各种逻辑运算的最后值,以“1”和 “0”分别代表“真”和“假”。 4.1.3 逻辑运算符和逻辑表达式
42i语句和用i语句构成的选择结构 421i句 形式1(表达式)语句 功能:当表达式值非0时,执行语句否则不执行语句 其流程图: 表达式 例如: 0 if (x>y) printf("%d,x) 语句
4.2.1 if语句 4.2 if语句和用if语句构成的选择结构 表达式 语句 =0 0 形式1 if(表达式) 语句 功能: 当表达式值非0时, 执行语句,否则不执行语句. 其流程图: 例如: if (x>y) printf(“%d”, x);
4.21i语句 例题: main( int a.b.max. printf( In input two numbers: ") scanf(%d%d", &a, &b); maxed if (max<b)max=b; printf("max=%d", max) 本例程序中,输入两个数a,b。把a先赋予变量max,再用 此mx中总是大数,最后输出maMO,则把b赋予max因 语句判别max和b的大小,如max小于b
4.2.1 if语句 例题: main() { int a,b,max; printf("\n input two numbers: "); scanf("%d%d",&a,&b); max=a; if (max<b) max=b; printf("max=%d",max); } 本例程序中,输入两个数a,b。把a先赋予变量max,再用if 语句判别max和b的大小,如max小于b,则把b赋予max。因 此max中总是大数,最后输出max的值
4.21i语句 形式2:f(表达式)语句Aese语句B 功能:表达式为非0执行语句A;表达式为0,执行语句B 其流程图 ≠0 0 表达式 例:f(x>y printf(%d, x: 语句A 语句B else printf("%d, y)
4.2.1 if语句 形式2: if(表达式)语句A else 语句B 功能: 表达式为非0,执行语句A;表达式为0,执行语句B 其流程图: 表达式 语句A 语句B 0 = 0 例: if(x>y) printf("%d", x); else printf(" %d", y);
4.21i语句 例题: main( int a, b: printf(" input two numbers:; scanf( %d%d", &a, &b) if(a>b) printf("max=%dIn", a) else printf("max=%dIn", b; 输入两个整数,输出其中的大数。改用ese语句判别a,b 的大小,若a大,则输出a,否则输出b
4.2.1 if语句 例题: main() { int a, b; printf("input two numbers: "); scanf("%d%d",&a,&b); if(a>b) printf("max=%d\n",a); else printf("max=%d\n",b); } 输入两个整数,输出其中的大数。改用if-else语句判别a,b 的大小,若a大,则输出a,否则输出b