728x90

0. 증가/감소 연산자

/*잠깐
     * - 증가연산자
     * - 감소연산자
     * => 반복문의 카운터에 구현하면 유리함*/

    int a = 10;
    int b = 10;
    cout << "a는 " << a << " b는 " << b << endl;
    cout << "a++는 " << a++ << endl; //변수의 값을 판단한 후 증가시킴 -> 10 출력
    cout << "++b는 " << ++b << endl; //증가시킨 후 변수의 값 판단 -> 11 출력
    cout << "다시 a는 " << a << endl; //11

    for(int j = 5; j>0; j--){ //부등식은 관계표현식의 일종
        cout << j << endl;
    }

1. 반복문 for

#include <iostream>
using namespace std;

int main(){
    /*반복문 for*/
    for(int i = 0; i < 5; i++) {
        cout << i << "번째" << endl;
    }
    /*반복문의 네 가지 규칙
     * 1. 반복문에 사용할 카운터(반복 횟수에 대한 변수)의 값을 초기화 (여기서 i=0)
     * 2. 반복문을 진행할 것인지 '조건 검사' (여기서 i < 5)
     * 3. 반복문 몸체를 수행
     * 4. 카운터의 값을 변화시킴(여기서 i++) */}

 

2. 반복문 while, do while

#include <iostream>
using namespace std;

int main(){
    /*반복문 while
     * while(조건) {카운터변화}
     * 조건에 true나 false와 같은 bool형도 들어갈 수 있음
     * while로 짠 것을 for문으로도 짤 수 있고, vice versa, 둘 사이 복잡도 차이도 없음
     * 단, while문은 bool데이터만으로, 관계표현식 없이도, 실행할 수 있음
     * 또한, for문은 카운터 초기화, 카운터 변화 모두 for문 행에서 한꺼번에 정의할 수 있는데
     * while문은 카운터 초기화를 while문 바깥에서 미리 선언해야 하며, 이는 while문을 벗어나서도 해당 변수를 사용할 수 있음을 의미.
     *
     */

    int k = 0;
    while (k<3) {
        cout<<k<<"번째"<<endl;
        k++; //while문 내부에 반드시 '카운터변화' 행을 포함해야 함
    }

    string str = "panda"; //string은 명시적으로 개행문자'\0'를 포함
    int l = 0;
    while (str[l] != '\0'){
        cout << str[l] << endl;
        l++;
    }

    //일반 while문: 조건 검사 후 -> 반복 실행
    //do while문: 반복을 실행 후 -> 조건 검사 //따라서 어떤 조건이든 최소한 1회는 실행 됨
    int m = 0;
    do{
        cout << "while문 입니다.\n";
        m++;
    } while (m < 3);
}

3. 예제

3-1. 배열과 반복문

#include <iostream>
using namespace std;

int main(){
   /*배열 기반 반복문*/

    int a[10] = {1, 3, 5, 7, 9};

    //1: index로 배열 원소 접근
    for (int i = 0; i<5; i++){
        cout << a[i];
    } //13579
    cout << "\n";

    //2: 배열 자체로 원소 접근 //for (int 원소: 배열 이름) {}
    //간결하지만, 실제 원소 개수보다 선언한 원소 개수가 많을 경우, 0으로 채워져 선언한 만큼 출력됨
    for (int k : a) {
        cout << k;
    } //1357900000


}

3-2. 중첩 Loop

#include <iostream>
using namespace std;

int main(){
   /*중첩루프
    * 2차원 배열에서 많이 활용됨*/

   int temp[4][5] = {
           {1,2,3,4,5},
           {11,22,33,44,55}

   }; // 배열[행개수][열개수]
   // 2차원 배열 생성 시 {{}}의 이중 중첩 활용 & 행 간 콤마로 연결

   for (int row = 0; row < 4; row++) {
       for (int col = 0; col < 5; col++) {
           cout << temp[row][col] << " ";
       } cout << endl;
   }
/*
1 2 3 4 5 
11 22 33 44 55 
0 0 0 0 0 
0 0 0 0 0 */

reference:https://inf.run/4ttD

728x90

+ Recent posts