0Pricing
C Academy · 课时

关系运算符与逻辑运算符

比较以及 &&、||

关系运算符与逻辑运算符 是 CoddyKit 上的免费 C Academy 课时。 这是第 2 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 C Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 C Academy 课程共包含 4 节课。

比较值

关系运算符用于比较两个值,并产生一个真值:真为 1,假为 0。

  • < 小于
  • > 大于
  • <= 小于或等于
  • >= 大于或等于
#include <stdio.h>
int main(void) {
    printf("3 < 5 = %d\n", 3 < 5);
    printf("3 > 5 = %d\n", 3 > 5);
    return 0;
}

相等与不相等

使用 == 测试相等性,使用 != 测试不相等性。请不要将 == 与赋值运算符 = 混淆。

#include <stdio.h>
int main(void) {
    int a = 4, b = 4;
    printf("a == b = %d\n", a == b);
    printf("a != b = %d\n", a != b);
    return 0;
}

布尔值就是整数

C 默认没有单独的布尔类型。比较会产生 int 值 1 或 0。在条件中,任何非零值都会被视为真。

#include <stdio.h>
int main(void) {
    int result = (10 > 2);
    printf("result = %d\n", result);
    return 0;
}

逻辑 AND

只有当两个操作数都为真时,&& 运算符的结果才为真。

#include <stdio.h>
int main(void) {
    int age = 25;
    if (age > 18 && age < 65)
        printf("Working age\n");
    return 0;
}

逻辑 OR

当至少一个操作数为真时,|| 运算符的结果为真。

#include <stdio.h>
int main(void) {
    int day = 6;
    if (day == 6 || day == 7)
        printf("Weekend\n");
    return 0;
}

逻辑 NOT

! 运算符会翻转真值。!0 的结果是 1,而 !5 的结果是 0。

#include <stdio.h>
int main(void) {
    int loggedIn = 0;
    if (!loggedIn)
        printf("Please log in\n");
    return 0;
}

短路求值

C 使用短路求值:对于 &&,如果左侧为假,就会跳过右侧;对于 ||,如果左侧为真,就会跳过右侧。

#include <stdio.h>
int main(void) {
    int x = 0;
    if (x != 0 && 10 / x > 1)
        printf("safe\n");
    else
        printf("division skipped\n");
    return 0;
}

组合条件

您可以混合使用关系运算符和逻辑运算符来表达复杂的条件。

#include <stdio.h>
int main(void) {
    int score = 75;
    if (score >= 50 && score < 80)
        printf("Pass\n");
    return 0;
}

否定比较结果

! 可以包裹整个比较表达式。!(a == b) 与 a != b 等价。

#include <stdio.h>
int main(void) {
    int a = 3, b = 5;
    printf("%d\n", !(a == b));
    return 0;
}

运算符串联并不等同于数学表达式

与数学不同,1 < x < 10 并不表示您所期望的含义。它会按照从左到右的顺序执行比较。请改用 x > 1 && x < 10。

#include <stdio.h>
int main(void) {
    int x = 50;
    if (x > 1 && x < 10)
        printf("in range\n");
    else
        printf("out of range\n");
    return 0;
}

决策示例

综合运用所有内容来判断一个数字的类别。

#include <stdio.h>
int main(void) {
    int n = -4;
    if (n > 0)
        printf("positive\n");
    else if (n < 0)
        printf("negative\n");
    else
        printf("zero\n");
    return 0;
}

快速检查

请测试您对关系运算符和逻辑运算符的理解。

回顾:关系运算符与逻辑运算符

您学习了如何比较条件并将它们组合起来。

  • 关系运算符会产生 1 或 0
  • == != 用于测试相等性,请勿将 == 与 = 混淆
  • && || ! 用于组合真值
  • 短路求值可以跳过第二个操作数
  • 使用明确的 && 串联条件

常见问题解答

「关系运算符与逻辑运算符」课时是免费的吗?

是的 — 「关系运算符与逻辑运算符」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 C Academy 课程的其余内容,请升级到 CoddyKit PRO。 C Academy 课程共包含 4 节课。

「关系运算符与逻辑运算符」这节课中我会学到什么?

比较以及 &&、|| 你通过在浏览器中直接运行的动手代码来练习 C Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 C Academy 需要有经验吗?

无需任何先前经验。CoddyKit 上的 C Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 2 节课,共 4 节。

「关系运算符与逻辑运算符」课时需要多长时间?

大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。

我能在这节 C Academy 课中编写并运行代码吗?

能。每节 C Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。

此课程中的所有课时

  1. 算术运算符
  2. 关系运算符与逻辑运算符
  3. 赋值与递增
  4. 运算符优先级
← 返回 C Academy