IT프로그램 언어/C 언어

C언어 기초(산술연산자와 표현식)

필립곽 2024. 11. 8. 14:53
반응형

C언어는 프로그래밍에서 기본적으로 사용되는 언어 중 하나로, 다양한 연산자와 표현식을 통해 데이터를 조작하고 계산할 수 있습니다. 이번 블로그 포스트에서는 C언어의 주요 연산자와 그 사용법에 대해 자세히 알아보겠습니다.

1. 연산자의 종류
C언어의 연산자는 크게 다음과 같은 종류로 나눌 수 있습니다.

1.1 산술 연산자
산술 연산자는 기본적인 수학 연산을 수행하는 데 사용됩니다.

- 덧셈 (`+`): 두 수를 더합니다.
- 뺄셈 (`-`): 첫 번째 수에서 두 번째 수를 뺍니다.
- 곱셈 (`*`): 두 수를 곱합니다.
- 나눗셈 (`/`): 첫 번째 수를 두 번째 수로 나눕니다.
- 나머지 (`%`): 첫 번째 수를 두 번째 수로 나눈 나머지를 반환합니다.

[예제]
#include <stdio.h>

int main() {
    int a = 10, b = 3;
    printf("덧셈: %d\n", a + b); // 13
    printf("뺄셈: %d\n", a - b); // 7
    printf("곱셈: %d\n", a * b); // 30
    printf("나눗셈: %d\n", a / b); // 3
    printf("나머지: %d\n", a % b); // 1
    return 0;
}

1.2 대입 연산자
대입 연산자는 변수에 값을 할당하는 데 사용됩니다.

- 단순 대입 (`=`): 오른쪽 값을 왼쪽 변수에 할당합니다.
- 복합 대입 (`+=`, `-=`, `*=`, `/=`, `%=`): 기존 값에 연산을 수행한 후 결과를 다시 변수에 대입합니다.

[예제]
#include <stdio.h>

int main() {
    int x = 5;
    x += 2; // x = x + 2
    printf("x의 값: %d\n", x); // 7
    x *= 3; // x = x * 3
    printf("x의 값: %d\n", x); // 21
    return 0;
}

1.3 비교 연산자
비교 연산자는 두 값을 비교하여 참(true) 또는 거짓(false)을 반환합니다.

- 동등 (`==`): 두 값이 같으면 참.
- 부등 (`!=`): 두 값이 다르면 참.
- 크기 비교 (`>`, `<`, `>=`, `<=`): 크기를 비교하여 참 또는 거짓을 반환합니다.

[예제]
#include <stdio.h>

int main() {
    int a = 10, b = 20;
    printf("a == b: %d\n", a == b); // 0 (false)
    printf("a != b: %d\n", a != b); // 1 (true)
    printf("a < b: %d\n", a < b);   // 1 (true)
    return 0;
}

1.4 논리 연산자
논리 연산자는 주로 조건문에서 사용되며, 두 개 이상의 조건을 결합합니다.

- AND (`&&`): 두 조건이 모두 참일 때 참.
- OR (`||`): 두 조건 중 하나라도 참이면 참.
- NOT (`!`): 조건의 참/거짓을 반전시킵니다.

[예제]
#include <stdio.h>

int main() {
    int a = 5, b = 10;
    if (a < 10 && b > 5) {
        printf("조건이 참입니다.\n"); // 출력됩니다.
    }
    if (a > 10 || b > 5) {
        printf("이 조건은 참입니다.\n");
    } else {
        printf("이 조건은 거짓입니다.\n"); // 출력됩니다.
    }
    return 0;
}

1.5 비트 연산자
비트 연산자는 정수의 비트를 직접 조작하는 데 사용됩니다.

- AND (`&`): 비트 단위 AND 연산.
- OR (`|`): 비트 단위 OR 연산.
- XOR (`^`): 비트 단위 XOR 연산.
- NOT (`~`): 비트 단위 NOT 연산.
- 왼쪽 쉬프트 (`<<`): 비트를 왼쪽으로 이동.
- 오른쪽 쉬프트 (`>>`): 비트를 오른쪽으로 이동.

[예제]
#include <stdio.h>

int main() {
    int x = 5; // 이진수: 0101
    int y = 3; // 이진수: 0011
    printf("x & y: %d\n", x & y); // 1 (0001)
    printf("x | y: %d\n", x | y); // 7 (0111)
    printf("x ^ y: %d\n", x ^ y); // 6 (0110)
    printf("~x: %d\n", ~x); // -6 (두 보수)
    printf("x << 1: %d\n", x << 1); // 10 (1010)
    printf("x >> 1: %d\n", x >> 1); // 2 (0010)
    return 0;
}

2. 표현식
C언어에서 표현식은 값으로 평가될 수 있는 코드 조각입니다. 표현식은 변수, 상수, 연산자, 함수 호출 등을 조합하여 만들어집니다. 표현식의 결과는 값이 됩니다.

2.1 간단한 표현식

[예제]
int a = 10;
int b = 20;
int sum = a + b; // a와 b의 합을 계산하는 표현식

2.2 복합 표현식
복합 표현식은 여러 개의 연산자가 포함된 표현식입니다.

[예제]
int a = 10, b = 20, c = 30;
int result = (a + b) * c; // (10 + 20) * 30 = 900

3. 결론
C언어의 연산자와 표현식은 프로그래밍의 기본적인 요소로, 데이터를 처리하고 계산하는 데 필수적입니다. 다양한 연산자를 이해하고 활용함으로써 보다 효과적으로 C언어를 사용할 수 있습니다. 이번 포스트를 통해 C언어의 연산자와 표현식에 대한 기본적인 이해를 돕기 위해 노력했습니다. 다양한 예제를 통해 실습해 보시기 바랍니다!

반응형