본문 바로가기

Code/C++

[C++] Boolean/IF 구문 / 명령문

 

Boolean Expression

참 거짓을 표현하는 데이터타입 

Special variable type : bool

C++에서

참인 경우 1, 그리고 거짓일 경우 0 으로 표현된다.

 

예시#1

참거짓 판명

 

#include <iostream>

using namespace std;

int main() {

        bool a = true;

        bool b = (10 >= 5);

        bool c = 0.0000000000000001; // 0이 아닌 어떤값도 참으로 인식한다

        cout << a << endl;

        cout << b << endl;

        cout << c << endl;

        return 0;

}

 


if statement 

if-else if-else

: 순차적으로 괄호 안의 조건을 탐색한 다음 참인 부분의 block을 수행한다.

 

수행조건

// 1) 반드시 처음에는 if를 적어준다

// 2) else는 위에있는 모든 조건이 거짓일 경우 자동수행된다(default)

// 3) block안 문장이 하나일 경우 중괄호({})를 생략해도된다

 

예시#2

학점계산기 만들기

 

#include <iostream>

using namespace std;

int main() {

        int score;

        char grade;

        cout << "Enter the score: ";

        cin >> score;

        if (score >= 90) {

               grade = 'A';

        }

        else if (score >= 80) {

               grade = 'B';

        }

        else if (score >= 70) {

               grade = 'C';

        }

        else {

               grade = 'F';

        }

        cout << "Your grade is " << grade << endl;

        return 0;

}

 

Nested if-else

기존의 if statement를 포함한 형태

더 많은 조건을 담을 수 있다.

 

예시#3

학점계산기 만들기 + 0-100점 범위설정

 

#include <iostream>

using namespace std;

int main() {

        int score;

        char grade;

        cout << "Enter the score(0-100): ";

        cin >> score;

        if (score >= 0 && score <= 100) {

               if (score >= 90)

                       grade = 'A';

               else if (score >= 80)

                       grade = 'B';

               else if (score >= 70)

                       grade = 'C';

               else

                       grade = 'F';

               cout << "Your grade is " << grade << endl;

        }

        else {

               cout << "Invalid range" << endl;

        }

        return 0;

}

 

 


 

반복문

컴퓨터의 가장 큰 장점인 끊임없는 계산능력을 활용할 수 있는 데이터타입

 

 

예시#4

1부터 1000까지의 합을 계산

 

int main() {

        int x = 0, i = 1;

        while (i <= 1000) {

               x = x + i;

               cout << i << '\t' << x << endl;

               i++;

        }

        

        return 0;

}

 

예시#5

1부터 1000까지 중 짝수의 합 

 

int main() {

        int x = 0, i = 2; // 2에서 시작한다

        while (i <= 1000) {

               x += i;

               cout << i << '\t' << x << endl;

               i+=2;

        }

        

        return 0;

}

 

 

//while: 괄호안이 참이면 block수행, 끝나면 다시 괄호안 참/거짓 검사

 

예시#6

5*5 행렬만들기

 

 

#include <iostream>

#include<iomanip>

using namespace std;

int main() {

        int row = 1, col = 1;

        while (row <= 5) {

               while (col <= 5) {

                       int val = row * col;

                       cout << setw(4)<<val; // 좀더 깔끔한 형태로 작성 가능하다.

                       col++;

               }

               cout << endl; //1행종료 및 줄바꿈

               row++;

               col = 1;

        }

        return 0;

}

 

예시#7

n*n행렬만들기 + 행과 열이 같을떄 1을 출력

 

#include <iostream>

#include<iomanip>

using namespace std;

int main() {

        int row = 1, col = 1;

        int n;

        cin >> n; // 입력값

        while (row <= n) {

               while (col <= n) {

                       //int val = row * col;

                       //int val = (row > col ? row : col);

                       int val = 0;

                       if (row == col)

                              val = 1;  //행과 열이 같을때만 1출력

                       cout << setw(4)<<val;

                       col++;

               }

               cout << endl; //1행종료 및 줄바꿈

               row++;

               col = 1;

        }

        return 0;

}

 

 

 


해당 자료는 경희대학교 소프트웨어융합학과 배성호교수님 수업내용을 참조하였습니다.