본문 바로가기

C-Language/Operators

Operators in C Language

C 언어 연산자



  • 산술연산자 (Arithmetic Operators)
  • 비교, 관계연산자 (Relational Operators)
  • 논리연산자 (Logical Operators)
  • 비트연산자 (Bitwise Operators)
  • 할당연산자 (Assignment Operators)
  • 기타 연산자 (Misc Operators)



#include <stdio.h>

int main()
{
	int a = 10, b = 5;

	printf("덧셈, %d + %d = %d \n", a, b, a + b);
	printf("뺄셈, %d - %d = %d \n", a, b, a - b);
	printf("곱셈, %d * %d = %d \n", a, b, a * b);
	printf("나눗셈, %d / %d = %d \n", a, b, a / b);
	printf("나머지, %d %% %d = %d \n", a, b, a % b); // %% 표현에서 왼쪽의 %는 우측의 %를 문자로 출력하라는 의미

	printf("++a --> %d \n", ++a); // 전 증가, 11
	printf("a++ --> %d \n", a++); // 후 증가, 11
	printf("a++ 적용 후 다음 라인 --> %d \n", a++); // 후 증가 적용 후, 12

	printf("a == b --> %d \n", a == b); // 0
	printf("a != b --> %d \n", a != b); // 1
	printf("a > b --> %d \n", a > b); // 1
	printf("a < b --> %d \n", a < b); // 0
	printf("a >= b --> %d \n", a >= b); // 1
	printf("a <= b --> %d \n", a <= b); // 0

	a = 1;
	b = 0;

	printf("a && b --> %d \n", a && b); // 0
	printf("a || b --> %d \n", a || b); // 1
	printf("!(a && b) --> %d \n", !(a && b));  // 1

	a = 10; // 1010
	b = 12; // 1100

	printf("a & b --> %d \n", a & b);  // 8
	printf("a | b --> %d \n", a | b);  // 14
	printf("a ^ b --> %d \n", a ^ b);  // 6
	printf("~a --> %d \n", ~a);  // -11
	printf("a = %d \n", a);
	printf("a << 1 --> %d \n", a << 1);  // 20 ( 10100 )
	printf("b >> 1 --> %d \n", b >> 1);  // 6 ( 110 )

	/* 할당연산자, 복합연산자
		=, +=, -=, *=, /=, %=, <<=, >>=, &=, ^=, |=
	*/

	// 단항 연산자
	printf("int 변수가 차지하는 메모리의 크기=%d \n", sizeof(int));
	printf("변수 a의 메모리 주소=%d \n", &a);
	int *pa = &a; // 포인터 변수 선언 및 초기화
	// 변수의 주소를 이용하여 변수의 값을 참조하는 경우
	printf("*pa = %d \n", *pa);

	// 3항 연산자
	char *res = 1 < 2 ? "1은 2보다 작다" : "1은 2보다 작지 않다";
	printf("3항연산자 사용결과-->%s \n", res);

	getch();
	return 0;
}