Last Update 2012/07/05
if文は次の書式となります。
下記の文法リストにある[ブロック]部分は[1行の文]でも問題ありません。
下記の文法リストにある[ブロック]部分は[1行の文]でも問題ありません。
if ( 条件式1 ) ブロック1
ブロック1 :
条件式1を評価した結果が真(式が0以外)の場合に実行されるブロック
if ( 条件式1 ) ブロック1 else ブロック2
ブロック1 :
条件式1を評価した結果が真(式が0以外)の場合に実行されるブロック
ブロック2 :
条件式1を評価した結果が偽(式が0)の場合に実行されるブロック
if ( 条件式1 ) ブロック1 else if ( 条件式2 ) ブロック2
ブロック1 :
条件式1を評価した結果が真(式が0以外)の場合に実行されるブロック
ブロック2 :
条件式2を評価した結果が真(式が0以外)の場合に実行されるブロック
続けて条件式3、ブロック3以降の配置も可能
if ( 条件式1 ) ブロック1 else if ( 条件式2 ) ブロック2 ... else ブロック3
ブロック1 :
条件式1を評価した結果が真(式が0以外)の場合に実行されるブロック
ブロック2 :
条件式2を評価した結果が真(式が0以外)の場合に実行されるブロック
続けて条件式n、ブロックn以降の配置も可能
続けて条件式n、ブロックn以降の配置も可能
ブロック3 :
どの条件式ついても真(式が0以外)とならなかった場合に実行されるブロック
(例)
#include <stdio.h>
int main ()
{
int a = 2;
int b = 2;
int c = 3;
if (a == b)
{i
/* 条件式が真(式が0以外)となるため実行される */
printf("test1\n");
}
if (a == c)
{
/* 条件式が偽(式が0)となるため実行されない */
printf("test2\n");
}
else
{
/* 条件式が偽(式が0)となるため実行される */
printf("test3\n");
}
if (a == c)
{
/* 条件式が偽(式が0)となるため実行されない */
printf("test4\n");
}
else if (a == b)
{
/* 条件式が真(式が0以外)となるため実行される */
printf("test5\n");
}
if (a == c)
{
/* 条件式が偽(式が0)となるため実行されない */
printf("test6\n");
}
else if (a != b)
{
/* 条件式が偽(式が0)となるため実行されない */
printf("test7\n");
}
else
{
/* すべての条件式が偽(式が0)となるため実行される */
printf("test8\n");
}
return 0;
}
実行結果
test1
test3
test5
test8