728x90

1. if, else if, if 조건문

#include <iostream>
using namespace std;

int main(){
    //분기 구문: if & switch
    /*if(조건)
     *  코드*/
    if (true) {
        cout << "참";
        cout << "입니다." << endl; }
    if (false)
        cout << "거짓" << endl;

    // if - else if - else 구문은 하나의 덩어리로 인식함
    if (false)
        cout << "거짓" << endl;
    else {
    cout << "참이라구요~!" << endl;}

    // if 하나에 else 여러 개 가능
    // 이때 else: 앞단 것의 차집합이 연쇄로 계산됨
    // 양끝 말고는 else if를 사용하는 게 더 나을 듯.
    
    cout << "종료됨" << endl;
    /*
    참입니다.
    참이라구요~!종료됨*/
    
    }

2. 논리연산자

#include <iostream>
using namespace std;

int main(){

    /*논리 표현식: 논리합, 논리곱, 논리부정 연산자*/
    //논리합(or): 좌항 || 우항
    //논리곱(and): 좌항 && 우항
    //논리부정 연산자: !(표현식)
        //e.g. !(True) => False
    cout << "당신의 나이는?" << endl;
    int age;
    cin >> age;
    if (age<0 || age>100)
        cout << "거짓말 마세요!" << endl;
    else if (age>=20 && age<30)
        cout << "20대시군요!" << endl;
    else
        cout << "당신의 나이를 모르겠어요."<< endl;
}

3. switch, break, continue

#include <iostream>
using namespace std;

int main(){
    /*switch 구문*/
    //선택할 수 있는 경우의 수가 3개 이상으로 넘어가면, if-else보다 switch 구문이 훨씬 효율적.!
//    integer-expression에 해당하는 값의 case로 이동 -> 해당 값에 있는 코드가 실행됨
//    e.g.
//     switch (integer-expression) {
//        case label1:
//            code1 / break;
//        case label2:
//            code2 / break;
//     ... }
    int a;
    cin >> a;
    switch(a){
        case 1:
            cout << "1\n";
            break; //switch 구문을 바로 종료시킴 //*break* 는 모든 반복문에서 사용 가능
        case 2:
            cout << "2\n";
            continue; //이하 코드를 무시하고, 다음 loop를 돈다 //*continue* 는 반복문에서만 사용가능하다
        case 3:
            cout << "3\n";
            break;
        default:
            cout << "case 이외의 수를 입력하셨습니다.\n";
    }
    cout << "switch 구문이 끝났습니다.";
    //지정한 case 이외의 경우는,
    //default 지정 시 해당 구문이 실행되거나, 그렇지 않을 경우 별다른 실행 없이 종료됨.

}

4. 예제

#공백 제외한 글자 수 세기

#include <iostream>
using namespace std;
const int SIZE = 30;

int main(){
    char line[SIZE]; //문자 배열, string의 끝에는 개행문자 \0가 포함돼있음
    cin.get(line, SIZE); //get을 통해 입력 받기

    int word_cnt = 0;
    for(int i = 0; line[i]!='\0'; i++){
        if(line[i]==' ')
            continue;
        word_cnt++;
    };

    cout << "공백 제외 총 글자 수는 " << word_cnt <<"입니다~";
    //영어로 하니까 괜찮은데 한글은 개수 처리가 애매하다, 다른 설정이 필요한 듯.

}

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

728x90

+ Recent posts