int main(){ int a = 0 ; printf("あ"); printf("い"); printf("う"); return 0; } if( a == 0 ){ } printfを囲むように、if文というものを追加します。 else{ } プログラムをさらに変更します。 ifの終わりの } の後に、else を追加します。 else if( a == 2 ){ else{ } 最後に、elseを else ifに変えて、 elseを下に移動します。 1 変数aの初期値を1に変更します。 変数 a が作成されます。 ただ今のプログラムでは、この後、変数 a は使用しません。 名前 a 0 "あ" が出力されます。 "あ" が出力されます。 "い" が出力されます。 "い" が出力されます。 "い" が出力されます。 "い" が出力されます。 "う" が出力されます。 "う" が出力されます。 "う" が出力されます。 "う" が出力されます。 "う" が出力されます。 プログラムは終了します。 プログラムは終了します。 プログラムは終了します。 プログラムは終了します。 プログラムは終了します。 これで、説明は終了します。 ここでプログラムを少し改造します。 printf("い");も if の { } の中に入れてみます。 元に戻します。 もう一度、プログラムを少し変更します。 printf("あ");が、ifの{ } の中に入っていることを 見やすくするため、右に少し移動します。 右に移動しても、プログラムの内容は変わりません。 printf("い");も { } の中に入ったので、 見やすくするため、右に少し移動します。 printf("う");も右に移動します。 もう一度、最初からプログラムを実行します。 もう一度、最初からプログラムを実行します。 もう一度、最初からプログラムを実行します。 プログラムを実行します。 以下の2つのprint文は、ifが無いので無条件で出力されます。 ifは、( ) 内の条件をチェックします。 a == 0 は、aの値が0であるかをチェックします。 表を確認するとaは0なので、{ } の中を実行します。 ifは、( ) 内の条件をチェックします。 今のaの値は1なので、a==0には一致しません。 ifの条件に一致しない場合には、{ } の中を実行しません。 ifは、( ) 内の条件をチェックします。 今のaの値は1なので、a==0には一致しません。 ifの終わりの } まで飛んでくるわけですが、 } のあとに elseがあると、ifの条件に一致しないときには、 elseのあとの { } の中が実行されます。 ifは、( ) 内の条件をチェックします。 今のaの値は1なので、a==0には一致しません。 else ifでは、ifの条件に一致しなかったときに、 else ifの後の条件がチェックされます。 変数aの現在値は1なので、a==2には一致しません。 if, else ifの条件に一致しなかったときに、 elseの { } の中が実行されます。 変数 a が作成されます。 初期値は 1 です。 初期値1の変数aが作成されます。 初期値1の変数aが作成されます。 こうなっていると、 ifの条件に一致するときには、 printf("あ");とprintf("い"); が実行されることになります。 もしも変数aの値が0ならば、 if(a==0)の条件に一致するので、 "あ"が出力されて、"い"は出力されません。 このプログラムは、 ifの条件に一致する場合は "あ" else ifの条件に一致する場合は "い" どちらにも一致しない場合に "う" が出力されます。 また、次のようにelse ifは複数入れることもできます。 if(a==0){ }else if(a==1){ }else if(a==2){ }else{ } else if, elseは、省略してもよいです。 ifやelse ifの後に書く条件は、 a==b aとbの値が同じ a!=b aとbの値が違う a>b aはbより大きい(bを含まない) a>=b aはb以上である(bを含む) などがあります。 また、条件を2つ書いて、 && でつなげると「かつ」、 || だと「または」の条件となります。例えば、 a==b && c==d は、「aとbは同じ、かつ、cとdも同じ」 a==b || c==dは、「aとbが同じ、または、cとdが同じ」 となります。 このプログラムについて、1行ずつ、説明していきます。 指でスライドして先に進めてください。 また、下にスライドすると戻すこともできます。