본문 바로가기

Programming/C Language

if 문 그리고 else

여태까지는 모든 문장이 하나도 빠짐없이 순서대로 실행되는 구조의 예제들이였다.
하지만 이번 if문을 이용하면 , 코드의 흐름을 제어할수 있다
즉 , 프로그램에 유연성을 부여할 수 있는 것이다.



if문을 이용한 조건적 실행

흐름 분기의 가장 기본은 if와 else 로 이루어진 if~else문이다 .
그러나 if는 독립적으로도 사용되어 '조건적 실행'이 가능하다!!

if문은 다음과 같은 구조를 가진다.


if(num1>num2)

{

printf("num1이 num2보다 큽니다.");        

}                


위 코드를 그냥 읽어보자 ,  음.. 만일 num1이 num2보다 크면  "num1이 num2보다 큽니다."라는 문자열을 출력하라는건가..?
맞다 , 정확하다

그럼 다음 예제를 통해 if문의 동작방식을 좀 더 구체적으로 확인해보자!


7행의 scanf_s함수를 통해 사용자로부터 숫자를 입력받는다.
그리고 그 입력받은 값에따른 조건적 실행이 이루어진다.
3을 입력했다면 첫번쨰 if문이 , 0을 입력했다면 2번쨰 if문이 , -3을 입력했다면 3번째 if문이 실행된다.

이와같이 if문을 이용하면 코드의 흐름을 제어할수 있다!



다만 , 위의 코드는 어느 값을 입력받는지의 상관없이 3개의 if문(조건검사) 모두다 실행 된다.
이러한 불필요한 연산의 수를 줄일 수 있는 조건문이 if ~ else문이다.


if~else문은 조건을 만족하는 if문이 발견되면 나머지 if문은 건너뛴다.
이러한 조건을 이용하여 불필요한 연산을 줄이면 프로그램의 실행속도 또한 빨라질 것이다.


if~else문의 기본구조는 아래와 같다.

if(조건1)

{
    // 조건1 만족시 실행
}
else if(조건2)
{

   // 조건2 만족시 실행
}

.

.

.

.

else
{

   // 모두 불만족시 실행

}


else if와 else사이에는 수 제한없이 else if문이 들어갈 수 있다.


위의 예제 코드를 if~else를 통해 재구현 해보자


첫 if문은 num이 0보다 큰경우 실행 , else if문은 num이 0보다 작은경우 실행
그리고 그밖의 경우에는 else로 처리한다.
만일 , 사용자가 num값으로 3을 입력했으면 첫번쨰 if문이 실행되고 나머지 조건문 및 else 연산을 하지도 않는다.
불필요한 연산을 줄이는것이 가장 이점이다!


if~else문을 이용하여 계산기 프로그램을 작성해보자


직접 작성해보고 실행시켜 보자!

'Programming > C Language' 카테고리의 다른 글

지역 변수 (Local Variable)  (0) 2017.10.31
함수 정리  (1) 2017.10.30
For 문 ?  (0) 2017.10.30
Do ~ while 문 ?  (0) 2017.10.30
While문 ?  (0) 2017.10.30