C语言关系运算符的概念以及汇总(附带实例)
在C语言编程中,关系运算符用来比较两个值之间大小,例如是否相等、大于或小于等。
关系运算符返回布尔值,即 1(真)或 0(假)。在 C 语言中,任何非零值都被视为真,而 0 则被视为假。
关系运算符在使用时,它的的两边都会有一个表达式,比如变量、数值、加减乘除运算等,关系运算符的作用就是判明这两个表达式的大小关系。注意,是判明大小关系,不是其他关系。
C语言提供了六种关系运算符,分别是:
关系运算符 | 含 义 | 数学中的表示 |
---|---|---|
< | 小于 | < |
<= | 小于或等于 | ≤ |
> | 大于 | > |
>= | 大于或等于 | ≥ |
== | 等于 | = |
!= | 不等于 | ≠ |
关系运算符都是双目运算符,其结合性均为左结合。关系运算符的优先级低于算术运算符,高于赋值运算符。在六个关系运算符中,<、<=、>、>= 的优先级相同,高于 == 和 !=,== 和 !=的优先级相同。
等于运算符(==)
等于运算符用于检查两个操作数是否相等:如果相等,返回 1;否则返回 0。
#include <stdio.h> int main() { int a = 5, b = 5; printf("%d\n", a == b); return 0; }输出结果:
1
不等于运算符(!=)
不等于运算符检查两个操作数是否不相等:如果不相等,返回 1;否则返回 0。
#include <stdio.h> int main() { int a = 5, b = 6; printf("%d\n", a != b); return 0; }输出结果:
1
大于运算符(>)
大于运算符检查左操作数是否大于右操作数:如果是,返回 1;否则返回 0。
#include <stdio.h> int main() { int a = 7, b = 5; printf("%d\n", a > b); return 0; }输出结果:
1
小于运算符(<)
小于运算符检查左操作数是否小于右操作数:如果是,返回 1;否则返回 0。
#include <stdio.h> int main() { int a = 3, b = 5; printf("%d\n", a < b); return 0; }输出结果:
1
大于等于运算符(>=)
大于等于运算符检查左操作数是否大于或等于右操作数:如果是,返回 1;否则返回 0。
#include <stdio.h> int main() { int a = 5, b = 5; printf("%d\n", a >= b); return 0; }输出结果:
1
小于等于运算符(<=)
小于等于运算符检查左操作数是否小于或等于右操作数:如果是,返回 1;否则返回 0。
#include <stdio.h> int main() { int a = 4, b = 5; printf("%d\n", a <= b); return 0; }输出结果:
1
关系运算符的应用
关系运算符常用于条件语句(如 if else、while 循环)中,用来控制程序的执行流程,例如:
#include <stdio.h> int main() { int age = 18; if (age >= 18) { printf("你已经成年了。\n"); } else { printf("你还未成年。\n"); } return 0; }输出结果:
你已经成年了。
在这个例子中,我们使用大于等于运算符来判断 age 是否大于或等于 18,从而决定输出的内容。
注意事项
使用关系运算符时,需要注意以下几点:
- 不要混淆赋值运算符(=)和等于运算符(==),这是初学者常犯的错误。
- 关系运算符的优先级低于算术运算符,但高于赋值运算符。在复杂表达式中,建议使用括号明确运算顺序。
- 浮点数比较时要小心,由于浮点数的精度问题,直接使用 == 可能会导致意外结果,通常建议比较两个浮点数的差值是否小于一个很小的数。