分岐

C言語勉強会 第3回

kumar
May 10, 2013

分岐

if文

if文

if文

if (a < 5 && b > 10) printf("こんにちは\n");

もし a が 5 より小さい、かつ b が 10 より大きい なら〜〜

if (a < 7 || b == 5) printf("おはようございます\n");

もし a が 7 より小さい、または b が 5 なら〜〜

if文

switch文

switch (制御式) {	// 制御式には、変数名を入れる。
  case 定数1:	// もし x の値が 定数1 なら…
    文	 	// この文を実行する。
    break;	// switch文から抜ける。
  case 定数2:	// もし x の値が 定数2 なら…
    文   		//
    break;	//
  default:	// これまでの条件に当てはまらなかったなら…
    文  	 	//
    break;      //
}

制御式には、変数だけではなく、定数も入れることが出来る。逆に、caseの方の値は定数でなければならない。

switch文

switch (unko) {
  case 1:
    printf("うんこ可愛い!!\n");
    break;
  case 2:
    printf("うんこしゅごい!!\n");
    break;
  default:
    printf("うんこヤバい!!\n");
    break;
}

unkoの値が 1 ならば、「うんこ可愛い!!」と出力され、
2 ならば、「うんこしゅごい!!」と出力され、
それ以外ならば、「うんこヤバい!!」と出力される。

演算子いろいろ

比較演算子(関係演算子)

< 左辺が右辺より小さい
> 左辺が右辺より大きい
<= 左辺が右辺以下
>= 左辺が右辺以上
== 左辺が右辺と同じ
!= 左辺が右辺と同じでない

論理演算子

&& 左辺かつ右辺(AND)
|| 左辺または右辺(OR)

コラム|C言語が他の言語と違う点

C言語にはC++やJava、(Processing)等の他の言語と違って、trueや、falseはありません。(bool、boolean型も無い)

C言語では
true0以外のすべての値
false0に相当します。

int t = (3 == 3);	/* tには1が代入される */
int f = (3 == 5);	/* tには0が代入される */

ただし、C99以降なら、C++との互換を取る理由で、標準Cライブラリ stdbool.h をインクルードすることでtrueもfalseもbool型も使えるようになります。