C语言关系运算符详解(kruskal算法)
关系运算符都是双目运算符,其结合性均为左结合。在六个关系运算符中,<、<=、>、>=的优先级相同,高于==和!=,==和!=的优先级相同。在C语言中,有的运算符有两个操作数,例如 10+20,10和20都是操作数,+ 是运算符。我们将这样的运算符称为。同理,将有一个操作数的运算符称为,将有三个操作数的运算符称为。常见的双目运算符有 +、-、*、/ 等,单目运算符有 ++、-- 等,三目运算符只有一个,就是 ? :,我们将在《C语言条件运算符》中详细介绍。关系运算符的两边可以是变量、数据或表达式,例如:1) a+b > c-d2) x > 3/23) &39;a&39;+1 < c4) -i-5*j == k+1关系运算符也可以嵌套使用,例如:1) a > (b > c)2) a != (c == d)关系运算符的运算结果只有 0 或 1。当条件成立时结果为 1,条件不成立结果为 0。例如:
C语言关系运算符详解
在上节《C语言if else语句》中看到,if 的判断条件中使用了<=张璐翻译
、>
、!=
等符号,它们专门用在判断条件中,让程序决定下一步的操作,称为。C语言提供了以下关系运算符:
关系运算符 | 含 义 | 数学中的表示 |
---|---|---|
< | 小于 | < |
<= | 小于或等于 | ≤ |
> | 大于 | > |
>= | 大于或等于 | ≥ |
== | 等于 | = |
!= | 不等于 | ≠ |
- 5>0 成立,其值为 1;
- 34-12>100 不成立,其值为 0;
- (a=3)>(b=5) 由于3>5不成立,故其值为 0。
includeint main(){ char c=&39;k&39;; int i=1, j=2, k=3; float x=3e+5, y=0.85; int result_1 = &39;a&39;+5 =k+1 ); printf( "%d, %d\n", 1 运行结果:1, 01, 10, 0对于含多个关系运算符的表达式,如 k==j==i+5,根据运算符的左结合性,先计算k==j,该式不成立,其值为0,再计算0==i+5,也不成立,故表达式值为0。 再谈 if 语句的判断条件张璐翻译
if 语句的判断条件中不是必须要包含关系运算符,它可以是赋值表达式,甚至也可以是一个变量,例如://情况① if(b){ //TODO: } //情况② if(b=5){ //情况① //TODO: }都是允许的。只要整个表达式的值为非0,条件就成立。上面两种情况都是根据变量 b 的最终值来判断的,如果 b 的值为非0,那么条件成立,否则不成立。又如,有程序段:if(a=b) printf("%d",a); else printf("a=0");意思是,把 b 的值赋予 a,如果为非0则输出该值,否则输出“a=0”字符串。这种用法在后面的程序中会经常出现。
版权声明:
本站所有资源均为站长或网友整理自互联网或站长购买自互联网,站长无法分辨资源版权出自何处,所以不承担任何版权以及其他问题带来的法律责任,如有侵权或者其他问题请联系站长删除!站长QQ754403226 谢谢。