학습 기록/C

(3) 연산자

romi__ 2024. 11. 7. 18:40

/C

 

📌 산술연산자

- 연산자에도 당연히 우선순위가 있다. 이걸 전부 외우기보단 그때그때 참고하는 것이 좋다.

 

코딩교육 티씨피스쿨

4차산업혁명, 코딩교육, 소프트웨어교육, 코딩기초, SW코딩, 기초코딩부터 자바 파이썬 등

tcpschool.com

위 링크에서 산술연산자의 우선순위 확인이 가능하다.

 

 

📌 증감연산자

++x 1 증가 -> 연산 진행
x++ 연산 진행 -> 1 증가
--x 1 감소 -> 연산 진행
x-- 연산 진행 -> 1 감소

 

예제를 살펴보자.

int x = 10;
int y = x-- + 5 + --x;

printf("변수 x의 값은 %d이고 변수 y의 값은 %d입니다.\n", x, y);
//변수 x의 값은 10이고 변수 y의 값은 23입니다.

 

y값의 계산 순서를 살펴보자면,

x-- + 5 => x(10) + 5 (15) => 15-- (14)

14 + --x => 14 + 9 => 23

이런 순서로 이루어진다.

 

 

📌 논리연산자

- 참고로 C언어에서의 거짓은 0, 나머지(음수 포함)는 전부 true이다.

&& (AND) || (OR) ! (NOT)

 

 

📌 비트연산자

- 비트 단위의 논리 연산을 책임진다.

& 대응되는 비트가 모두 1이면 1을 반환한다. (AND)
| OR
^ XOR - 비트가 서로 다른 것을 체크한다.
~ NOT - 0이면 1을, 1이면 0을 반환한다.
<< left shift - 지정한 수만큼 비트들을 전부 왼쪽으로 이동시킨다.
>> right shift

 

#include <stdio.h>

int main(void)
{
	int num01 = 15;
	int num02 = 8;

	printf(" ~ 연산자에 의한 결괏값은 %d입니다.\n", ~num01); 		// 1의 보수
	printf("<< 연산자에 의한 결괏값은 %d입니다.\n", num02 << 1);	// 곱하기 2
	printf(">> 연산자에 의한 결괏값은 %d입니다.\n", num02 >> 1);	// 나누기 2 
	return 0;
}

 

(사실 이게 몬 소리인가 싶다... 다시 찾아봐야지)

 

 

 

📌 기타연산자

- 삼항연산자

조건식 ? 반환값1: 반환값2;

 

삼항연산자의 문법은 위와 같다. 조건식이 참일 경우 반환값1을 반환하고, 조건식이 거짓이라면 반환값2를 반환한다. 짧은 if/else문 대신 사용이 가능하다.

 

- sizeof 연산자: 피연산자의 크기를 바이트 단위로 반환한다. 이때 피연산자는 타입, 변수, 상수가 있다.

sizeof(피연산자);

'학습 기록 > C' 카테고리의 다른 글

(6) 배열  (0) 2024.11.10
(5) 함수  (0) 2024.11.09
(4) 제어문  (0) 2024.11.08
(2) 타입  (1) 2024.11.06
C (1) 개요와 기초  (1) 2024.11.05