프로그래밍/C++

분기문 (if, switch, goto, while)

FORHAPPy 2021. 9. 10. 03:33

<1> goto

원하는 코드 위치로 간다. 논리란 없다. 따라서 사용을 제한하기도 한다.

잘못하면 코드가 꼬여버리기 때문이다.

goto A구간;  (A구간 의 명은 변경 가능 하고, 세미콜론과 함께 쓰인다.)

A구간:  (돌아갈 지점에서는 콜론이 쓰인다.)

 

<2> if

 

if (/*조건식*/) {
 코드블록 : 조건식이 참일 경우에만 실행된다.  조건식이 거짓이라면 여긴 건너 뛰겠다. 
}


1. 조건식이 참일 경우에만 코드블럭안의 조건을 수행한다. 조건식이 거짓일 경우 그냥 건너 뛴다.

2.  if (10 > 20);   if문옆에는 세미콜론을 붙이지 않는다.
3. 만약 if문의 중괄호 안의 내용이 한줄이라면 중괄호 생략 가능하다
4. 중괄호를 생략했다고 하면 그다음에 오는 문장 한줄에 대해서만 if문으로 간주된다.
5. else 의 경우 반드시 if문이 선행되어야 한다. 
6. if와 else 사이에는 그무엇도 올 수 없다. 왜 ? 
7. 만약 중간에 다른 코드가 오게 된다면 if 와 else를 if문에 포함시키지 않는다.  else는 혼자 올수 없으므로 안된다.
8. else 문은 if 및 elseif 에 걸리지 않는 모든 조건을 처리하는 공간이다. 
9. else 하나에 if가 두개의 else는 올 수 없다. 
10. 만약 위에서 조건이 먼저 참이 나오면 그 이후에 있는 else if와 else는 더 이상 검사하지 않는다. 
11. if 문안에 선언을 하면 그냥 거기서 끝이다. 밖에서는 변수로 사용을 할 수 가 없다. 

 

<3>switch 

 

스위치는 정수분기문 혹은 상수분기문이라고도 부른다. 

switch (/*정수*/)
 {
case 1:
case 2:
case 3:
case 4:  케이스문은 n개까지 가능하고, 세미콜론이 아닌 콜론을 쓴다.

이 케이스 문에는 정수이면서 상수인 값이 들어와야 한다. 
어떤 숫자도 상관 없다.  문자도 가능하다. 아스키코드 로 변환하고 char형으로 변수를 선언하면 가능하다.

 }

break; - 가장 가까운 반복문 혹은 스위치문을 빠져나가는 용도로 사용된다.

            break이 없을 경우에는 뒤에 문장들이 전부 실행된다. 

            따라서 같은 조건을 걸고 싶을땐 아래와 같이 표현된다.

return; - 함수 자체를 종료시켜버리는 키워드로 break 이랑 구분해서 써야한다.

case 7:
case 8:
case 9:
case 10:
case 11:
case 12:
case 13:
cout << "잘못누르셨는대요 !? " << endl;
break;   7 ~ 13 case문은  동일하게       "cout << "잘못누르셨는대요 !? " << endl;"     이게 출력된다.
case 14:
case 15:
case 16:
break;  14 ~ 16 case문은 역시 출력 결과물이 같다.


default는 else 와 동일한 역할을 한다.
정해준 case문에 하나도 걸리지 않을때는 default에서 처리가 된다. 

const int PlayerAtt = 1;

 

switch (1) {
case PlayerAtt:
cout << "플레이어가 공격한다!!1" << endl; 
break; 
default:
break;
}

switch (2) {
case 1:
{
int iA = 0;
cout << iA << endl;
}  ---> 이렇게 블럭을 만들어주면 iA 를 선언 할 수 있다. 
break; 
case 2:
int iA; 
iA = 10; 
cout << iA << endl; ---->이런식으로도 가능한데 이상한 문법이기 때문에 안쓰는게 좋다.
break; 
default:
break;
}

 


  char ch = 0; 
  cin >> ch; ----->아스키 코드표에서 변환이 되기 때문에 문자형태도 가능하다. 2를 입력받으면

                          아스키코드표상 50으로 변환되어  "ㅋㅋ"가 출력된다.
  switch (ch)
  {
  case 2:
  cout <<"ㅎㅎ" << endl; 
  break; 
  case 50:
  cout << "ㅋㅋ" << endl;
  break;
  default:
  cout << "??" << endl;
  break;
  }

 

<4>while-- >얜 반복문

반복문. while, do~while, for 
어떠한 조건이 있을때 그 조건이 틀릴때까지 계속 반복하는 문법. 

while (/*조건식*/)
{
코드블록
}

int i = 0; 
int iTotal = 0;
while (i < 5);
{
iTotal += i;
++i;
}
cout << iTotal << endl; 
}

 

결과값 : 1+ 2+ 3+ 4

'프로그래밍 > C++' 카테고리의 다른 글

for문(반복문), size_t  (0) 2021.09.10
while (반복문)  (0) 2021.09.10
증감연산자, 헝가리안 표기법  (0) 2021.09.10
형변환  (0) 2021.09.10
연산자  (0) 2021.09.07