일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 다이렉트X
- vertex
- 다이렉트X 튜토리얼
- 동기화
- c
- CommandList
- 다중표본화
- 다이렉트 초기화
- C++
- Direct3D Init
- UE4
- RenderTargetView
- DESC
- 세팅
- 게임수학
- swapchain
- 코딩
- DirectX12
- 전처리문
- DirectX
- Direct Init
- Direct3D
- DirectXTK
- GPU
- View
- CPU
- C언어
- 프로그래밍
- engine
- Input Assembler
- Today
- Total
비타Cpp
조건문 if, if ~ else if ~ else 본문
앞에서 변수에 대해서 알아봤습니다.
하지만 이런 숫자 말고도 문자와 참, 거짓 도 컴퓨터는 표현할 수 있습니다.
그중에서 참, 거짓 이란 Boolean값이라고 하는데 C언어에는 따로 정의된 타입은 아니지만,
그래도 개념 자체는 있어서 #define으로 TRUE, FALSE가 정수 값으로 정의되어 있습니다.
C++부터는 정식으로 bool이라는 타입명으로 취급됩니다.
일단 참이면 1, 거짓이면 0으로 취급하고 있지만 0을 제외한 모든 정수 값은 TRUE로 취급됩니다.
이러한 bool값들은 바로 조건문에서 쓰이게 됩니다.
조건문은 if문과 switch이 있는데 먼저 if문에 대해서 알아보겠습니다.
if문의 사용 방법은
if(조건식 1)
{
실행문 1
}
else if(조건식 2)
{
실행문 2
}
else
{
실행문 3
}
이러한 형태로 사용됩니다.
( ) 괄호 안에 있는 조건식이 TRUE(참)이면 실행문을 실행하고, FALSE(거짓)라면 실행문을 무시하고 {} 중괄호를 벗어나 다음 코드를 실행하게 됩니다.
그런데 조건식 1을 검사했을 때 만약 FASLE였다면 그다음 코드를 실행하게 되는데, else if라는 녀석을 만나게 되면 앞에서 지나온 조건식 1에 이어서 조건식 2를 검사하게 됩니다. 그리고 조건식 1, 조건식 2가 모두 FALSE라면 이 둘을 제외한 나머지 경우라는 의미의 else의 실행문 3이 실행됩니다.
말로는 어려울 수 있으니 직접 코드로 실행해 보겠습니다.
간단하게 점수를 절대평가로 등급을 매기는 코드를 짜 보겠습니다.
int main()
{
int score;
score = 60;
if (score >= 90)
{
printf("A학점");
}
else if (score >= 80)
{
printf("B학점");
}
else if (score >= 60)
{
printf("C학점");
}
else if (score >= 40)
{
printf("D학점");
}
else
{
printf("E학점");
}
return 0;
}
이런 식으로 짜 보면 현재 Score의 점수에 따라 if안의 조건식이 나눠지게 됩니다.
60점이므로 3번째 조건문에 해당하게 되고 C학점이 콘솔 창에 출력되게 됩니다.
만약 score의 값을 100점으로 바꾸면 제일 첫 조건에서 만족하므로 A학점만 출력되고 프로그램이 종료됩니다.
이런 식으로 조건문 if를 사용해 어떤 상황 일 때는 특정 작업이 이루어지도록 코드를 설계하는 것이 가능하게 됩니다.
if문의 간단한 기본 사용 방법도 알았으니,
if문으로 간단하게 가위 바위 보 게임도 만들어 볼 건데요.
그러기 위해서는 콘솔 창에서 출력만 하는 것이 아닌 사용자가 키보드로 입력하는 값을 컴퓨터가 읽어 들일 수 있어야 합니다.
이러한 방법은 다음 글에서 가위바위보 만들기와 같이 설명하겠습니다.
'C,C++' 카테고리의 다른 글
조건문 switch (0) | 2020.04.22 |
---|---|
조건문 if, if ~ else if ~ else 가위 바위 보 게임 (0) | 2020.04.21 |
C의 기본타입들..(2) (0) | 2019.11.26 |
C의 기본 타입들..(1) (0) | 2019.11.11 |
변수(Variable)와 상수(Constant) - (2) (0) | 2019.10.28 |