본문 바로가기
배운 것들 메모/따라 배우는 C언어

[홍정모의 따라하며 배우는 C언어] 6.5 사실과 거짓(True & False)

by 야속한 낭만 2024. 9. 26.

사실과 거짓(True & False)

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main()
{
	int tv, fv;
	tv = (1 < 2); // 2는 1보다 크니까 참
	fv = (1 > 2); // 2는 1보다 작지 않으니 거짓

	return 0;

}

일단, 표현식이 참이든 거짓이든 어떤 특정 값을 가지고 있다는 것을 알 수 있다.

그러면 표현식에 있는 참과 거짓은 어떤 값을 가질까?

한 번 출력을 해보자.

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main()
{
	int tv, fv;
	tv = (1 < 2); // 2는 1보다 크니까 참
	fv = (1 > 2); // 2는 1보다 작지 않으니 거짓

	printf("True is %d\n", tv);
	printf("False is %d\n", fv);

	return 0;

}

 

콘솔창을 보면 이렇게 참은 1, 거짓은 0으로 나왔다.

그런데, ingeter은 여러가지의 수를 받을 수 있는데.

우리가 배운 참과 거짓, 다시 말해서 0과 1의 외의 값들은 True일까? False일까? 아니면 다른 어떤 걸 말할까?

한 번 실험을 해보자

 

예시 1)

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main()
{
	int i = -5;
	while (i)
		printf("%d is true \n", i++);
	printf("%d is false\n", i);
}

 

 

음수의 값도 될 수 있다는 것을 알았다.

그러면 양수의 값도 알아보자.

예시 2)

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main()
{
	int i = 5;
	while (i)
		printf("%d is true \n", i--);
	printf("%d is false\n", i);
}
 

 

 

오 0 외의 숫자도 true가 나왔다.

0은 False고 0 외의 값은 True라는 것을 알 수 있다.

 

출처:  홍정모의 따라배우는 C언어

강의 외의 추가된 것들은 책 그리고 인터넷 조사해서 얻었음