문타쿠, 공부하다.
[C언어 코딩 도장] Unit 18. else를 사용하여 두 방향으로 분기하기 본문
INTRO
if 조건문은 분기를 위한 문법이다.
분기란?
'둘 이상으로 갈라지다'라는 뜻으로 프로그램의 흐름을 둘 이상으로 나누는 것을 말함
if에 else를 사용하면 조건식이 만족할 때와 만족하지 않을 때 각각 다른 코드를 실행할 수 있다.
즉, 프로그램이 두 방향으로 분기하는 것이다.
18.1 else 사용하기
#include <stdio.h>
int main(void)
{
int num1 = 5;
if (num1 == 10)
{
printf("10입니다.\n");
}
else
{
printf("10이 아닙니다.\n");
}
return 0;
}
18.2 else와 세미콜론
#include <stdio.h>
int main(void)
{
int num1 = 10;
if (num1 == 10)
{
printf("10입니다.\n");
}
else;
{
printf("10이 아닙니다.\n");
}
return 0;
}
위와 같이 else에 세미콜론을 붙이면 그 뒤에 오는 코드는 else와 관계가 없어져버려 조건식의 결과와는 관계없이 항상 실행되니 주의
18.3 else에서 중괄호 생략하기
#include <stdio.h>
int main(void)
{
int num1 = 10;
if (num1 == 10)
printf("10입니다.\n");
else
printf("10이 아닙니다.\n");
return 0;
}
18.4 if 조건문의 동작 방식 알아보기
"0은 거짓"
#include <stdio.h>
int main(void)
{
if (0)
printf("참\n");
else
printf("거짓\n");
return 0;
}
"0이 아닌 양수와 음수를 넣으면 참"
#include <stdio.h>
int main(void)
{
if (1)
printf("참\n");
else
printf("거짓\n");
return 0;
}
#include <stdio.h>
int main(void)
{
if (-1)
printf("참\n");
else
printf("거짓\n");
return 0;
}
최근에 나온 언어는 true(참), false(거짓)와 같은 전용 자료형을 가지고 있지만, C언어는 0을 거짓으로, 그 이외의 값은 모두 참으로 사용한다.
실수도 마찬가지로 0.0f는 거짓, 0.0f가 아닌 값들은 참이다.
18.5 조건식을 여러 개 지정하기
#include <stdio.h>
int main(void)
{
int num1 = 10;
int num2 = 20;
if (num1 == 10 && num2 ==20)
printf("참\n");
else
printf("거짓\n");
return 0;
}
#include <stdio.h>
int main(void)
{
int num1 = 10;
int num2 = 20;
if (num1 == 10)
{
if (num2 == 20)
{
printf("참\n");
}
else
{
printf("거짓\n");
}
}
else
{
printf("거짓\n");
}
return 0;
}
#include <stdio.h>
int main(void)
{
int num1 = 10;
int num2 = 20;
if (num1 == 10)
if (num2 == 20)
printf("참\n");
else
printf("거짓\n");
else
printf("거짓\n");
return 0;
}
'C언어 > C언어 코딩 도장' 카테고리의 다른 글
[C언어 코딩 도장] Unit 19. else if를 사용하여 여러 방향으로 분기하기 (0) | 2023.08.24 |
---|---|
[C언어 코딩 도장] Unit 18. 연습문제 및 심사문제 (0) | 2023.08.24 |
[C언어 코딩 도장] Unit 17. 연습문제 및 심사문제 (0) | 2023.08.24 |
[C언어 코딩 도장] Unit 17. if 조건문으로 특정 조건일 때 코드 실행하기 (0) | 2023.08.24 |
[C언어 코딩 도장] Unit 16. 연습문제 및 심사문제 (0) | 2023.08.23 |