[c언어 기초]

우리가 아는 C언어

[c언어 기초] 우리가 아는 C언어

조건문1

if문에 대해서

조건문

우리가 배울 조건문은 참인지 거짓인지에 따라 달라지는 계산이나 상황을 수행합니다.
쉽게말하자면 조건문은 우리가 정한 '조건'에 따라 결과가 달라지게 만들어주는 역활을 합니다.

 

if

첫번째로 가장 대표적인 조건문은 if명령 입니다.
if명령은 ‘만약’이라는 뜻으로 조건을 만족하면 특정 명령을 실행하고, 조건을 만족하지 않으면 아무 명령도 실행하지 않는 것과 같이 프로그램의 흐름을 제어하는 명령이죠.

아래의 코드를 직접 작성하고 실행해 봅시다.
#include<stdio.h>
int main()
{
int a, b, book = 15000;
printf("책의 가격은 15000원 입니다.\n");
printf("당신이 가지고 있는 돈은 얼마인가요?:");
scanf("%d", &a);
if (a >= book)
{
b = a – book;
printf("책을 성공적으로 구입했습니다. 이제 남은 돈은 %d입니다.\n", b);
}
}

실행결과

위 프로그램을 실행하면 책의 가격이 15000원이라고 알려주며 금액을 입력하면 가격을 비교하여 출력합니다.
 
 
  • 4행에서 a, b와 book=15000을 지정해줍니다.
  • 7행에서 scanf를 활용하여 사용자가 직접 a를 입력해 줄 수 있습니다.
  • a가 book보다 크거나 같을 때 즉 a가 15000보다 큰 숫자일 때(참일 때) if 아래에 코드 블록으로 감싸진 내용을 실행합니다.
  • 10행의 b는 a - 15000의 값이 되고 11행의 %d 안에 들어가게 됩니다.
  • 위 프로그램을 다시 한번 직접 해석해 보고 아래를 봅시다.

 

if문의 기본 형식

if (조건)                                                 // if 조건 뒤에는 ; (세미콜론을 붙이면 안 됨)
{
조건이 참일 경우 실행되는 명령문;
}
 
조건 설정
if는 조건에 따라 흐름을 제어하므로 조건 설정이 중요합니다.
위의 프로그램에서는 ‘내가 책을 살만한 충분한 돈이 있다’라는 조건 표현이 중요하죠.
 
즉 ‘내가 가진 돈 >= 책의 가격’ 으로 조건을 설정할 수 있습니다.
 
위의 프로그램의 9~12행은 오로지 8행의 조건이 참일 경우에만 실행되는 if 명령문입니다. 실행한 내용은 책을 구입하였다는 문구 출력과 책을 사고 남은 돈의 출력입니다.
15000원 이상의 금액을 입력하면 9~12행의 명령이 실행되고, 그 미만의 금액이 입력되면 아무것도 실행되지 않죠.
 
 
그럼 만약 15000원 보다 돈이 부족할 경우에는 어떻게 해야 할까요?

 if ~ else

if ~ else는 조건이 만족하는 경우(참) if 다음 부분이 실행되고, 만족하지 않을 경우(거짓) else 이후 부분이 실행됩니다.조건이 복잡한 경우에는 if문을 중첩하여 사용할 수도 있으며, if ~ else를 사용하면 조건의 참이나 거짓에 따라 해당 명령이 실행됩니다. 
다시말해 'if'만 사용하면 결과가 참일 때만 나타내지만 else와 함께 사용하면 거짓일 경우에도 나타낼수 있습니다.  

아래의 코드를 직접 작성하고 실행해 봅시다.

#include<stdio.h>
int main()
{
int a,b,book=15000;
printf("책의 가격은 15000원 입니다.\n");
printf("당신이 가지고 있는 돈은 얼마인가요?:");
scanf("%d", &a);
if (a >= book)
{
b = a – book;
printf("책을 성공적으로 구입했습니다. 이제 남은 돈은 %d입니다.", b);
}
else
printf("책을 구입하지 못합니다.");  //코드가 한줄 이하일 경우 {}를 사용하지 않아도 됩니다.
}
실행결과

 위 프로그램을 실행하면 if문과 다르게 15000미만이면 “책을 구입하지 못합니다.”를 출력하고 15000이상이면 정상적으로 출됩니다.

  • if(조건)이 참일 경우 if아래의 코드블록'{ }' 안에 있는 내용이 실행되고
  • if(조건)이 거짓일 경우 if아래의 코드블록'{ }' 바깥쪽 내용 즉 else 아래의 내용이 실행됩니다.
  • else와 if 둘다 코드가 한줄 이하일 경우 코드블록'{ }'을 사용하지 않아도 됩니다.

 

다음 토픽에서는 여러개의 if, else를 사용하는 중첩 if 문을 알아봅시다.

댓글

댓글 본문
  1. 이프로
    감사합니다:)
  2. 호두
    고맙습니다.
버전 관리
life knowledge
현재 버전
선택 버전
graphittie 자세히 보기