산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Industrial programming >> C 언어

C 프로그래밍 연산자 완벽 가이드

C 프로그래밍 연산자

이 튜토리얼에서는 예제를 통해 C 프로그래밍의 다양한 연산자에 대해 학습합니다.

동영상: C 산술 연산자

연산자는 값이나 변수에 대해 연산을 수행하는 기호입니다. 예: +는 덧셈을 수행하는 연산자입니다.

C에는 다양한 연산을 수행하는 광범위한 연산자가 있습니다.


C 산술 연산자

산술 연산자는 수치(상수와 변수)에 대해 덧셈, 뺄셈, 곱셈, 나눗셈 등 수학적 연산을 수행합니다.

연산자연산자 의미
+덧셈 또는 단항 플러스
-뺄셈 또는 단항 마이너스
*곱셈
/나눗셈
%나눗셈 후 나머지(모듈로 연산)

예제 1: 산술 연산자

// 산술 연산자 작동
#include <stdio.h>
int main() {
    int a = 9, b = 4, c;
    c = a + b;
    printf("a+b = %d \n", c);
    c = a - b;
    printf("a-b = %d \n", c);
    c = a * b;
    printf("a*b = %d \n", c);
    c = a / b;
    printf("a/b = %d \n", c);
    c = a % b;
    printf("a를 b로 나눈 나머지 = %d \n", c);
    return 0;
}

출력

a+b = 13
a-b = 5
a*b = 36
a/b = 2
a를 b로 나눈 나머지=1

+, -, * 연산자는 예상대로 덧셈, 뺄셈, 곱셈을 계산합니다.

일반 계산에서 9/4 = 2.25지만 프로그램 출력엔 2입니다.

두 변수 a와 b가 모두 정수라서 결과도 정수입니다. 컴파일러는 소수점 이하를 버리고 2.25 대신 2를 보여줍니다.

모듈로 연산자 %는 나머지를 계산합니다. a=9를 b=4로 나누면 나머지는 1입니다. % 연산자는 정수에서만 사용 가능합니다.

a = 5.0, b = 2.0, c = 5, d = 2라고 가정하면 C에서:

// 피연산자 중 하나가 부동소수점 수인 경우
a/b = 2.5
a/d = 2.5
c/b = 2.5
// 두 피연산자가 모두 정수인 경우
c/d = 2

C 증감 연산자

C에는 피연산자(상수나 변수) 값을 1씩 변경하는 증감 연산자 ++와 --가 있습니다.

++은 값을 1 증가시키고 --는 1 감소시킵니다. 이 두 연산자는 단항 연산자로 단일 피연산자만 다룹니다.

예제 2: 증감 연산자

// 증감 연산자 작동
#include <stdio.h>
int main() {
    int a = 10, b = 100;
    float c = 10.5, d = 100.5;
    printf("++a = %d \n", ++a);
    printf("--b = %d \n", --b);
    printf("++c = %f \n", ++c);
    printf("--d = %f \n", --d);
    return 0;
}

출력

++a = 11
--b = 99
++c = 11.500000
--d = 99.500000

여기서 ++와 --는 접두사로 사용되었습니다. 이 연산자들은 접미사처럼 a++, a--로도 쓸 수 있습니다. 접미사 사용 시 작동 방식은 별도 페이지를 참조하세요.


C 대입 연산자

대입 연산자는 변수에 값을 할당하는 데 쓰입니다. 가장 흔한 대입 연산자는 =입니다.

연산자예제동일함
=a = ba = b
+=a += ba = a+b
-=a -= ba = a-b
*=a *= ba = a*b
/=a /= ba = a/b
%=a %= ba = a%b

예제 3: 대입 연산자

// 대입 연산자 작동
#include <stdio.h>
int main() {
    int a = 5, c;
    c = a; // c는 5
    printf("c = %d\n", c);
    c += a; // c는 10
    printf("c = %d\n", c);
    c -= a; // c는 5
    printf("c = %d\n", c);
    c *= a; // c는 25
    printf("c = %d\n", c);
    c /= a; // c는 5
    printf("c = %d\n", c);
    c %= a; // c = 0
    printf("c = %d\n", c);
    return 0;
}

출력

c = 5
c = 10
c = 5
c = 25
c = 5
c = 0

C 관계 연산자

관계 연산자는 두 피연산자 간의 관계를 검사합니다. 관계가 참이면 1, 거짓이면 0을 반환합니다.

관계 연산자는 의사결정과 루프에서 사용됩니다.

연산자의미예제
==같음5 == 3은 0으로 평가
>보다 큼5 > 3은 1로 평가
<보다 작음5 < 3은 0으로 평가
!=같지 않음5 != 3은 1로 평가
>=보다 크거나 같음5 >= 3은 1로 평가
<=보다 작거나 같음5 <= 3은 0으로 평가

예제 4: 관계 연산자

// 관계 연산자 작동
#include <stdio.h>
int main() {
    int a = 5, b = 5, c = 10;
    printf("%d == %d is %d \n", a, b, a == b);
    printf("%d == %d is %d \n", a, c, a == c);
    printf("%d > %d is %d \n", a, b, a > b);
    printf("%d > %d is %d \n", a, c, a > c);
    printf("%d < %d is %d \n", a, b, a < b);
    printf("%d < %d is %d \n", a, c, a < c);
    printf("%d != %d is %d \n", a, b, a != b);
    printf("%d != %d is %d \n", a, c, a != c);
    printf("%d >= %d is %d \n", a, b, a >= b);
    printf("%d >= %d is %d \n", a, c, a >= c);
    printf("%d <= %d is %d \n", a, b, a <= b);
    printf("%d <= %d is %d \n", a, c, a <= c);
    return 0;
}

출력

5 == 5 is 1
5 == 10 is 0
5 > 5 is 0
5 > 10 is 0
5 < 5 is 0
5 < 10 is 1
5 != 5 is 0
5 != 10 is 1
5 >= 5 is 1
5 >= 10 is 0
5 <= 5 is 1
5 <= 10 is 1

C 논리 연산자

논리 연산자를 포함한 표현식은 표현식이 참인지 거짓인지에 따라 0 또는 1을 반환합니다. 논리 연산자는 C 프로그래밍에서 의사결정에 흔히 쓰입니다.

연산자의미예제
&&논리 AND. 모든 피연산자가 참일 때만 참c = 5, d = 2라면 ((c==5) && (d>5))는 0
||논리 OR. 한 피연산자라도 참이면 참c = 5, d = 2라면 ((c==5) || (d>5))는 1
!논리 NOT. 피연산자가 0일 때만 참c = 5라면 !(c==5)는 0

예제 5: 논리 연산자

// 논리 연산자 작동
#include <stdio.h>
int main() {
    int a = 5, b = 5, c = 10, result;
    result = (a == b) && (c > b);
    printf("(a == b) && (c > b) is %d \n", result);
    result = (a == b) && (c < b);
    printf("(a == b) && (c < b) is %d \n", result);
    result = (a == b) || (c < b);
    printf("(a == b) || (c < b) is %d \n", result);
    result = (a != b) || (c < b);
    printf("(a != b) || (c < b) is %d \n", result);
    result = !(a != b);
    printf("!(a != b) is %d \n", result);
    result = !(a == b);
    printf("!(a == b) is %d \n", result);
    return 0;
}

출력

(a == b) && (c > b) is 1
(a == b) && (c < b) is 0
(a == b) || (c < b) is 1
(a != b) || (c < b) is 0
!(a != b) is 1
!(a == b) is 0

논리 연산자 프로그램 설명


C 비트 연산자

계산 중 덧셈, 뺄셈, 곱셈, 나눗셈 같은 수학 연산은 비트 레벨로 변환되어 처리 속도를 높이고 전력을 절약합니다.

비트 연산자는 C에서 비트 수준 연산을 수행하는 데 사용됩니다.

연산자의미
&비트 AND
|비트 OR
^비트 배타적 OR
~비트 보수
<<왼쪽 시프트
>>오른쪽 시프트

C 비트 연산자에서 더 자세히 알아보세요.

기타 연산자


콤마 연산자

콤마 연산자는 관련 표현식을 연결하는 데 사용됩니다. 예:

int a, c = 5, d;

sizeof 연산자

sizeof는 데이터(상수, 변수, 배열, 구조체 등)의 크기를 반환하는 단항 연산자입니다.

예제 6: sizeof 연산자

#include <stdio.h>
int main() {
    int a;
    float b;
    double c;
    char d;
    printf("Size of int=%lu bytes\n", sizeof(a));
    printf("Size of float=%lu bytes\n", sizeof(b));
    printf("Size of double=%lu bytes\n", sizeof(c));
    printf("Size of char=%lu byte\n", sizeof(d));
    return 0;
}

출력

Size of int = 4 bytes
Size of float = 4 bytes
Size of double = 8 bytes
Size of char = 1 byte

삼항 연산자 ?:, 참조 연산자 &, 역참조 연산자 *, 멤버 선택 연산자 -> 등은 이후 튜토리얼에서 다룹니다.

C 언어

  1. 마이크로프로세서 프로그래밍 기초
  2. C# 연산자 – C# 연산자 종합 가이드
  3. C# 비트 연산자와 시프트 연산자 완전 정복: 종합 가이드
  4. C# 네임스페이스 마스터하기: 구성, 범위, 모범 사례
  5. C++ 연산자 마스터하기: 유형별 완벽 가이드와 실전 예제
  6. C++ 배열을 함수에 전달하는 방법: 실전 가이드
  7. C 사용자 정의 함수 4가지 검증된 패턴
  8. 파이썬 연산자 마스터하기: 종합 가이드
  9. Java 연산자 마스터하기: 종류, 문법, 실전 예제
  10. C 프로그래밍 입문: 시스템 프로그래밍의 기초 다지기