본문 바로가기
C++

[C++] 조건문

by arirang_ 2023. 1. 6.

if/else 구문

if() { 
   ... 
}

( ) 안이 참일때 { } 이 실행된다. 

 

int data = 0;
if( 100 && 200) {

    data = 100;
    
}

100 && 200이 참이므로 { } 이 실행된다. 따라서 data는 100이 된다. 

즉 if 문을 실행하면 data는 100이 되고, 실행하지 않은 상태에서 data는 0이다.

 

※ if else문은 사용자의 행동에 따라 수행 결과가 가변적일 때 주로 사용한다. (사용자의 반응에 맞춤) 

 

if else 

if() {

    //참일 경우
   
}else { 

    //거짓일 경우

}

( ) 가 참일 경우 if문이 실행되고 참이 아닐 경우 else문이 실행된다.

 

if .. else if .. else if... else

if () {

    ... 
    
}else if( ){ 
 
 
 }else if( ){
 
 
 
 }else{
   //모든 조건이 다 실패했을 때 마지노선 조건
   //if가 거짓인 경우 수행
 
 
 }

"하나만 걸려라"라는 느낌이다

 

※ 원하는 상황을 만들기 위해서 if와 else if로 연결해서 쓸 것인지, if if 별개의 조건문으로 따로 따로 끊어서 쓸 것인지 

즉, 어떻게 묶어줄 지 조건문을 만들기 전에 잘 생각해 봐야 한다!

 

※ else- 안써도 된다


switch 구문/ 삼항 연산자

- switch 구문은 if문과 굉장히 유사하다.

switch(10)     //int iTest = 10;
{

 case 10:      //if(iTest == 10)
 
    break;
 case 20:      //else if(iTest == 20)
 
    break;
 default:      //if문 else와 유사
 
    break;
   
 }

- if문 보다 코드가 조금 간결하고 모양이 좋은 경우가 있다.

- 상황에 따라서 선호하는 문법을 사용하면 된다!

※ 주의할 점: break는 switch의 중괄호를 벗어나겠다는 의미이다.

    실수로 break를 적어주지 않는다면, break가 나타나기 전까지 수행하고 종료가 될 것이다. 이 부분을 조심해야 한다.

switch(20)
{ 
  case 10: 
     break;
  case 20:
  
  default:
     break;
 }
 
 //default까지 실행하고 종료된다

★ 이를 의도적으로 사용하는 경우도 있기 때문에 문법적 오류가 아니다. 따라서 switch를 빠져나가야 하는 상황에서 break를 잘 써주도록 하자

switch(iTest)
{ 
  case 10:
  case 20:
  case 30:
     //case가 10,20,30일 때 실행되는 공통적인 코드 (공통적으로 똑같은 일을 할 경우)
     break;
  default:
     break;
  }

아 참고로 이 코드를  if-else로 바꿔본다면 다음과 같다.

if( iTest == 10 || iTest == 20 || iTest == 30){

}else{

}

삼항 연산자 ( :? )

- 조건문을 간략하게 사용하고 싶을 때 사용

iTest == 20 ? iTest = 10 : iTest = 200;
//참일 경우 iTest는 10, 거짓일 경우 iTest는 200

이 코드도 if-else문으로 바꿔보면

if(iTest == 20) {
   iTest = 10;
 
 }else{
    iTest = 200;
 }

'C++' 카테고리의 다른 글

[C++] 변수  (0) 2023.02.22
[C++] 비트 연산자  (1) 2023.02.22
7. 논리 연산자  (0) 2023.01.06
6. 증감 연산자  (0) 2023.01.06
5. 산술 연산자  (1) 2023.01.04