여태까지는 모든 문장이 하나도 빠짐없이 순서대로 실행되는 구조의 예제들이였다.
하지만 이번 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 |