C/C++ の条件分岐、繰り返し構文など

基本構文

C++ の制御ブロックは {} で囲む。

if 構文

ifelse ifelse による条件文は次のように使う。

#include <iostream>

int main() {
    int a = 2;
    if (a == 1) {
        std::cout << "a is 1." << std::endl;
    } else if (a == 2) {
        std::cout << "a is 2." << std::endl;
    } else {
        std::cout << "a is not 1 or 2." << std::endl;
    }

    return 0;
}

for 構文

for 文は、あらかじめ範囲が与えられ、その範囲内で処理を繰り返すループ構文である。

#include <iostream>

int main() {
    for (int i = 0; i < 5; i++) {
        std::cout << "i = " << i << std::endl;
    }

    return 0;
}

while 構文

while 文は、判断条件が真である限り、ループを繰り返す。

#include <iostream>

int main() {
    int i = 0;
    
    while (i < 5) {
        std::cout << "i = " << i << std::endl;
        i++;
    }

    return 0;
}

while 構文と似ている構文として do while がある。while は、条件を判断してから while ブロック内の処理を行うのに対して、do while はいったんブロック内の処理を行ってから条件判断を行う。

#include <iostream>

int main() {
    int i = 0;
    
    do {
        std::cout << "i = " << i << std::endl;
        i++;
    } while (i < 5);

    return 0;
}

switch 構文

条件判断において、複数個の条件がある場合、if, else if などを複数個使うのも可能であるが、switch 構文を使うことも可能である。まず、条件判断にかけたい変数を switch 関数に与えて、次に case 文を利用して、その変数が取りうる値を書いて、分岐処理を行う。最後にどの条件もヒットしなかった場合は、default で処理する。

#include <iostream>

int main() {
    int a = 2;

    switch(a) {
        case 1:
           std::cout << "a is 1." << std::endl;
        case 2:
           std::cout << "a is 2." << std::endl;
        default:
           std::cout << "a is not 1 or 2." << std::endl;

    }
    
    return 0;
}