分岐
C言語勉強会 第3回
kumar
May 10, 2013
C言語勉強会 第3回
kumar
May 10, 2013
if (条件式) 真文;
or
if (条件式) {
複数行の真文; /* 0行以上 */
}
if (x == 5) {
printf("こんにちは\n");
}
if (y >= 10) {
printf("こんばんは\n");
}
if (a < 5 && b > 10) printf("こんにちは\n");
もし a が 5 より小さい、かつ b が 10 より大きい なら〜〜
if (a < 7 || b == 5) printf("おはようございます\n");
もし a が 7 より小さい、または b が 5 なら〜〜
if (条件式) {
真文
} else {
偽文 /* 条件式が偽のとき実行される */
}
if (条件式1) {
真文1
} else if (条件式2) {
真文2 /* 条件式1が偽、かつ条件式2が真のとき実行される */
}
switch (制御式) { // 制御式には、変数名を入れる。
case 定数1: // もし x の値が 定数1 なら…
文 // この文を実行する。
break; // switch文から抜ける。
case 定数2: // もし x の値が 定数2 なら…
文 //
break; //
default: // これまでの条件に当てはまらなかったなら…
文 //
break; //
}
制御式には、変数だけではなく、定数も入れることが出来る。逆に、caseの方の値は定数でなければならない。
switch (unko) {
case 1:
printf("うんこ可愛い!!\n");
break;
case 2:
printf("うんこしゅごい!!\n");
break;
default:
printf("うんこヤバい!!\n");
break;
}
unkoの値が 1 ならば、「うんこ可愛い!!」と出力され、
2 ならば、「うんこしゅごい!!」と出力され、
それ以外ならば、「うんこヤバい!!」と出力される。
比較演算子(関係演算子)
| < | 左辺が右辺より小さい |
| > | 左辺が右辺より大きい |
| <= | 左辺が右辺以下 |
| >= | 左辺が右辺以上 |
| == | 左辺が右辺と同じ |
| != | 左辺が右辺と同じでない |
論理演算子
| && | 左辺かつ右辺(AND) |
| || | 左辺または右辺(OR) |
C言語にはC++やJava、(Processing)等の他の言語と違って、trueや、falseはありません。(bool、boolean型も無い)
C言語では
trueは0以外のすべての値、
falseは0に相当します。
int t = (3 == 3); /* tには1が代入される */ int f = (3 == 5); /* tには0が代入される */
ただし、C99以降なら、C++との互換を取る理由で、標準Cライブラリ stdbool.h をインクルードすることでtrueもfalseもbool型も使えるようになります。