본문 바로가기

프로그래밍 언어들/C

7장 - C언어 조건문(Conditional statement in C)(1)

7장 - C언어 조건문(Conditional statement in C)(1)


조건문이란 하나의 조건에 근거하여 다음에 수행할 처리를 판단하는 실행문입니다.

즉, 정수형 변수 A가 있다고 가정한다면 A의 값에 따라 어떠한 수행을 할 것인지 판단하는 것입니다.

예로 A >= 10 경우, A == 0 일 경우 등등 사용자가 원하는 조건을 자유롭게 사용하여 판단할 수 있습니다.

조건문의 종류로는 if~else, switch~case, 삼항연산자 등이 있습니다.


1. if else문

- 가장 많이 사용되는 조건문

- 사용이 간단하고, 자유로운 수식 표현 가능

- 조건이 참이면 if문을, 거짓이면 else 문을 실행


  1. int main( void)
  2. {
  3.     if( 조건 )
  4.     {
  5.         // 수행 내용 1
  6.     }
  7.     else
  8.     {
  9.         // 수행 내용 2
  10.     }

  11. }


위의 소스코드를 보시면 line.3과 같이 if 안에 조건이 들어갑니다. 그리고 해당 조건이 참일 경우,

아래 중괄호 사이의 "수행 내용 1"을 수행하고 if문이 끝나게 됩니다.(= line.11로 넘어감)

만약 if 안의 조건이 거짓이라면 수행 내용 1을 수행하지 않고, else문 안의 "수행 내용 2"를 수행합니다.


 
  1. int main( void)
  2. {
  3.     int number  = 10;
  4.  
  5.     if( number > 10 )
  6.     {
  7.         printf("10보다 큽니다.\n");
  8.     }
  9.     else
  10.     {
  11.         printf("10보다 작거나 같습니다.\n");
  12.     }
  13. }


위의 예제를 보시면, 정수형 변수 number를 선언하고 10을 입력합니다.

그리고 아래 조건문을 보시면 number의 값이 10보다 클 경우 / 그렇지 않을 경우로 나누어지고 있습니다.

number가 가진 값이 10이기 때문에, 10 > 10 이라는 조건을 기준으로 다음 수행을 판단하게 됩니다.

10 > 10은 거짓이기 때문에 else 문이 실행됩니다.


※ 조건은 자유롭게 표현이 가능합니다. ( 하나 이상의 부등식을 사용 가능 )

ex) (a > 10) && (a < 40) = a가 10~40 사이의 수 일 경우


※ 여러가지 조건을 판단하고 싶은 경우에는 else 문에 다시 if 문을 사용합니다.

 
  1. int main( void)
  2. {
  3.     int number  = 10;
  4.  
  5.     if( number > 10 )
  6.     {
  7.         printf("10보다 큽니다.\n");
  8.     }
  9.     else if( number > 0)
  10.     {
  11.         printf("0보다 큽니다.\n");
  12.     }
  13.     else
  14.     {
  15.         printf("0보다 작습니다.\n");
  16.     }
  17. }


처음 if문에서는 number가 10보다 큰 수 인지 판단하고, 거짓이면 line.9의 else 문으로 넘어갑니다.

그런데 else 문에서 다시 number가 0보다 큰 수인지 판단하고, 거짓이면 line.13의 else문으로 넘어가는 식입니다. 이러한 방식으로 하나 이상의 무수히 많인 조건을 지정할 수 있습니다.


2. 실습 문제

(1) 0~100 사이의 정수를 입력받아 90~100 사이면 A, 80~89 사이면 B, 70~79 사이면 C,

60~69 사이면 D, 나머지는 F를 출력하라.

(2) 입력받은 수가 홀수 또는 짝수인지 출력하라.

(3) 세 정수를 입력받아 가장 큰 수를 출력하라.

 

※ 정답은 아래 링크

http://leeyongjeon.tistory.com/category/프로그래밍%20언어들/C%20문제풀이