[C] 산술 연산자, 관계 연산자, 논리 연산자 - Kyeom

2022. 11. 14. 13:22C언어/기본 개념

728x90

산술연산자(+, -, *, =, /, %)

'='는 같다는 의미가 아닌 대입이라는 뜻이다.

#include <stdio.h>
int main(void)
{
	double apple;
	int banana;
	int orange;

	apple = 5.0 / 2.0;
	banana = 5 / 2;
	orange = 5 % 2;

	printf("apple : %.1lf\n", apple);
	printf("banana : %d\n", banana);
	printf("orange : %d", orange);

	return 0;
}
/////////////////////////////////////////////
결과값
apple : 2.5
banana : 2
orange : 1

실수 연산에는 나머지 개념이 없으므로 나머지를 구할 때정수로 출력해야한다.

증감연산자(++a 혹은 a++)

#include <stdio.h>

int main(void)
{
	int a = 5, b = 5;
	int pre, post;

	pre = ++a * 3;
	post = b++ * 3;

	printf("초기값  a = %d, b = %d\n", a, b);
	printf("전위형 : %d, 후위형 %d", pre, post);
    
	return 0;
}
/////////////////////////////////////////
결과값
초기값  a = 6, b = 6
전위형 : 18, 후위형 15

pre 값은 a에 값을 +1을 먼저 한 후에 *3을 해주고,

post 값은 b*3을 한 후에 +1을 해줬기 때문에 값이 다르다!


관계연산자(>, <, >=, <=, ==, !=)

#include <stdio.h>

int main(void)
{
	int a = 10, b = 20, c = 10;
	int res;

	res = a > b;
	printf("a > b : %d\n", res);
	res = a >= b;
	printf("a >= b : %d\n", res);
	res = a < b;
	printf("a < b : %d\n", res);
	res = a <= b;
	printf("a <= b : %d\n", res);
	res = a == b;
	printf("a == b : %d\n", res);
	res = a == c;
	printf("a == b : %d\n", res);
	res = a != b;
	printf("a != b : %d\n", res);
	res = a != c;
	printf("a != b : %d\n", res);

	return 0;
}
/////////////////////////
결과값
a > b : 0
a >= b : 0
a < b : 1
a <= b : 1
a == b : 0
a == b : 1
a != b : 1
a != b : 0

컴퓨터는 0은 거짓(false)로 0이 아닌 값은 참(true)로 판단 한다. 그 중 1을 대표로 사용해서

0은 거짓, 1은 참으로 표현한다.


논리연산자(&&, ||)

#include <stdio.h>

int main(void)
{
	int a = 10, b = 20, c = 10;
	int res;

	res = a > b || a < 20;
	printf("a > b || a < 20 : %d\n", res);
	res = a == 10 && c == b;
	printf("a == 10 && c == b : %d\n", res);
	res = !(a >= 30);
	printf("!(a >= 30) : %d", res);

	return 0;
}
//////////////////////
결과값
a > b || a < 20 : 1
a == 10 && c == b : 0
!(a >= 30) : 1

&&은 둘 다 참이면 참

||는 둘 중 하나만 참이어도 참

거짓이이면 참, 참이면 거짓

728x90

'C언어 > 기본 개념' 카테고리의 다른 글

[C] 반복문(break, continue) - Kyeom  (0) 2022.11.17
[C] if문 / switch ~ case문  (0) 2022.11.16
[C] 연산자 - kyeom  (0) 2022.11.16
[C] scanf 함수 - Kyeom  (0) 2022.11.12
[C] C언어 기본 개념 - Kyeom  (0) 2022.11.11