[정보처리산업기사] 46강 제어문
1. 제어문의 개념
컴퓨터 프로그램은 명령어가 서술된 순서에 따라 무조건 위에서 아래로 실행되는데, 조건을 지정해서 진행 순서를 변경할 수 있다. 이렇게 프로그램의 순서를 변경할 때 사용하는 명령문을 제어문이라고 한다.
– 제어문의 종류 : if문, 다중 if문, switch문, goto, 반복문 등이 있다.

2. 단순 if문
if문은 조건에 따라서 실행할 문장을 달리하는 제어문이며, 단순 if문은 조건이 한 개 일 때 사용하는 제어문이다.
– 조건이 참일 때만 실행할 문장을 지정할 수도 있고, 참과 거짓에 대해 각각 다른 실행문을 지
정할 수도 있다.
형식 1
- 조건이 참일 때만 실행한다.
 
  if (조건)  
    실행할 문장;
- 조건이 참일 때 실행할 문장이 하나인 경우
- 참(1) 또는 거짓(0)이 결과로 나올 수 있는 수식을 조건에 입력한다.
 - 조건이 참일 경우 실행할 문장을 입력한다.
 
 
if (조건) {  
    실행할 문장 1;  
    실행할 문장 2;  
    ...  
}
- 조건이 참일 때 실행할 문장이 두 문장 이상인 경우
- { } 사이에 조건이 참일 경우 실행할 문장을 입력한다.
 
 
형식 2
- 조건이 참일 때과 거짓일 때 실행할 문장이 다르다.
 
  if (조건)
    실행할 문장 1;
  else
    실행할 문장 2;
- 조건이 참일 경우 실행할 문장을 문장 1에 입력한다. 실행할 문장이 두 문장 이상인 경우 { } 사이에 문장을 입력한다.
 - 조건이 거짓일 경우 실행할 문장을 문장 2에 입력한다.
 
3. 다중 if문
다중 if문은 조건이 여러 개 일 때 사용하는 제어문이다.
형식 1
  if (조건 1)
    실행할 문장 1;
  else if (조건 2)
    실행할 문장 2;
  else if (조건 3)
    실행할 문장 3;
    ...
  else
    실행할 문장 4;
- 조건이 참일 경우 실행할 문장을 입력한다.
 - else 문에는 앞의 조건이 모두 거짓일 경우 실행할 문장을 입력한다.
 
형식 2
- if문 안에 if문이 포함된다.
 
  if (조건 1)
  {
    if (조건 2)
      실행할 문장 1;
    else
      실행할 문장 2;
  }
  else
    실행할 문장 3;
4. switch문
switch문은 조건에 따라 분기할 곳이 여러 곳인 경우 간단하게 처리할 수 있는 제어문이다.
형식
  switch(수식)
  {
    case 레이블 1 :
      실행할 문장 1;
      break;
    case 레이블 2 :
      실행할 문장 2;
      break;
      ...
    default :
      실행할 문장 3;
  }
- 수식에는 ‘레이블1’ ~ ‘레이블n’ 의 값 중 하나를 도출하는 변수 또는 수식을 입력한다.
 - 수식의 결과가 레이블n 과 일치할 때 실행할 문장n 을 입력한다.
 - 수식의 결과가 ‘레이블1’ ~ ‘레이블n’ 에 해당하지 않는 경우 default 문장을 실행한다.
 
규칙
- case 문의 레이블에는 한 개의 상수만 지정할 수 있으며, int, char, enum 형의 상수만 가능하다.
 - case 문의 레이블에는 변수를 지정할 수 없다.
 - break 문은 생략이 가능하지만, break 문이 생략되면 수식과 레이블이 일치할 때 실행할 문장부터 break 문 또는 switch 문이 종료될 때 까지 모든 문장이 실행된다.
 - default 는 가장 마지막에 사용되어 다음 문장에서 바로 종료되기 때문에 break 를 사용하지 않아도 된다.
 
5. goto문
goto 문은 프로그램 실행 중 현재 위치에서 원하는 다른 문장으로 건너뛰어 수행을 계속 하기 위해 사용하는 제어문이다.
- goto 문은 원하는 문장으로 쉽게 이동할 수 있지만, 많이 사용하면 프로그램의 이해와 유지보수가 어려워져 거의 사용하지 않는다.
 
형식
  goto 레이블;
    ...
  레이블 :
    실행할 문장
- 레이블명은 사용자가 원하는 이름을 임의로 지정할 수 있다.
 
예제
#include <stdio.h>
main() {
  int a;
again:
  scanf("%d", &a);
  if (a <= 10)
    goto again;
  else
    printf("%d 는 10 보다 큽니다.", a);
}
- 4 : 
again이라는 레이블의 goto 주소이다. - 7 : if 문의 조건이 참일 경우 ‘again’ 레이블로 이동한다.
 
Author And Source
이 문제에 관하여([정보처리산업기사] 46강 제어문), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@donghoim/정보처리산업기사-46강-제어문저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
                                
                                
                                
                                
                                
                                우수한 개발자 콘텐츠 발견에 전념
                                (Collection and Share based on the CC Protocol.)