본문 바로가기

C 언어/임베디드 C

if문

if문은 선택문의 가장 간단한 현태로, 주어진 조건이 만족할 경우에만 실행된다.
if (논리식) 명령문
if는 예약어이며 반드시 소문자로 사용한다.
논리식은 항상 논리값인 참 또는 거짓을 가지며 괄호로 둘러쌓인다. 명령문은 하나의 명령문일 수도 있고 여러 개의 명령문으로 이루어진 복합문일 수도 있다.

예)
#include <stdio.h>

int main()
{
 int num1, num2, bigger;
 printf("Please enter two integers: ");
 scanf("%d %d", &num1, &num2);
 bigger=num1;
 if(num1<num2) bigger=num2;
 printf("The larger number is : %3d\n", bigger);
 return 0;
}

실행결과
Please enter two integer: 12 25
The larger number is : 25

- bigger = num2;
if문내의 명령문으로 논리식의 값이 참이므로 실행된다. 만약 논리식의 값이 거짓일 경우에는 실행되지 않는다. 이 경우 if문은 하나의 명령문으로 구성되어 있다. 만약if문이 여러 개의 명령문으로 구성된 복합문일 경우에는 반드시 중괄호{}로 표시해야 한다.

- printf("The larger number is %3d\n", bigger);
if문의 일부가 아니기 때문에 if문 내의 조건과 관계없이 실행된다.

예)
#include <stdio.h>

int main()
{
 int num1, num2, bigger, smaller;
 printf("Please enter two integer: ");
 scanf("%d %d", &num1, &num2);
 bigger=num1;
 smaller=num2;
 if(num1<num2)
 {
  bigger=num2;
  smaller=num1;
 }
 printf("%d is larger than %3d\n", bigger, smaller);
 return 0;
}

실행결과
Please enter two integer: 25 33
33 is larger than   25

실행결과
Please enter two integer: 55 12
55 is larger than   12

만약 num1이 num2보다 클 경우 if문은 수행되지 않는다. if문내의 명령문이 복합문일 경우에는 반드시 중괄호로 표시해 주어야 한다.

'C 언어 > 임베디드 C' 카테고리의 다른 글

if-else문  (0) 2011.04.04
플로우차트(흐름도)  (0) 2011.04.04
확장문자(escape sequence)  (0) 2011.03.30
ASCII(아스키 코드)  (0) 2011.03.30
실수 저장방식  (0) 2011.03.29