brunch

You can make anything
by writing

C.S.Lewis

by Moai Sep 18. 2020

C++ if문

이 수는 양수인가 음수인가?

순서도에서 다이아몬드는 조건에 따라 흐름을 어디로 갈지 결정하는 기호이다. 이것을 조건 분기라고 부른다. 프로그래밍이란 결국 순서도를 코드로 표현하는 것인데 그러면 조건 분기는 어떻게 코드로 표현할 수 있을까?



if문을 이용해서 표현할 수 있다.

if (조건문) {

    조건이 참일 경우 실행되는 코드

}


여기서 조건문은 비교를 통해 조건이 참인지 거짓인지 결정하는 결정하는 구문이다.

예를 들어 a = 10 일 때 a < 11은 참일까 거짓일까? 10<11이므로 참이다. 코드로 표현해보자.


int a = 10;

if (a < 11) {

    cout << "참" << endl;

}


같다== 기호로 표현하면 된다.

int a = 10;

if (a  == 10) {

    cout << "참" << endl;

}


다르다!= 기호로 표현한다. 프로그래밍 언어에서 !는 부정을 의미한다.

int a = 10;

if (a != 5) {

    cout << "참" << endl;

}


크거나 같다 또는 작거나 같다<= 또는  >= 로 표현한다. 꺽쇠와 등호 순서가 바뀌면 안 된다.


int a = 10;

if (a <= 10) {

    cout << "참" << endl;

}


a가 3보는 크고 5보다는 작다는 것을 어떻게 표현할까? 2개의 조건이 참임을 표현할 때는 &&를 이용하면 된다.


int a = 4;

if (a > 3 && a<5) {

     cout << "참" << endl;

}


a가 3보다 크거나 -3보다 작다는 것은 어떻게 표현할까? 2개의 조건 중 하나가 참이기만 할 때는 || 를 이용하면 된다. 이 기호를 파이프라고 부르는데 키보드 } 오른쪽에 있다.


int a = 4;

if (a > 3 || a<-3) {

     cout << "참" << endl;

}




자 여기서는 조건이 참일 경우에만 표현했다. 그렇다면 참이 아닐 때는 코드를 실행하고 싶다면 어떻게 해야 할까? 이때는 else 구문을 이용하면 된다.


int a = 10;

if (a > 10) {

    cout << "출력 안 됨" << endl;

} else {

    cout << "출력됨" << endl;

}


a는 10이니까 else구문 안에 있는 "출력됨"을 출력할 것이다.


마지막으로 조건이 여러 개일 경우는 어떻게 해야 할까? 이 때는 if문과 else문 사이에 else if문을 넣으면 된다.


int a = 10;

if (a > 0) {

    cout << "양수" << endl;

} else if (a == 0) {

    cout << "0" << endl;

} else {

    cout << 음수 << endl;

}

매거진의 이전글 C++ for문
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari