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

C++ 연산자 마스터하기: 유형별 완벽 가이드와 실전 예제

C++ 연산자 완전 정복

C++의 다양한 연산자 유형을 예제와 함께 학습합니다. 프로그래밍에서 연산자는 값이나 변수에 대해 연산을 수행하는 기호입니다.

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

C++ 연산자는 6가지 유형으로 분류됩니다:

  1. 산술 연산자
  2. 대입 연산자
  3. 관계 연산자
  4. 논리 연산자
  5. 비트 연산자
  6. 기타 연산자

1. C++ 산술 연산자

변수와 데이터에 산술 연산을 수행합니다. 예:

a + b;

+ 연산자가 a, b를 더합니다. 다른 산술 연산자들도 있습니다.

연산자연산
+덧셈
-뺄셈
*곱셈
/나눗셈
%모듈로(나머지)

예제 1: 산술 연산자

#include <iostream>
using namespace std;
int main() {
    int a, b;
    a = 7;
    b = 2;
    cout << "a + b = " << (a + b) << endl;
    cout << "a - b = " << (a - b) << endl;
    cout << "a * b = " << (a * b) << endl;
    cout << "a / b = " << (a / b) << endl;
    cout << "a % b = " << (a % b) << endl;
    return 0;
}

실행 결과

a + b = 9
a - b = 5
a * b = 14
a / b = 3
a % b = 1

+, -, *는 예상대로 덧셈, 뺄셈, 곱셈을 수행합니다.

/ 나눗셈 연산자

위 예제의 (a / b) 연산. /는 나눗셈 연산자입니다.

정수를 정수로 나누면 몫이 나옵니다. 하지만 피제수나 제수 중 하나가 부동소수점이면 결과도 소수로 나옵니다.

C++에서: 7/2 = 3, 7.0/2 = 3.5, 7/2.0 = 3.5, 7.0/2.0 = 3.5

% 모듈로 연산자

%는 나머지를 계산합니다. a=9를 b=4로 나누면 나머지는 1입니다.

참고: % 연산자는 정수에만 사용 가능합니다.


증감 연산자

C++은 증가(++)와 감소(--) 연산자를 제공합니다.

예: int num = 5; ++num; // 6


예제 2: 증감 연산자

// 증감 연산자 동작
#include <iostream>
using namespace std;
int main() {
    int a = 10, b = 100, result_a, result_b;
    // a를 1 증가시켜 result_a에 저장
    result_a = ++a;
    cout << "result_a = " << result_a << endl;
    // b를 1 감소시켜 result_b에 저장
    result_b = --b;
    cout << "result_b = " << result_b << endl;
    return 0;
}

실행 결과

result_a = 11
result_b = 99

위 프로그램에서 ++, --를 전위(++a, --b)로 사용했습니다. 후위(a++, b--)로도 사용 가능합니다.

자세한 내용은 증감 연산자 튜토리얼을 참조하세요.


2. C++ 대입 연산자

변수에 값을 대입할 때 사용합니다. 예:

// a에 5 대입
a = 5;
연산자예제동등한 표현
=a = b;a = b;
+=a += b;a = a + b;
-=a -= b;a = a - b;
*=a *= b;a = a * b;
/=a /= b;a = a / b;
%=a %= b;a = a % b;

예제 3: 대입 연산자

#include <iostream>
using namespace std;
int main() {
    int a, b;
    a = 2; // a에 2 대입
    b = 7; // b에 7 대입
    cout << "a = " << a << endl;
    cout << "b = " << b << endl;
    cout << "\nAfter a += b;" << endl;
    a += b; // a = a + b
    cout << "a = " << a << endl;
    return 0;
}

실행 결과

a = 2
b = 7
After a += b;
a = 9

3. C++ 관계 연산자

두 피연산자 간의 관계를 검사합니다. 예:

// a가 b보다 큰지 검사
a > b;

>는 관계 연산자입니다. a가 b보다 큰지 검사합니다.

관계가 true면 1, false면 0을 반환합니다.

연산자의미예제
==같음3 == 5 → false
!=다름3 != 5 → true
>초과3 > 5 → false
<미만3 < 5 → true
>=이상3 >= 5 → false
<=이하3 <= 5 → true

예제 4: 관계 연산자

#include <iostream>
using namespace std;
int main() {
    int a, b;
    a = 3; b = 5;
    bool result;
    result = (a == b); cout << "3 == 5 is " << result << endl;
    result = (a != b); cout << "3 != 5 is " << result << endl;
    result = a > b; cout << "3 > 5 is " << result << endl;
    result = a < b; cout << "3 < 5 is " << result << endl;
    result = a >= b; cout << "3 >= 5 is " << result << endl;
    result = a <= b; cout << "3 <= 5 is " << result << endl;
    return 0;
}

실행 결과

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

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


4. C++ 논리 연산자

표현식이 true인지 false인지 검사합니다. true면 1, false면 0 반환.

연산자예제의미
&&expr1 && expr2논리 AND. 모든 피연산자가 true일 때만 true
||expr1 || expr2논리 OR. 하나라도 true면 true
!!expr논리 NOT. 피연산자가 false일 때만 true

논리 연산자는 의사결정에 자주 쓰입니다. 이해를 돕기 위한 예:

a = 5, b = 8 가정:
(a > 3) && (b > 5) → true
(a > 3) && (b < 5) → false
(a > 3) || (b > 5) → true
(a > 3) || (b < 5) → true
(a < 3) || (b < 5) → false
!(a < 3) → true
!(a > 3) → false

예제 5: 논리 연산자

#include <iostream>
using namespace std;
int main() {
    bool result;
    result = (3 != 5) && (3 < 5); cout << "(3 != 5) && (3 < 5) is " << result << endl;
    result = (3 == 5) && (3 < 5); cout << "(3 == 5) && (3 < 5) is " << result << endl;
    result = (3 == 5) && (3 > 5); cout << "(3 == 5) && (3 > 5) is " << result << endl;
    result = (3 != 5) || (3 < 5); cout << "(3 != 5) || (3 < 5) is " << result << endl;
    result = (3 != 5) || (3 > 5); cout << "(3 != 5) || (3 > 5) is " << result << endl;
    result = (3 == 5) || (3 > 5); cout << "(3 == 5) || (3 > 5) is " << result << endl;
    result = !(5 == 2); cout << "!(5 == 2) is " << result << endl;
    result = !(5 == 5); cout << "!(5 == 5) is " << result << endl;
    return 0;
}

실행 결과

(3 != 5) && (3 < 5) is 1
(3 == 5) && (3 < 5) is 0
(3 == 5) && (3 > 5) is 0
(3 != 5) || (3 < 5) is 1
(3 != 5) || (3 > 5) is 1
(3 == 5) || (3 > 5) is 0
!(5 == 2) is 1
!(5 == 5) is 0

논리 연산자 프로그램 해설


5. C++ 비트 연산자

개별 비트 단위 연산 수행. char와 int 타입에서만 사용 가능.

연산자설명
&비트 AND
|비트 OR
^비트 XOR
~비트 1의 보수
<<비트 왼쪽 시프트
>>비트 오른쪽 시프트

자세한 내용은 C++ 비트 연산자 튜토리얼을 참조하세요.


6. 기타 C++ 연산자

나중에 다룰 다른 주요 연산자들:

연산자설명예제
sizeof데이터 타입 크기 반환sizeof(int); // 4
?:조건에 따른 값 반환(삼항)string result = (5 > 0) ? "even" : "odd";
&피연산자 메모리 주소&num; // num의 주소
.구조체/클래스 멤버 접근s1.marks = 92;
->포인터로 멤버 접근ptr->marks = 92;
<<출력 스트림cout << 5;
>>입력 스트림cin >> num;

C 언어

  1. C# 연산자 – C# 연산자 종합 가이드
  2. C++ 데이터 타입 이해하기: 기초, 수정자, 모범 사례
  3. C++ 주석: 가독성 높고 유지보수하기 좋은 코드 작성법
  4. C++ 클래스 템플릿 마스터: 실전 가이드
  5. C 프로그래밍 연산자 완벽 가이드
  6. 파이썬 연산자 마스터하기: 종합 가이드
  7. Java 연산자 마스터하기: 종류, 문법, 실전 예제
  8. C++ 연산자 총정리: 종류, 예제, 샘플 프로그램
  9. C 연산자 완전 정복: 산술, 관계, 논리, 비트, 대입, 우선순위 총정리
  10. C++ 프로그래밍 언어: 개요와 핵심 특징