본문 바로가기

강의자료/C/C++

005. 코드의 분기를 위한 조건문 if/else

◈ 이 글은 강의를 위하여 제가 직접 작성한 내용입니다. 따라서 퍼가실 경우, 출처를 명확히 해주시기 바랍니다!!
◈ This ariticle was written by me for teaching. So if you want to copy this article, please clarify the source!!


조건문은 프로그래밍 코드에 분기점(선택지)을 만들어내는 명령어이다.
#include 
using namespace std;

void main()
{
	// bool형 변수 : true, false만을 가지는 변수.
	// false == 0
	// true == 1
	// 0은 false
	// 0이 아닌 모든 수는 true
	// 즉, 0이 아닌 모든 수는 1로 변환된다.
	bool test = 256;
	int tmp = test;
	cout << tmp << endl;

	if(test)
	{
		cout << "참이다." << endl;
	}
	else
	{
		cout << "거짓이다." << endl;
	}
	//////////////////////////////////////////////////////////////////////////

	int num = 5;
	bool isOdd;		// true / false

	if(num%2 == 0)
	{
		cout << "짝수다." << endl;
	}
	else
	{
		cout << "홀수다." << endl;
	}

	if(num%2 != 0)
	{
		cout << "홀수다." << endl;
	}
	else
	{
		cout << "짝수다." << endl;
	}

	// 논리연산자의 결과는 언제나 1 또는 0이다.
	isOdd = (num%2 != 0);	// true.

	if(isOdd)
	{
		cout << "홀수다." << endl;
	}
	else
	{
		cout << "짝수다." << endl;
	}

	// 논리연산자의 종류.
	// A > B : A가 B보다 크다.
	// A < B : A가 B보다 작다.
	// A >= B : A가 B보다 크거나 같다.
	// A <= B : A가 B보다 작거나 같다.
}
# 연습문제 : 홀수, 짝수 구별하기.
// 사용자로부터 2개의 숫자를 입력받고 그 합을 구한 후 화면에 출력하고
// 그 합이 짝수인지 홀수인지도 화면에 같이 출력하시오.
#include  
using namespace std; 
//if ~ else 
void main( )
{
	int cinput, cppinput;

	printf("C방식의 입력 : ");
	scanf("%d", &cinput);
	printf("당신이 입력한 숫자는 %d 입니다.\n", cinput);

	cout << "C++방식의 입력 : ";
	cin >> cppinput;
	cout << "당신이 입력한 숫자는 " << cppinput << " 입니다." << endl;

	// 연습문제.
	int num1=0, num2=0, sum=0;
	cout << "숫자를 입력하세요 : ";
	cin >> num1;
	cout << "숫자를 입력하세요 : ";
	cin >> num2;
	// 합계를 구한다.
	sum = num1 + num2;
	// 합계를 출력한다.
	cout << num1 << "+" << num2 << " = " << sum << endl;
	//num을 2로 나누었을 때 나머지가 0이 아니라면. 
	if( sum%2!=0 )
	{  
		cout << "숫자" << sum << "은(는) 홀수입니다." << endl;    
	}else
	{
		cout << "숫자" << sum << "은(는) 짝수입니다." << endl;      
	}
}
이번엔 조건문 안의 조건문, if-else구문에 대해서 알아보자.
#include  
using namespace std; 
//if ~ else 
void main( )
{
	int num = 13;

	// num이 10보다 작으면 "10보다 작습니다."
	// num이 10보다 이상이고 20보다 작으면 "10보다 크거나 같고 20보다 작습니다."
	// num이 20보다 크거나 같으면 "20이상입니다."

	if(num < 10)
	{
		cout << "10보다 작습니다." << endl;
	}
	else
	{
		if(num < 20)
		{
			cout << "10보다 크거나 같고 20보다 작습니다." << endl;
		}
		else
		{
			cout << "20이상입니다." << endl;
		}
	}

	if(num < 10)
	{
		cout << "10보다 작습니다." << endl;
	}
	else if(num < 20)
	{
		cout << "10보다 크거나 같고 20보다 작습니다." << endl;
	}
	else
	{
		cout << "20이상입니다." << endl;
	}

}