C++制御構文
条件分岐
if文の書き方
条件分岐のif文は、C言語と同じ形式になります。
int x = 5;
if (x == 5) {
...
} else if (x == 6) {
...
} else {
...
}
switch文の書き方
条件分岐のswitch文は、C言語と同じ形式になります。
break文を定義することで、case処理を終了します。
break文を定義しない場合にはフォールスルー(下の case に処理が流れること)します。
switch (x) {
case 0:
std::cout << "x=" << x << "\n";
break;
case 1:
case 2:
// x == 1 または x == 2 のときの処理
break;
default:
// x がそれ以外のときの処理
}
反復処理
for文の書き方
for文の繰り返し条件変数はカッコ内で定義できます。(C言語からの拡張点)
for (int i = 0; i < 10; ++i) {
std::cout << i << std::endl;
}
while文の書き方
while は () に渡された条件が true である限り { ... } 内の処理を繰り返し実行します
int j = 0;
while (j < 5) { // jが5未満の間
std::cout << "j: " << j << "\n";
j++; // jを1増やす
}
do-while文の書き方
初回は無条件で do { ... } 内の処理を実行します。
そして、2回目以降は while () に渡された条件が true である限り do { ... } 内の処理を実行し続けます。
int k = 0;
do {
std::cout << "k: " << k << "\n";
k++; // kを1増やす
} while (k < 10); // kが10未満の間
中断処理
break文
break文は、ループ処理を中断してループ文を終了します。
for (int i = 0; i < 10; i++) {
if (i == 5) { // iが5ならばループを終了
break;
}
std::cout << "i: " << i << "\n";
}
continue文
continue文は、現在のループ処理を中断して、次のループ処理を行います。
for (int i = 0; i < 10; i++) {
if (i % 2 == 0) { // iが偶数ならばスキップする
continue;
}
std::cout << "i: " << i << "\n";
}
ジャンプ処理
goto文
C++のgotoステートメントは、指定した識別子によってラベル付けされたステートメントに制御を移します。
goto文は注意して使用すれば、非常に有用な機能です。
int main(){
goto B;
A:
// 処理しない
printf("Process A");
B:
// 処理する
printf("Process B");
goto D;
C:
// 処理する
printf("Process C");
return 0;
}
関連ページ
- C++言語
- オブジェクト指向
- 実用文法