C++ if, switch 구문, 삼항 연산자

김진우·2022년 4월 26일
0
post-thumbnail

비교 연산자는 여러가지가 있습니다.

비교 연산자 : ==, !=, <, <=, >, >=

== : 피연산자와 같다.
!= : 결과값의 반대값을 반환한다.
< : 피연산자 보다 크다
<= : 피연산자 보다 크거나 같다
">" : 피연산자 보다 작다
">=" : 피연산자 보다 작거나 같다

">"나 ">="는 velog 에디터에서 박스로 변환되어 ""가 붙습니다. 오해 없길 바랍니다.

비교 연산자는 피연산자와 비교하여 bool을 반환합니다.

	int data = 100;
    data == 1 // true

if 문

if과 switch는 참과 거짓을 판별하여 블록안에 코드를 실행 시키는 구문 입니다.


	bool IsTrue = true;
	if(data) // true일 경우
    {
    	data = 1;
    } 
    else 
    {
    	data = 0; false일 경우
    }
    
    // data = 1

if( 조건 ) 으로 작성하며 if 안에 조건이 true 이나 false이냐에 따라
if 블록안에 코드를 실행하거나 else 블록안에 코드를 실행합니다.


if문은 else와 else if으로 조건을 확장할 수 있습니다.

	bool IsTrue = true;
	bool IsFalse = false;
    int data = 0;
    
    if( IsFalse ) 
    {
    	data = 1;
    }
    else if( IsFalse )
    {
    	data = 2;
    }
    else if ( IsFalse )
    {
		data = 3;
	}
    else
    {
    	data = 4;
    }
    
    data == 4 // true

마지막 else의 경우 모든 조건문이 false일 경우 마지막으로 실행 됩니다.

	bool IsTrue = true;
	bool IsFalse = false;
    int data = 0;
    
    if( IsFalse ) 
    {
    	data = 1;
    }
    else if( IsFalse )
    {
    	data = 2;
    }
    else if ( IsTrue )
    {
		data = 3;
	}
    else
    {
    	data = 4;
    }
    
    data == 3 // true

if문은 위에서 아래로 작동합니다. 위에서 true가 반환됐다면,
아래의 if이나 else문들은 실행 시키지 않습니다.
또한 else는 모든 조건문들이 만족하지 않았을 때 실행되는 구문 입니다.
따라서, if문의 순서와 반드시 실행되는 else의 특징들을 참고하여 코드를 작성하셔야 합니다.

마지막으로 작성하는 else는 작성하지 않아도 됩니다.

switch

switch문은 if문과 비슷합니다. 차이점은 동작방식이 다릅니다.
switch와 if문은 프로그래머의 선호도에 따라서 사용되곤 합니다.
저는 조건이 많이 필요한 경우라면 가독성을 위해 switch문을 씁니다.

	int num = 10;
	switch (num)
    	case 10 :
        
        	break;
        case 20 :
        
        	break;
        default :
        
         	break;

switch는 조건이 만족해도 아래의 구문들을 실행합니다.
따라서 의도가 없다면 switch문을 탈출하는 break 코드를 작성해야 합니다.


break; 코드가 없는 경우에 대한 예시를 아래 코드를 통해 살펴봅시다.

	int num = 10;
	switch (num)
    	case 10 :
        	num = 1;
        	
        case 20 :
        	num = 2;
        	break;
        default :
        	num = 3;
         	break;
	
    num == 1 // false
    num == 3 // true

case 10 에서 break 하지 못해 defaul에 코드를 실행시켜 원래의 의도대로 작동하지 못했습니다.

break를 빼먹지 않도록 주의 해야합니다.

삼항 연산자

삼항 연산자는 if문을 간략하게 표현할 수 있습니다.

	int num = 20;
    
    num == 20 ? num = 100 : num = 200;
    num == 100; // true 
    
    num = 10;
    
    num == 20 ? num = 100 : num = 200;
    num == 100; // true 

if문으로 코드를 작성했을 때를 봅시다.

	int num = 20;
    
    if( num == 20 )
   	{
    	num = 100;
    } else {
    	num = 200;
    }

이처럼 삼항연산자는 코드의 길이를 줄일 수 있습니다.
다만 조건이 많다면 삼항연산자로는 표현할 수 없습니다.

profile
zz1212100@gmail.com

0개의 댓글