C 언어 기본 연산자 사용법

CBeginner
지금 연습하기

소개

이 랩에서는 C 프로그래밍의 기본 연산자, 즉 산술, 관계, 논리 연산자를 사용하는 방법을 배우게 됩니다. 먼저 다양한 유형의 연산자를 소개하고, 덧셈, 뺄셈, 곱셈, 나눗셈과 같은 산술 연산을 시연하는 샘플 코드를 작성합니다. 다음으로, 비교를 위한 관계 연산자를 살펴보고 AND, OR, NOT 과 같은 논리 연산자를 구현합니다. 마지막으로, 이러한 개념을 실습하기 위해 간단한 계산기 프로그램을 구축합니다.

이 랩은 C 의 기본적인 연산자를 이해하기 위한 탄탄한 기반을 제공하며, 이는 계산을 수행하고, 결정을 내리고, 더 복잡한 프로그램을 구축하는 데 필수적입니다.

이것은 가이드 실험입니다. 학습과 실습을 돕기 위한 단계별 지침을 제공합니다.각 단계를 완료하고 실무 경험을 쌓기 위해 지침을 주의 깊게 따르세요. 과거 데이터에 따르면, 이것은 초급 레벨의 실험이며 완료율은 84%입니다.학습자들로부터 99%의 긍정적인 리뷰율을 받았습니다.

C 연산자 소개

C 프로그래밍 세계에서 연산자는 데이터를 대상으로 다양한 연산을 수행할 수 있게 해주는 기본적인 구성 요소입니다. 일상생활에서 수학 기호가 값을 계산하고 비교하는 데 도움이 되는 것처럼, C 연산자는 프로그래머가 코드에서 변수를 조작하고, 계산을 수행하며, 논리적인 결정을 내릴 수 있도록 합니다.

초보자의 경우, 연산자를 프로그래머의 도구 상자에 있는 특별한 도구로 생각하십시오. 각 연산자는 특정 목적을 가지고 있으며, 의미 있는 방식으로 데이터를 변환, 비교 또는 결합하는 데 도움이 됩니다. 이러한 연산자를 이해하는 것은 C 프로그래밍 언어의 기본 문법을 배우는 것과 같습니다.

1.1 산술 연산자

산술 연산자는 C 프로그래밍의 수학적 핵심입니다. 학교 수학에서 이미 익숙한 기본 수학 연산을 수행할 수 있습니다. 이러한 연산자는 정수 및 부동 소수점 숫자와 같은 숫자 데이터 유형과 함께 작동하여 코드에서 직접 계산을 수행할 수 있습니다.

  • +: 덧셈 - 두 숫자를 결합합니다.
  • -: 뺄셈 - 숫자 간의 차이를 구합니다.
  • *: 곱셈 - 두 숫자를 곱합니다.
  • /: 나눗셈 - 한 숫자를 다른 숫자로 나눕니다.
  • %: 모듈로 (나머지) - 나눗셈 후 나머지를 구합니다.

이러한 연산자를 사용하면 C 는 계산을 수행하고 결과를 반환합니다. 마치 계산기가 작동하는 방식과 같습니다. 이렇게 하면 프로그램에서 수학적 계산이 간단하고 직관적으로 이루어집니다.

1.2 관계 연산자

관계 연산자는 값 간의 관계를 평가하는 데 도움이 되는 비교 도구입니다. 항상 부울 결과 (true(1) 또는 false(0)) 를 반환합니다. 이러한 연산자는 코드에서 결정을 내릴 때, 예를 들어 한 값이 다른 값보다 큰지 또는 두 값이 같은지 확인하는 데 중요합니다.

  • >: 보다 큼 - 왼쪽 값이 더 큰지 확인합니다.
  • <: 보다 작음 - 왼쪽 값이 더 작은지 확인합니다.
  • ==: 같음 - 두 값이 정확히 같은지 확인합니다.
  • >=: 보다 크거나 같음 - 왼쪽 값이 크거나 같은지 확인합니다.
  • <=: 보다 작거나 같음 - 왼쪽 값이 작거나 같은지 확인합니다.
  • !=: 같지 않음 - 두 값이 다른지 확인합니다.

관계 연산자는 C 프로그래밍에서 조건문 및 제어 구조의 중추를 형성하여 코드에서 값 비교를 기반으로 지능적인 결정을 내릴 수 있도록 합니다.

1.3 논리 연산자

논리 연산자는 여러 조건을 결합하고 복잡한 의사 결정 논리를 생성하기 위한 강력한 도구입니다. 부울 값과 함께 작동하며 프로그램의 흐름을 제어할 수 있는 정교한 조건을 만드는 데 도움이 됩니다.

  • &&: 논리 AND - 모든 조건이 참일 경우에만 true 를 반환합니다.
  • ||: 논리 OR - 최소한 하나의 조건이 참이면 true 를 반환합니다.
  • !: 논리 NOT - 조건의 부울 값을 반전시킵니다.

이러한 연산자를 사용하면 복잡한 의사 결정 프로세스를 생성하여 여러 조건을 결합하여 프로그램이 다양한 시나리오에 지능적으로 대응할 수 있습니다.

이러한 연산자는 C 프로그램에서 계산을 수행하고, 비교를 수행하며, 복잡한 의사 결정 논리를 생성하기 위한 기반입니다. 이러한 연산자의 사용법을 이해하는 것은 효과적이고 효율적인 C 코드를 작성하는 데 필수적입니다.

다음 단계에서는 이러한 연산자를 샘플 코드로 시연하여 실제 프로그래밍 시나리오에서 어떻게 작동하는지 이해하도록 돕겠습니다.

샘플 산술 연산 작성 (더하기, 빼기, 곱하기, 나누기)

다양한 수학적 계산을 시연하는 프로그램을 만들어 C 의 산술 연산에 대해 더 자세히 알아보겠습니다. 다양한 유형의 숫자 값을 사용하여 덧셈, 뺄셈, 곱셈 및 나눗셈을 보여주는 포괄적인 예제를 작성합니다.

프로젝트 디렉토리로 이동하여 새 파일을 만듭니다.

cd ~/project
touch arithmetic_operations.c

WebIDE 에서 파일을 열고 다음 코드를 추가합니다.

#include <stdio.h>

int main() {
    // Integer arithmetic operations
    int a = 20, b = 5;

    // Addition
    int sum = a + b;
    printf("Addition: %d + %d = %d\n", a, b, sum);

    // Subtraction
    int difference = a - b;
    printf("Subtraction: %d - %d = %d\n", a, b, difference);

    // Multiplication
    int product = a * b;
    printf("Multiplication: %d * %d = %d\n", a, b, product);

    // Division
    int quotient = a / b;
    printf("Division: %d / %d = %d\n", a, b, quotient);

    // Modulus (remainder)
    int remainder = a % b;
    printf("Modulus: %d %% %d = %d\n", a, b, remainder);

    // Floating-point arithmetic
    float x = 10.5, y = 3.2;
    float float_sum = x + y;
    float float_difference = x - y;
    float float_product = x * y;
    float float_quotient = x / y;

    printf("\nFloating-point Arithmetic:\n");
    printf("Addition: %.2f + %.2f = %.2f\n", x, y, float_sum);
    printf("Subtraction: %.2f - %.2f = %.2f\n", x, y, float_difference);
    printf("Multiplication: %.2f * %.2f = %.2f\n", x, y, float_product);
    printf("Division: %.2f / %.2f = %.2f\n", x, y, float_quotient);

    return 0;
}

프로그래밍을 배울 때, 서로 다른 데이터 유형이 수학 연산에 미치는 영향을 이해하는 것이 중요합니다. 이 예제는 정수 및 부동 소수점 계산 간의 차이점을 보여주면서 C 에서 산술 연산의 미묘한 동작을 보여줍니다.

프로그램을 컴파일하고 실행합니다.

gcc arithmetic_operations.c -o arithmetic_operations
./arithmetic_operations

예시 출력:

Addition: 20 + 5 = 25
Subtraction: 20 - 5 = 15
Multiplication: 20 * 5 = 100
Division: 20 / 5 = 4
Modulus: 20 % 5 = 0

Floating-point Arithmetic:
Addition: 10.50 + 3.20 = 13.70
Subtraction: 10.50 - 3.20 = 7.30
Multiplication: 10.50 * 3.20 = 33.60
Division: 10.50 / 3.20 = 3.28

프로그래밍 여정에서 발전함에 따라 이러한 기본적인 산술 연산을 이해하면 더 복잡한 알고리즘을 구축하고 실제 계산 문제를 해결하는 데 도움이 됩니다. 각 연산자는 고유한 특성과 사용 사례를 가지고 있으며, 이는 연습과 탐구를 통해 발견하게 될 것입니다.

주목해야 할 주요 사항:

  • 정수 나눗셈은 소수 부분을 잘라냅니다.
  • 모듈로 연산자 (%) 는 정수에서만 작동합니다.
  • 부동 소수점 산술 연산은 소수점 계산을 허용합니다.
  • 소수점 두 자리로 부동 소수점 숫자를 표시하려면 %.2f 형식 지정자를 사용합니다.

이러한 기본 산술 연산을 마스터함으로써 프로그래밍 기술의 강력한 기반을 마련하고 더 발전된 계산 기술을 준비할 수 있습니다.

비교를 위한 관계 연산자 (>, <, ==)

C 의 관계 연산자는 다양한 값을 비교하는 강력한 방법을 제공하여 프로그래머가 결정을 내리고 프로그램의 흐름을 제어할 수 있도록 합니다. 이러한 연산자는 수학적 비교 도구처럼 작동하여 숫자 간의 관계를 확인하고 논리적 조건을 결정할 수 있습니다.

프로젝트 디렉토리로 이동하여 새 파일을 만듭니다.

cd ~/project
touch relational_operators.c

관계 연산자를 사용할 때, 서로 다른 값들이 어떻게 관련되어 있는지 탐구하게 됩니다. 다음 코드는 C 프로그래밍에서 사용되는 핵심 비교 기술을 보여줍니다.

#include <stdio.h>

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

    // Greater than (>)
    printf("Greater than comparison:\n");
    printf("%d > %d is %d\n", a, b, a > b);
    printf("%d > %d is %d\n", b, a, b > a);

    // Less than (<)
    printf("\nLess than comparison:\n");
    printf("%d < %d is %d\n", a, b, a < b);
    printf("%d < %d is %d\n", b, a, b < a);

    // Equal to (==)
    printf("\nEqual to comparison:\n");
    printf("%d == %d is %d\n", a, b, a == b);
    printf("%d == %d is %d\n", a, c, a == c);

    // Other relational operators
    printf("\nOther comparisons:\n");
    printf("%d >= %d is %d\n", a, c, a >= c);  // Greater than or equal to
    printf("%d <= %d is %d\n", a, b, a <= b);  // Less than or equal to
    printf("%d != %d is %d\n", a, b, a != b);  // Not equal to

    return 0;
}

이러한 비교가 실시간으로 어떻게 작동하는지 확인하려면 프로그램을 컴파일하고 실행하십시오.

gcc relational_operators.c -o relational_operators
./relational_operators

이 프로그램을 실행하면 다양한 비교 시나리오에 대한 자세한 분석을 볼 수 있습니다. 각 비교는 1 (true) 또는 0 (false) 을 반환하며, 이는 C 가 논리적 조건을 나타내는 방식입니다.

예시 출력:

Greater than comparison:
10 > 20 is 0
20 > 10 is 1

Less than comparison:
10 < 20 is 1
20 < 10 is 0

Equal to comparison:
10 == 20 is 0
10 == 10 is 1

Other comparisons:
10 >= 10 is 1
10 <= 20 is 1
10 != 20 is 1

관계 연산자에 대한 주요 사항:

  • 관계 연산자는 1 (true) 또는 0 (false) 을 반환합니다.
  • >는 왼쪽 값이 오른쪽 값보다 큰지 확인합니다.
  • <는 왼쪽 값이 오른쪽 값보다 작은지 확인합니다.
  • ==는 두 값이 정확히 같은지 확인합니다.
  • >=는 왼쪽 값이 오른쪽 값보다 크거나 같은지 확인합니다.
  • <=는 왼쪽 값이 오른쪽 값보다 작거나 같은지 확인합니다.
  • !=는 두 값이 같지 않은지 확인합니다.

이러한 연산자는 프로그래밍에서 의사 결정의 구성 요소입니다. 복잡한 논리적 조건을 생성하고, 프로그램 흐름을 제어하며, 지능형 알고리즘을 구축할 수 있습니다. 이러한 연산자를 마스터하면 다양한 입력 조건을 기반으로 결정을 내릴 수 있는 더 동적이고 반응적인 C 프로그램을 작성할 수 있습니다.

논리 연산자 구현 (And, Or, Not)

이 단계에서는 C 의 논리 연산자를 탐구합니다. 이는 복잡한 조건문을 생성하고 프로그램에서 결정을 내리는 데 필수적입니다. 논리 연산자를 코드에서 의사 결정의 언어라고 생각하여 복잡한 추론 경로를 구축할 수 있습니다.

프로젝트 디렉토리로 이동하여 새 파일을 만듭니다.

cd ~/project
touch logical_operators.c

WebIDE 에서 파일을 열고 다음 코드를 추가합니다.

#include <stdio.h>

int main() {
    int x = 5, y = 10, z = 15;

    // Logical AND (&&)
    printf("Logical AND (&&) Demonstrations:\n");
    printf("(x < y) && (y < z) is %d\n", (x < y) && (y < z));
    printf("(x > y) && (y < z) is %d\n", (x > y) && (y < z));

    // Logical OR (||)
    printf("\nLogical OR (||) Demonstrations:\n");
    printf("(x > y) || (y < z) is %d\n", (x > y) || (y < z));
    printf("(x > y) || (y > z) is %d\n", (x > y) || (y > z));

    // Logical NOT (!)
    printf("\nLogical NOT (!) Demonstrations:\n");
    printf("!(x < y) is %d\n", !(x < y));
    printf("!(x > y) is %d\n", !(x > y));

    // Complex logical expressions
    printf("\nComplex Logical Expressions:\n");
    int a = 20, b = 30, c = 40;
    printf("((a < b) && (b < c)) is %d\n", ((a < b) && (b < c)));
    printf("((a > b) || (b < c)) is %d\n", ((a > b) || (b < c)));

    return 0;
}

논리 연산자를 사용할 때는 부울 조건을 어떻게 변환하는지 이해하는 것이 중요합니다. 각 연산자는 미묘한 논리적 평가를 생성할 수 있는 특정 동작을 가지고 있습니다.

프로그램을 컴파일하고 실행합니다.

gcc logical_operators.c -o logical_operators
./logical_operators

예시 출력:

Logical AND (&&) Demonstrations:
(x < y) && (y < z) is 1
(x > y) && (y < z) is 0

Logical OR (||) Demonstrations:
(x > y) || (y < z) is 1
(x > y) || (y > z) is 0

Logical NOT (!) Demonstrations:
!(x < y) is 0
!(x > y) is 1

Complex Logical Expressions:
((a < b) && (b < c)) is 1
((a > b) || (b < c)) is 1

논리 연산자에 대한 주요 사항:

  • && (AND): 두 조건이 모두 참인 경우에만 true 를 반환합니다.
  • || (OR): 적어도 하나의 조건이 참이면 true 를 반환합니다.
  • ! (NOT): 조건의 부울 값을 반전시킵니다.
  • 논리 연산자는 종종 조건문에서 사용됩니다.
  • 더 복잡한 의사 결정 논리를 만드는 데 도움이 됩니다.

이러한 연산자는 C 프로그램에서 정교한 조건 논리를 만드는 데 필수적입니다. 이러한 연산자를 마스터하면 정밀하고 명확하게 복잡한 시나리오를 처리할 수 있는 더 지능적이고 반응적인 코드를 작성할 수 있습니다.

논리 연산자의 장점은 단순성과 강력함에 있습니다. 간단한 부울 조건을 복잡한 의사 결정 트리로 변환하여 프로그래머가 실제 프로그래밍 문제를 해결할 수 있는 복잡한 논리 흐름을 만들 수 있습니다.

간단한 계산기 프로그램 만들기

초보 프로그래머로서 수학적 연산을 코드로 변환하고 다양한 사용자 상호 작용 시나리오를 처리하는 방법을 배우게 됩니다. 우리가 만들 간단한 계산기는 실제 문제를 해결하는 데 있어 기본적인 프로그래밍 구조의 강력함을 보여줄 것입니다.

프로젝트 디렉토리로 이동하여 새 파일을 만듭니다.

cd ~/project
touch simple_calculator.c

WebIDE 에서 파일을 열고 다음 코드를 추가합니다.

#include <stdio.h>

int main() {
    char operator;
    double num1, num2, result;

    // Prompt user for input
    printf("Simple Calculator\n");
    printf("Enter an operator (+, -, *, /): ");
    scanf(" %c", &operator);

    printf("Enter two numbers: ");
    scanf("%lf %lf", &num1, &num2);

    // Perform calculation based on operator
    switch(operator) {
        case '+':
            result = num1 + num2;
            printf("%.2lf + %.2lf = %.2lf\n", num1, num2, result);
            break;
        case '-':
            result = num1 - num2;
            printf("%.2lf - %.2lf = %.2lf\n", num1, num2, result);
            break;
        case '*':
            result = num1 * num2;
            printf("%.2lf * %.2lf = %.2lf\n", num1, num2, result);
            break;
        case '/':
            // Check for division by zero
            if (num2 != 0) {
                result = num1 / num2;
                printf("%.2lf / %.2lf = %.2lf\n", num1, num2, result);
            } else {
                printf("Error! Division by zero is not allowed.\n");
            }
            break;
        default:
            printf("Error! Operator is not correct\n");
    }

    return 0;
}

이 코드는 몇 가지 주요 프로그래밍 개념에 대한 포괄적인 소개를 나타냅니다. switch 문을 사용하면 여러 연산 시나리오를 효율적으로 처리할 수 있으며, scanf() 함수를 사용하면 동적 사용자 입력을 사용할 수 있습니다. 또한 0 으로 나누기와 같은 일반적인 수학적 오류를 방지하기 위해 필수적인 오류 처리를 통합했습니다.

프로그램을 컴파일합니다.

gcc simple_calculator.c -o simple_calculator

계산기를 실행하고 다양한 연산을 시도해 보십시오.

./simple_calculator

예시 상호 작용:

Simple Calculator
Enter an operator (+, -, *, /): +
Enter two numbers: 10 5
10.00 + 5.00 = 15.00

Simple Calculator
Enter an operator (+, -, *, /): *
Enter two numbers: 4 6
4.00 * 6.00 = 24.00

Simple Calculator
Enter an operator (+, -, *, /): /
Enter two numbers: 20 4
20.00 / 4.00 = 5.00

계산기의 주요 기능:

  • switch 문을 사용하여 다양한 연산을 처리합니다.
  • 네 가지 기본 산술 연산을 처리합니다.
  • 0 으로 나누기에 대한 오류 검사를 포함합니다.
  • 사용자 입력을 위해 scanf()를 사용합니다.
  • 이전 단계에서 배운 연산자의 사용을 보여줍니다.

이 프로그램은 몇 가지 C 프로그래밍 개념을 결합합니다.

  • scanf()를 사용한 사용자 입력
  • 산술 및 비교 연산자
  • 조건문
  • 기본 오류 처리

이 예제를 통해 작업함으로써 프로그래밍을 사용하여 실제 문제를 해결하는 방법을 이해하는 데 중요한 단계를 거쳤습니다. 각 코드 줄은 수학적 논리를 기능적인 컴퓨터 프로그램으로 변환하는 작지만 중요한 결정을 나타냅니다.

요약

이 랩에서는 산술, 관계, 논리 연산자를 포함하여 C 프로그래밍의 기본적인 연산자를 탐구했습니다. 다양한 유형의 연산자를 소개하고 덧셈, 뺄셈, 곱셈, 나눗셈과 같은 기본적인 산술 연산을 시연하는 것으로 시작했습니다. 그런 다음 값 간의 논리적 비교를 수행할 수 있도록 비교를 위한 관계 연산자를 자세히 살펴보았습니다. 또한, 조건문과 프로그램의 의사 결정을 구축하는 데 필수적인 AND, OR, NOT 을 포함한 논리 연산자를 구현했습니다. 마지막으로, 이러한 개념을 결합하여 간단한 계산기 프로그램을 만들어 C 에서 연산자의 실용적인 적용을 보여주었습니다.