본문 바로가기
c

07_조건문(if)

by RongBee 2023. 3. 24.

if는 영어로 만약에 라는 뜻이고, C언어에서 조건문을 수행시키기 위한 명령어로 쓰인다.

 

if는 프로그램의 순차적인 상태의 흐름을 바꾸어주는 문장으로 제어문이라고도 한다.

 

 

 

if문을 쓰는 방법은

 

if(논리식) { 참일 때 실행할 명령 };

 

if(논리식)
{
   참일 때 실행할 명령;
}

 

 

if문의 논리식에는 비교 연산자(==, !=, >=, <=)와 논리 연산자(&&, ||)를 많이 쓴다.

 

#include<stdio.h>

int main()
{
   int A = 10;
   
   if(A == 10)
   { 
      printf("첫번째 if문 명령 실행! \n");
      printf("A는 10입니다. \n");
   }
   if(A != 10)
   {
      printf("A는 10이 아닙니다.\n");
      printf("A가 10 아니면 종료\n");
   }
   return 0;
}

 

 

위의 간단한 예제는 A가 10이므로 if(A == 10)안의 문장이 실행될 것이다.

 

그리고 위의 예제에서 if를 두번 썼는데 if와 else if라는 키워드를 사용하여 다른 예제를 살펴보자.

 

 

if (score >= 90) {
    printf("A grade\n");
}
if (score < 90) {
    printf("Not an A grade\n");
}

 

위의 코드는 하나의 조건에 대해 두 가지 동작을 수행해야 할 때 유용하다.

 

점수가 90 이상일 때 "A grade"를 출력하고, 그렇지 않다면 "Not an A grade"를 출력하게 된다.

 

다음으로 else ifelse를 사용한 코드를 살펴보자.

 

if (score >= 90) {
    printf("A grade\n");
}
else if (score >= 80) {
    printf("B grade\n");
}
else if (score >= 70) {
    printf("C grade\n");
}
else {
    printf("Not passing\n");
}

 

위 코드는 score가 90 이상이면 "A grade"를 출력, 

 

80 이상이면 "B grade"를 출력, 70이상이면 "C grade"를 출력,

 

나머지 경우 "Not passing"을 출력하게 된다.

 

if를 두개 쓰는 방법과, if, else if, else를 쓰는 방법은 기능적으로 동일하다.

 

하지만 else if, else를 사용하는 if문이 더 간결하고 가독성이 좋다는 것을 알 수 있었다.

 

또 특정 조건에 대해 작업을 한번에 처리할 수 있어서 속도면에서 조금이나마 더 효율적이다.

 

 

 

 

그렇다면 사용자가 입력한 값이 짝수인지 홀수인지 0인지를 검사하는 간단한 프로그램을 만들어보자!

 

 

 

 

#include<stdio.h>

int main()
{  
   int num;
   
   printf("입력 : ");
   scanf_s("%d",&num);
   
   if(num == 0) printf("0");
   else if(num %2) printf("홀 수");   // num을 2로 나눠서 1이 나오면 진실이므로 "홀 수"가 나옴
   else printf("짝 수");              // 위의 num을 2로 나눠 0이 나오게 된다면 거짓이므로 "짝 수"
   
   return 0;
}

 

 

'c' 카테고리의 다른 글

09_반복문1(while, do while)  (0) 2023.03.30
08_조건문2(switch, case)  (0) 2023.03.27
06_입력(Input)  (0) 2023.03.21
05_연산자(Operator)  (0) 2023.03.18
04_Literal  (0) 2023.03.15

댓글