C/C++学習 · 4 min read · Oct 12, 2025

C/C++を段階的に学ぶ - ページ4

04. 段階的C/C++ — Cプログラミング - 条件文

| | 1. 条件文の紹介:

  1. if..else
  2. switch |

1. 条件文の紹介:

コンピュータは、算術演算と論理的判断を行うことができる電子機器です。

この時点で、コンピュータは算術演算しか行えない普通の計算機とは大きく異なります。

条件文(if-elseやswitchなど)を使用して、与えられた2つの値の中で最大の値を求めることができます。

2. if..else

これは、2つの式の間の変動を見つけるための条件文です。

| |
構文:
if ( )
{ ; }
else
{ ; } |

すべてのifには条件と2つのステートメントブロックがあります。条件が真であれば最初のステートメントブロックが実行され、それ以外の場合は逆になります。

| | 例:
If( a>b )
printf(“Aは大きい”);
else
printf(“Bは大きい”); |

注意: 単一のステートメントにはブロックは必要ありません。

  1. 2つの値の中で最大の値を見つけるプログラム

/ 12_if.c /
#include
int main()
{      / 開始 /
int a, b;      / 変数の宣言 /
printf(“\nAの値を入力してください: “); scanf(“%d”, &a);      / 値Aを読み取る /
printf(“\nBの値を入力してください: “); scanf(“%d”, &b);      / 値Bを読み取る /
if( a>b )      / 両方を比較 /
printf(“Aは大きい”);
else
printf(“Bは大きい”);      / 結果を表示 /
return 0;
}      / 終了 /

これはC++およびCプログラミング言語の演算子のリストです。リストされているすべての演算子はC++に存在します。

参照: http://en.wikipedia.org/wiki/Operators_in_C_and_C++

算術演算子

演算子目的
+加算
-減算
*乗算
/除算
%整数除算後の余り(剰余)

単項演算子

演算子目的
-マイナス(負の数)
++インクリメント(1増加)
デクリメント(1減少)
sizeofサイズ(バイト単位)
( type)キャスト

関係演算子

演算子目的
<より小さい
<=以下
>より大きい
>=以上

等価演算子

演算子目的
==等しい
!=等しくない

論理演算子

演算子目的
&&AND

| || | OR | | ! | NOT |

ビット操作演算子

演算子目的
&AND

| | | OR | | ~ | NOT | | ^ | XOR | | << | 左シフト | | >> | 右シフト |

演算子の優先順位グループ

演算子カテゴリ演算子結合性
単項演算子- ++ – ! sizeof ( type)右から左
算術の乗算、除算、剰余* / %左から右
算術の加算と減算+ -左から右
関係演算子< <= > >=左から右
等価演算子== !=左から右

| 論理演算子 | && || | 左から右 | | 条件演算子 | ? : | 右から左 | | 代入演算子 | = += -= *= /= %= | 右から左 |

さらなる演習

さらなる演習の理由は、学んだ文に慣れるためです。自信がある場合は、以下のプログラムを実行する必要はありません。

/ 01. 以下の詳細から人の年齢を見つけるプログラム /
/ age <= 12 子供の年齢
age >= 13 and age <= 19 ティーンエイジャーの年齢
age >= 20 and age <= 35 若い年齢
age >= 36 and age < 50 中年
age >= 50 高齢者
/

/ 13_age.c /
#include
int main()
{
char name[20];
int age;
clrscr();
print “あなたの名前を入力してください”; input name;
print “あなたの年齢を入力してください”; input age;
printf(“\n%s あなたは “);
if ( age <= 12 ) printf(“子供の年齢”);
if ( age >= 13 and age <= 19 ) printf(“ティーンエイジャーの年齢”);
if ( age >= 20 and age <= 35 ) printf(“若い年齢”);
if ( age >= 36 and age < 50 ) printf(“中年”);
if ( age >= 50 ) printf(“高齢者”);
return 0;
}

/ 02. 3つの値の中で最大の値を見つけるプログラム /

/ 14_big3.c /
#include
#include
int main()
{
int a, b, c;
clrscr();
printf(“Aの値を入力してください”); scanf(“%d”, &a);
printf(“Bの値を入力してください”); scanf(“%d”, &b);
printf(“Cの値を入力してください”); scanf(“%d”, &c);
if( a > b && a > c ) printf( “Aは大きい “ );
if( b > a && b > c ) printf( “Bは大きい “ );
if( c > a && c > b ) printf( “Cは大きい “ );
return 0;
}

/ 03. if..elseを使用して3つの値の中で最大の値を見つけるプログラム /

/ 15_big3.c /
#include
#include
int main()
{
int a, b, c;
clrscr();
printf(“Aの値を入力してください”); scanf(“%d”, &a);
printf(“Bの値を入力してください”); scanf(“%d”, &b);
printf(“Cの値を入力してください”); scanf(“%d”, &c);
if( a > b && a > c )
printf( “Aは大きい “ );
else
if ( b > c )
printf( “Bは大きい “ );
else
printf( “Cは大きい “ );
return 0;
}

/ 04. ネストされたifを使用して3つの値の中で最大の値を見つけるプログラム /

/ 16_big3.c /
#include
#include
int main()
{
int a, b, c;
clrscr();
printf(“Aの値を入力してください”); scanf(“%d”, &a);
printf(“Bの値を入力してください”); scanf(“%d”, &b);
printf(“Cの値を入力してください”); scanf(“%d”, &c);
if( a > b )
if( a > c )
printf(“ Aは大きい “);
else
printf(“ Cは大きい “);
else
if( b > c )
printf(“ Bは大きい “);
else
printf(“ Cは大きい “);
return 0;
}

/ 05. 与えられた数から曜日を見つけるプログラム /

/ 17_week.c /
#include
int main()
{
int week;
printf(“週番号を入力してください”); scanf(“%d”, &week);
if (week == 1 ) printf (“日曜日”);
if (week == 2 ) printf (“月曜日”);
if (week == 3 ) printf (“火曜日”);
if (week == 4 ) printf (“水曜日”);
if (week == 5 ) printf (“木曜日”);
if (week == 6 ) printf (“金曜日”);
if (week == 7 ) printf (“土曜日”);
if ( week < 1 || week > 7 ) printf(“不正な日”);
return 0;
}

3. switch

複数の条件文は、1つ以上の式の変動をチェックする能力があります。

構文:

| | switch()
{
case : ; break;
case : ; break;
……
Default : ;
} |

例:

| | switch(week)
{
case 1 : printf( “日曜日”); break;
case 2 : printf(“月曜日”); break;
.
.
case 7: printf(“土曜日”); break;
default : printf(“不正な入力”);
} |

/ 06. switch文を使用して与えられた数から曜日を見つけるプログラム /

/ 18_switch.c /
#include
int main()
{
int week;
printf(“週番号を入力してください”); scanf(“%d”, &week);
switch(week)
{
case 1 : printf (“日曜日”); break;
case 2 : printf (“月曜日”); break;
case 3 : printf (“火曜日”); break;
case 4 : printf (“水曜日”); break;
case 5 : printf (“木曜日”); break;
case 6 : printf (“金曜日”); break;
case 7 : printf (“土曜日”); break;
default : printf(“不正な入力”);
}
return 0;
}

Share: X/Twitter LinkedIn

新しい投稿を受信箱で受け取る

スパムはありません。いつでも購読を解除できます。