論理演算子 パート1
CoddyのCジャーニー「基礎」セクションの一部。レッスン 21/63。
論理演算子は、1(真)または0(偽)を返す比較の組み合わせを確認するために使用されます。
たとえば、次の文には2つの比較が含まれています:
5は3より大きく、かつ6未満ですか?
| 演算子 | 意味 | 例 |
|---|---|---|
&& | And - 1(すべてのオペランドが 1 の場合) | a && b |
|| | Or - 1(いずれかのオペランドが 1 の場合) | a || b |
! | Not - オペランドが 0 の場合は 1 | !a |
いくつか例を見てみましょう。
5は3より大きく、1は1に等しい:
int b1 = (5 > 3) && (1 == 1); // 1 (true) を保持説明: すべてのオペランドが 1 なので、b1 は 1 を holds します(and 操作は、両方のオペランドが 1 の場合に 1 になります)。
5は4と等しくない、または5は2と等しい:
int b2 = !(5 == 4) || (5 == 2); // 1 (true) を保持説明:最初のオペランド(5 != 4)は 1 なので、b2 も 1 です(or 演算は、どちらか一方のオペランドが 1 の場合に 1 になります)
チャレンジ
簡単あなたにはコードが与えられています。int b3が1(true)をholdsするように、変数int b1とint b2の疑問符を置き換えてください。
少し時間を取って条件を分析し、どのような値にすれば条件がtrueになるか考えてみましょう。
正しい解答はたくさんあります!
自分で試してみよう
#include <stdio.h>
int main() {
// 以下にコードを入力してください
int b1 = ?;
int b2 = ?;
int b3 = b1 || b2;
// 下の行を変更しないでください
printf("b3 = %d", b3);
return 0;
}このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
基礎のすべてのレッスン
自分で練習してみよう: Cオンラインコンパイラ