본문 바로가기
방통대/C프로그래밍

5-1 선택 제어문

by 꿈꾸는 몽나 2024. 3. 18.
728x90

 

프로그램 언어의 제어 구조

-순차적 제어 : 특별한 지정이 없는 한 위에서 아래로 수행되는 제어구조

-선택적 제어 : 주어진 조건에 따라 특정부분으로 수행을 옮기는 분기 제어구조

-반복적 제어 : 특정 부분을 일정한 횟수만큼 반복 수행하는 반복 제어구조

 

 

 

선택 제어문

-if문

1) 단순 if문(단순제어)

 

형식 1)

if(조건)
  명령문 1;
  명령문 2;

 

형식 2)

if(조건) {
  명령문 1;
  ...
  명령문 n;
  }

 

 

-단순 if문의 조건에 따른 분기

 

 

ex)

// if문이 조건을 만족하지 않으므로 중괄호 밖의 명령문을 수행한다.

// 출력 : b=40

 

 

 

2) if ~ else문

if(조건)
   명령문 1;
else
   명령문 2;

 

-기능 : 주어진 조건이 참일 때는 명령문 1을, 거짓일 때는 명령문 2를 수행한다.

 

 

-if ~ else 문의 조건에 따른 분기

 

 

ex)

 

 

 

3) 다중 if ~ else문

if(조건 1)
  if(조건 2)
     명령문 1;
  else
     명령문 2;
 else
   명령문 3;

-기능 : 조건 1과 조건 2가 참일 때 명령문 1을, 조건 1이 참이고 조건 2가 거짓일 때는 명령문 2를, 조건 1이 거짓일 경우는 명령문 3을 수행한다.

 

 

-다중 if ~ else문의 조건에 따른 분기

 

 

 

ex)

 

 

10을 입력했을 때의 출력 값)

 

 

 

 

 

4) 다중 if ~ else if ~ else문

-기능 : 조건 1이 참이면 명령문 1을 수행하고, 거짓이면 조건 2를 검사하여 참이면 명령문 2를 수행하고, 거짓이면 조건 3을 검사하여 참이면 명령문 3을 수행하고, 거짓이면 명령문 4를 수행한다.

 

 

-다중 if ~ else if ~ else 문의 조건에 따른 분기

 

 

ex)

 

 

성적 80을 입력했을 때의 출력 값)

 

 

 

-switch ~ case문

-기능 : 주어진 값에 따라 여러 곳 중 한 곳으로 분기하여 실행

 

 

- switch ~ case 문의 처리 순서도

 

 

예시(break문 미사용))

// switch(n%5) : 입력된 수를 5로 나누어 그 나머지에 해당되는 경우로 분기

// case들 : 나머지 값에 해당되는 각 경우를 설정

 

 

출력)

// 나머지가 0이므로 case 0에 해당되는 경우만 실행되어야 하나 break가 없어서 모든 경우가 실행 됨.

 

 

 

break문 사용 예시)

 

 

출력)

 

 

 

-goto문(무조건 분기)

-기능 : 프로그램 수행 도중에 원하는 곳으로 제어를 무조건적으로 옮긴다.

 

 

ex)

// goto end; : 레이블 명 end로 무조건 실행을 옮김

 

 

 

출력)

 

 

 

-goto문이 사용될 수 없는 경우

// 레이블이 특정 문장 범위 안에 들어있을 경우(괄호 밖에서 괄호 안으로 들어갈 수 없다.)

 

 

// goto가 괄호 밖을 나가는 것은 가능하지만 레이블명의 괄호 안으로 들어갈 수 없다.

 

728x90

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

5-3 기타 제어문  (0) 2024.03.18
5-2 반복 제어문  (0) 2024.03.18
4-9 연산자 우선순위  (0) 2024.03.11
4-8 기타 연산자  (0) 2024.03.11
4-7 비트 연산자  (0) 2024.03.11