생선이의 잡다한 블로그

C언어 강좌 17 - 조건을 걸자! if 문 흐름제어문 본문

프로그래밍/C언어 강좌

C언어 강좌 17 - 조건을 걸자! if 문 흐름제어문

생선스프 2017. 5. 16. 20:30
반응형

안녕하세요 생선스프입니다!


이번에는 흐름제어문을 알아보려고 합니다


흐름제어문에는


if (if-else, if-else if, if-else if-else)

switch-case 문

break

continue


이렇게 여러가지가 있습니다


이번에는 조건에 따라 실행시키는 if문을 알아보려고 합니다


우선 조건문의 사용법을 알아보죠


if(조건문)

{

참일때 실행시킬 구문

}


이렇습니다


아래 예제를 보도록 하겠습니다


1
2
3
4
5
6
7
8
9
10
11
12
13
#include <stdio.h>
 
void main()
{
    int num;
 
    printf("1을 입력해주세요");    scanf_s("%d",&num);
    
    if(num == 1)
    {
        puts("1을 눌러주셨군요!");
    }
}
cs

이렇게 입력을 하고 실행을 시키고 1을 입력하면
if문의 조건이 참이 되면서 안의 구문이 실행이 됩니다


1이 아닌 다른 값을 입력하면 프로그램은 그냥 끝납니다


이 코드는 좀 더 줄이는 것이 가능합니다


    if(num == 1)
    {
        puts("1을 눌러주셨군요!");
    }
cs


이 부분을


    if(num == 1)
        puts("1을 눌러주셨군요!");
cs


이렇게 줄일 수 있습니다


즉 if문은 실행시킬 코드가 한 줄인 경우 중괄호를 생략해 줄 수 있습니다


그런데 만약 if문의 조건이 참이 아닐때 실행시키고 싶은 것이 있다면 어떻게 할까요?


이때 if-else , if-else if , if-else if - else 문이 등장하게 됩니다


우선 if-else 문을 먼저 보도록 하죠


#include <stdio.h>
 
void main()
{
    int num;
 
    printf("1을 입력해주세요");    scanf_s("%d",&num);
    
    if(num == 1)
        puts("1을 눌러주셨군요!");
    else
        puts("1이 아니군요..");
}
cs


이렇게 실행을 시키면 1이 아닌값을 입력시켰을때 else 로 가게됩니다


그리고 위와 같이 else 도 한 줄일 경우 중괄호 생략이 가능합니다



다음으로 else if 를 보도록 하죠


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <stdio.h>
 
void main()
{
    int num;
 
    printf("0이나 1을 입력해주세요");    scanf_s("%d",&num);
    
    if(num == 1)
        puts("1을 눌러주셨군요!");
    else if(num == 0)
        puts("0을 눌러주셨군요!");
    else
        puts("둘 다 아니군요..");
}
cs


이렇게 하면 1을 입력하면 if, 0을 입력하면 else if, 둘 다 아니면 else 로 가겠네요


이와 같이 else if는 if의 조건이 거짓일 경우 또 다른 조건을 걸어 줄 수 있습니다


그리고 else if 는 여러번 사용할 수도 있습니다



이 코드도 조금 줄일 수 있겠네요


else if(num == 0)

이 부분을

else if(!num)


이렇게 바꿀 수 있습니다


왜냐하면 c언어에서는 0은 거짓이기 때문에 num이 0 일때 NOT 연산을 시켜주면 참이 나오기 때문이죠


C언어 강좌 16 - 논리연산자


이번 강좌는 여기까지 입니다!


강좌 읽어주셔서 감사합니다


공감과 댓글은 생선에게 힘이됩니다!

더 많은 C언어 강좌

반응형
Comments