프로그래밍 기본지식 4탄 (제어문 1탄)

최주영·2022년 12월 3일
0

C언어

목록 보기
4/15
post-thumbnail
  • 제어문
    C 프로그램은 절차적 프로그램(procedural program) 또는 명령형 프로그램(Imperative program)에 속한다.
    C 프로그램에는 많은 명령문이 포함되어 있으며, 이 명령문은 처음부터 끝까지 순서대로 실행된다. 따라서 원하는 결과를 얻기 위해서는 프로그램의 순차적인 흐름을 제어해야만 한다.
    이때 사용하는 명령문을 제어문이라고 하며, 이러한 제어문에는 조건문, 반복문 등이 있다.
    제어문에 속하는 명령문들은 중괄호({})로 둘러싸여 있으며, 이러한 중괄호 영역을 블록(block)이라고 한다.

✅ (조건문) if문

  • if 문은 조건식의 결과가 참(true)이면 주어진 명령문을 실행하며, 거짓(false)이면 아무것도 실행하지 않는다.

  • if 문 문법

#include <stdio.h>
 
int main(void)
{
  if (조건식) 
 {
    조건식의 결과가 참일 때 실행하고자 하는 명령문;
 }
  return 0;
}

위의 코드에서 블록에 속한 명령문은 중괄호({})를 기준으로 오른쪽으로 들여쓰기가 되어 있는 것을 볼 수 있다. 이처럼 들여쓰기를 통해 코드의 가독성을 높이는 것을 인덴트(indent)라고 하며, 될 수 있으면 모든 코드를 인덴트하는 것이 좋다.

  • 순서도

✅ (조건문) if / else문

  • if / else 문
    if 문과 함께 사용하는 else 문은 if 문과는 반대로 주어진 조건식의 결과가 거짓(false)이면 주어진 명령문을 실행한다.

  • if / else 문 문법

#include <stdio.h>
 
int main(void)
{
  if (조건식) 
 {
    조건식의 결과가 참일 때 실행하고자 하는 명령문;
 } 
 else 
 {
    조건식의 결과가 거짓일 때 실행하고자 하는 명령문;
 }
  return 0;
}
  • 순서도

✅ (조건문) if / else if / else 문

  • if / else if / else 문
    else if 문은 if 문처럼 조건식을 가질 수 있기 때문에 중첩된 if 문을 좀 더 간결하게 표현할 수 있도록 해준다.
    하나의 조건문 안에서 if 문과 else 문은 단 한 번만 사용될 수 있다.
    하지만 else if 문은 여러 번 사용될 수 있어서 복잡한 조건도 표현할 수 있다.

  • if / else if / else 문 문법

#include <stdio.h>
 
int main(void)
{
  if (조건식1) 
 {
    조건식1의 결과가 참일 때 실행하고자 하는 명령문;
 } 
  else if (조건식2) 
 {
    조건식2의 결과가 참일 때 실행하고자 하는 명령문;
 } 
  else 
 {
    조건식1의 결과도 거짓이고, 조건식2의 결과도 거짓일 때 실행하고자 하는 명령문;
 }
  return 0;
}
  • 순서도

✅ (조건문) switch ~ case 문

  • switch ~ case 문
    주어진 조건식의 값에 따라 여러 개의 명령문 중에서 어느 특정한 명령문만을 실행
    하고자 할 때 switch ~ case 문을 사용

  • switch ~ case 문 문법

#include <stdio.h>
 
int main(void)
{
  switch ( 정수식 또는 정수형 변수 )
   {
	case 상수값 1 :  명령문1 ;  break ;
	case 상수값 2 :  명령문2 ;  break ;
	case 상수값 n :  명령문n ;  break ;
	default :  명령문 n + 1 ;
   }
  return 0;
}

괄호 안의 정수식이나 정수형 변수를 평가하여 그 결과가 case 다음의 값들과 일치
하는 것이 있으면 해당하는 case 에 있는 명령문들을 수행하고 break 문을 만나면
switch ~ case 문을 벗어난다. 일치하는 case 문이 없을 경우에는 default 문의 명령문을
실행하며 , default 문이 없을 경우에는 switch ~ case 문을 벗어난다.

  • switch ~ case 문 예시
#include <stdio.h>
 
int main(void)
{
  int   score ;
  char  grade ;

  printf ( " SCORE => " ) ;
  scanf ( " %d " , &score ) ;

  switch ( score / 10 )
   {
	case 10 :
	case 9 :  grade = 'A' ;  break ; // score가 90점 이상의 경우 A 출력
	case 8 :  grade = 'B' ;  break ; // score가 90점 미만 80점 이상인 경우 B 출력
	case 7 :  grade = 'C' ;  break ; // score가 80점 미만 70점 이상인 경우 C 출력 
	case 6 :  grade = 'D' ;  break ; // score가 70점 미만 60점 이상의 경우 D 출ㄹ겨
	default :  grade = 'F' ;  // 60점 미만의 경우 F 출력
  }
  return 0;
}
profile
우측 상단 햇님모양 클릭하셔서 무조건 야간모드로 봐주세요!!

0개의 댓글