본문 바로가기
Software/C++

[C++ 기초] 14. 반복문

by 리미와감자 2023. 3. 23.

반복문

정의

특정 작업을 반복적으로 수행하는 프로그래밍 문법.

ex) for문, while문 do while문 등

 

do while문은 반복을 한 번 실행하고 조건을 검사하는 특징이 있다. 거의 사용해본 적 없음.

규칙

1. 반복문에 사용할 카운터의 값을 초기화해야한다.
2. 반복문을 진행할 것인지 '조건 검사'한다.
3. 반복문 몸체를 수행한다(서술).
4. 카운터의 값을 변화시켜야한다.

 

 

Code : for문

#include <iostream>
#define SIZE 20

using namespace std;

int main() {

    for (int i = 0; i < 5; i++) {

        cout << i << "번째입니다." << endl;
    }
    return 0;
}

 

Code : while문

#include <iostream>
#define SIZE 20

using namespace std;

int main() {

    int i = 0;
    while (i < 5) {

        cout << i << "번째입니다." << endl;
        i++;
    }

    return 0;
}

 

Code : do while문

#include <iostream>
#define SIZE 20

using namespace std;

int main() {

    int i = 0;
     do {

        cout << i << "번째입니다." << endl;
        i++;
     } while (i < 5);

    return 0;
}

 

결과

더보기

0번째입니다.
1번째입니다.
2번째입니다.
3번째입니다.
4번째입니다.

 

 

증가연산자, 감소연산자

정의

증가연산자 : 변수++/++변수

감소연산자 : 변수--/--변수

 

a++는 a를 판단하고 증가시킨다.

++a는 a를 증가시키고 판단한다.

a--는 a를 판단하고 감소시킨다.

--a는 a를 감소시키고 판단한다.

 

Code : 증가연산자

#include <iostream>
#define SIZE 20

using namespace std;

int main() {

    //증가 연산자, 감소 연산자
    int a = 10;
    int b = 10;

    cout << "a는 " << a << ", b는 " << b << endl;
    cout << "a++는 " << a++ << endl;
    cout << "++b는 " << ++b << endl;
    cout << "a는 " << a << ", b는 " << b << endl; // 결국 a, b 둘 다 11이 된다

    // a++는 a를 판단하고 증가시킨다.
    // ++b는 b를 증가시키고 판단한다.

    return 0;
}

결과

더보기

a는 10, b는 10
a++는 10
++b는 11
a는 11, b는 11

 

 

 

반복문 활용

 

Code : 배열 기반 반복문

#include <iostream>
#define SIZE 20

using namespace std;

int main() {

    // 배열 기반 반복문
    int a[7] = { 1,3,5,7,9 };
    for (int i = 0; i < 5; i++) {
        cout << a[i];
    }
    cout << "\n";

    for (int i : a) { // 초기화되지 않은 값까지 출력할 수 있으므로 주의
        cout << i;
    }

}

결과

더보기

13579
1357900

 

Code : 중첩 반복문

#include <iostream>
#define SIZE 20

using namespace std;

int main() {

    // 중첩 반복문 : 2차원 배열
    int temp[4][5] =
    {
        {1, 2, 3, 4, 5},
        {11, 22, 33, 44, 55},
        {111, 222, 333, 444, 555},
        {1111, 2222, 3333, 4444, 5555}

    };

    for (int row = 0; row < 4; row++) {
        for (int col = 0; col < 5; col++) {
            cout << temp[row][col] << " ";
        }
        cout << "\n";
    }

}

결과

더보기

1 2 3 4 5
11 22 33 44 55
111 222 333 444 555
1111 2222 3333 4444 5555

댓글