关系运算、逻辑运算

关系运算、逻辑运算【恒星】

关系运算符

运算符 名称 示例 功能
< 小于 a<b a小于b时返回真;否则返回假
<= 小于等于 a<=b a小于等于b时返回真;否则返回假
> 大于 a>b a大于b时返回真;否则返回假
>= 大于等于 a>=b a大于等于b时返回真;否则返回假
== 等于 a==b a等于b时返回真;否则返回假
!= 不等于 a!=b a不等于b时返回真;否则返回假

关系运算结果

关系运算符的运算结果是逻辑值,也称布尔值(bool)

  • 真:非0(true)
  • 假:0(false)

三目运算符

三目运算符,也称为三元表达式,运算后会返回两个结果其中之一。

语法:条件 ? 结果1 : 结果2

当满足条件时,返回结果1,否则返回结果2。

int a = 3;

// 判断是否大于 5,是则返回 2,否则返回 1
int b = a>5 ? 2 : 1; // b = 1

// 判断 b 是否是偶数,是则输出 YES,否则输出 NO
printf(b%2==0 ? "YES" : "NO"); // NO

提示:代码示例可以复制到程序文件里运行测试,理解输出结果意义后,再尝试自己编写和修改代码,能灵活运用起来才算是掌握了。

逻辑运算符

逻辑运算符是对逻辑值(布尔值bool)进行运算的符号,其结果是运算后的新逻辑值。

运算符 名称 示例 功能
&& 逻辑与 a && b a 和 b 都为真时,结果为真。至少一个为假时,结果为假。
|| 逻辑或 a || b a 和 b 至少一个为真时,结果为真。两个都为假时,结果为假。
! 逻辑非 !a a为假时,结果为真。(非假即真,非真即假)
printf("%d\n", 1 && 1); // 1
printf("%d\n", 1 && 0); // 0
printf("%d\n", 0 && 0); // 0
printf("\n");
printf("%d\n", 1 || 1); // 1
printf("%d\n", 1 || 0); // 1
printf("%d\n", 0 || 0); // 0
printf("\n");
printf("%d\n", !1); // 0
printf("%d\n", !0); // 1
printf("\n");


int yw = 95;  // 语文
int sx = 100; // 数学

// 判断两个 都是 100
printf(yw==100 && sx==100 ? "两个100" : "没有两个100");

// 判断两个 没有都是 100
printf( !(yw==100 && sx==100) ? "没有两个100" : "两个100");

// 判断两个 其中至少一个 100
printf( yw==100 || sx==100 ? "其中至少一个100" : "两个都没有100");

提示:代码示例可以复制到程序文件里运行测试,理解输出结果意义后,再尝试自己编写和修改代码,能灵活运用起来才算是掌握了。

运算优先级

运算优先级不需要专门去记忆,因为运算符太多,一些不常用的记住了,时间长了也会忘记。

建议使用下面方法:

  • 常用的运算符在练习时,多用自然就记得;
  • 学习时多结合示例使用,不会就查表;
  • 不能查表时,使用()即可;(因为()的优先级最高)

C语言运算符优先级和结合性一览表

C++ 内置运算符、优先级和关联性

posted @ 2026-10-28 21:52  燕飞翔  阅读(8)  评论(0)    收藏  举报