C

C언어를 가르칩니다.

C C언어를 가르칩니다.

if

if문을 알아봅니다.

if

정의

괄호 안에 들어 있는 조건식(condition)이 참이라면, 뒤에 있는 표현식(expression)을 실행합니다. 표현식이란 간단하게 말하면 코드입니다. 기본 형태는 다음과 같습니다.

if (condition) /*expression*/;

여러 코드를 실행하고 싶은 경우 중괄호로 코드를 감싸면 됩니다.

if (condition)
{
    /*expression1*/;
    /*expression2*/;
    /*expression3*/;
}

else

정의

if 문의 조건식이 참이 아니라면 else 문에 있는 코드가 실행됩니다. else 문에는 조건식을 쓸 수 없습니다. else문은 없어도 됩니다.

if (condition) /*expression*/;
else /*expression*/;

여러 코드를 실행하고 싶은 경우 마찬가지로 중괄호로 감싸면 됩니다.

else if

정의

a가 1, 2,3,4,5일 때, 각 경우에 대하여 다른 코드를 적용하고 싶다고 합시다. 그럼 코드를 다음과 같이 짤 수 있습니다.

int a;
puts("1,2,3,4,5 가운데 하나를 입력하시오.");
scanf("%d",&a); //int를 입력받아 a에 저장합니다.

if (a==1) puts("a is 1.");
else
{
    if (a==2) puts("a is 2.");
    else
    {
        if (a==3) puts("a is 3.");
        else
        {
            if (a==4) puts("a is 4.");
            else puts("a is 5.");
        }
    }
}

보기 흉하지요. 그래서 else if가 생겼습니다. if 문에 있는 조건식이 참이 아닐 경우 else if 문에 있는 조건식을 검사하고, 참이라면 else if 문에 있는 코드를 실행합니다. 파이썬의 elif와 같습니다.

if (a==1) puts("a=1");
else if (a==2) puts("a=2");
else if (a==3) puts("a=3");
else if (a==4) puts("a=4");
else puts("a=5");

사용

int a=1;
if (a==1) printf("%d is 1.\n",a);
if (1) puts("1 equals to true");
int b=2;
if (a==b) printf("%d is %d.\n",a,b);
else if (a>b) printf("%d is bigger than %d.\n",a,b);
else if (a<b) printf("%d is less than %d.",a,b); //이 경우에 if(a<b)는 생략할 수 있습니다. a==b도, a>b도 아니라면, a<b이기 때문입니다.
float tall, weight;
printf("키와 몸무게를 순서대로 입력하십시오.\n");
printf("키는 미터(m) 단위로, 몸무게는 kg 단위로 입력하십시오: ");
scanf("%f%f",&tall,&weight);
float BMI=weight/(tall*tall);
printf("당신의 BMI 지수는 %.1f입니다.\n",BMI);
if (BMI<=18.5) puts("저체중입니다.");
else if (BMI<25.0) puts("정상 체중입니다.");
else if (BMI<30.0) puts("과체중입니다.");
else puts("비만입니다.");

댓글

댓글 본문
작성자
비밀번호
버전 관리
truelight
현재 버전
선택 버전
graphittie 자세히 보기