C Academy · レッスン

関係演算子と論理演算子

比較と &&、|| です。

レッスン 2/413 ステップ

「関係演算子と論理演算子」はCoddyKit上の無料C Academyレッスンです。 これはレッスン2/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはC Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 C Academyコースには全4レッスンが含まれています。

値の比較

関係演算子は2つの値を比較し、真偽値を返します。真の場合は 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にはデフォルトで独立したブール型はありません。比較結果は 1 または 0 の int 値になります。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

|| 演算子は、少なくとも1つのオペランドが真の場合に真になります。

#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 を返します
  • == != は等価性を判定します。== と = を決して混同しないでください
  • && || ! は真偽値を組み合わせます
  • 短絡評価によって2番目のオペランドを評価せずに済む場合があります
  • 条件を明示的な && で連結します
無料で開始

AI チューターと学ぶ C — 無料

ブラウザでリアルコードを書いて実行し、24/7 の AI チューターから瞬時にサポートを受け、ウェブまたはアプリで続きから学習できます。

コース
39
レッスン
144

よくある質問

「関係演算子と論理演算子」レッスンは無料ですか?

はい。「関係演算子と論理演算子」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、C Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 C Academyコースには全4レッスンが含まれています。

「関係演算子と論理演算子」で何を学びますか?

比較と &&、|| です。 ブラウザで直接実行するハンズオンコードでC Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

C Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのC Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/4です。

「関係演算子と論理演算子」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このC Academyレッスンでコードを書いて実行できますか?

はい。すべてのC Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. 算術演算子
  2. 関係演算子と論理演算子
  3. 代入とインクリメント
  4. 演算子の優先順位
← C Academyに戻る