C++ 연산자
연산자는 컴파일러에게 특정 수학적 또는 논리적 연산을 수행하도록 지시하는 기호입니다. C++에는 풍부한 내장 연산자가 있으며 다음 유형의 연산자를 제공합니다.
산술 연산자
관계 연산자
논리 연산자
비트 연산자
할당 연산자
기타 연산자
이 장에서는 산술 연산자, 관계 연산자, 논리 연산자, 비트 연산자, 할당 연산자 및 기타 연산자를 하나씩 소개합니다.
산술 연산자
다음 표는 C++에서 지원하는 산술 연산자를 보여줍니다.
변수 A의 값이 10이고 변수 B의 값이 20이라고 가정하면 다음과 같습니다.
Operator | Description | Example | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
+ | 두 피연산자를 추가하면 | A + B가 됩니다. 30 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
- | 첫 번째 피연산자에서 두 번째 피연산자 | 를 뺍니다. A * B는 200 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/ | 분모로 분자를 나누면 | B / A는 2 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
% | 모듈로 연산자, 나눗셈 후 나머지 | B % A는 0 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
++ | 증분 연산자, 정수 값을 1 | A++로 11 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
을 얻습니다.-- | 감소 연산자, 정수 값을 1 | A만큼 줄이면 9 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
이 됩니다.예제C++에서 사용할 수 있는 산술 연산자를 이해하려면 아래 예를 살펴보세요. 다음 C++ 프로그램을 test.cpp 파일에 복사하여 붙여넣고 프로그램을 컴파일하고 실행하세요. #include <iostream> using namespace std; main() { int a = 21; int b = 10; int c ; c = a + b; cout << "Line 1 - c 的值是 " << c << endl ; c = a - b; cout << "Line 2 - c 的值是 " << c << endl ; c = a * b; cout << "Line 3 - c 的值是 " << c << endl ; c = a / b; cout << "Line 4 - c 的值是 " << c << endl ; c = a % b; cout << "Line 5 - c 的值是 " << c << endl ; c = a++; cout << "Line 6 - c 的值是 " << c << endl ; c = a--; cout << "Line 7 - c 的值是 " << c << endl ; return 0; } 위 코드를 컴파일하고 실행하면 다음과 같은 결과가 나옵니다. Line 1 - c 的值是 31 Line 2 - c 的值是 11 Line 3 - c 的值是 210 Line 4 - c 的值是 2 Line 5 - c 的值是 1 Line 6 - c 的值是 21 Line 7 - c 的值是 22 관계 연산자다음 표는 C++에서 지원하는 관계 연산자를 보여줍니다. 변수 A의 값이 10이고 변수 B의 값이 20이라고 가정하면,
예제C++에서 사용할 수 있는 관계 연산자를 이해하려면 아래 예를 살펴보세요. 다음 C++ 프로그램을 test.cpp 파일에 복사하여 붙여넣고 프로그램을 컴파일하고 실행하세요. #include <iostream> using namespace std; main() { int a = 21; int b = 10; int c ; if( a == b ) { cout << "Line 1 - a 等于 b" << endl ; } else { cout << "Line 1 - a 不等于 b" << endl ; } if ( a < b ) { cout << "Line 2 - a 小于 b" << endl ; } else { cout << "Line 2 - a 不小于 b" << endl ; } if ( a > b ) { cout << "Line 3 - a 大于 b" << endl ; } else { cout << "Line 3 - a 不大于 b" << endl ; } /* 改变 a 和 b 的值 */ a = 5; b = 20; if ( a <= b ) { cout << "Line 4 - a 小于或等于 b" << endl ; } if ( b >= a ) { cout << "Line 5 - b 大于或等于 a" << endl ; } return 0; } 위 코드를 컴파일하고 실행하면 다음과 같은 결과가 나옵니다. Line 1 - a 不等于 b Line 2 - a 不小于 b Line 3 - a 大于 b Line 4 - a 小于或等于 b Line 5 - b 大于或等于 a 논리 연산자다음 표는 C++에서 지원하는 관계형 논리 연산자를 보여줍니다. 변수 A의 값이 1이고 변수 B의 값이 0이라고 가정하면,
예제C++에서 사용할 수 있는 논리 연산자를 이해하려면 아래 예를 살펴보세요. 다음 C++ 프로그램을 test.cpp 파일에 복사하여 붙여넣고 프로그램을 컴파일하고 실행하세요. #include <iostream> using namespace std; main() { int a = 5; int b = 20; int c ; if ( a && b ) { cout << "Line 1 - 条件为真"<< endl ; } if ( a || b ) { cout << "Line 2 - 条件为真"<< endl ; } /* 改变 a 和 b 的值 */ a = 0; b = 10; if ( a && b ) { cout << "Line 3 - 条件为真"<< endl ; } else { cout << "Line 4 - 条件不为真"<< endl ; } if ( !(a && b) ) { cout << "Line 5 - 条件为真"<< endl ; } return 0; } 위 코드를 컴파일하고 실행하면 다음과 같은 결과가 생성됩니다. Line 1 - 条件为真 Line 2 - 条件为真 Line 4 - 条件不为真 Line 5 - 条件为真 Bitwise OperatorsBitwise 연산자는 비트에 대해 작동하고 비트 단위로 작업을 수행합니다. &, | 및 ^의 실제 값은 다음과 같습니다.
A = 0011 1100 B = 0000 1101 ---- ------------- A&B = 0000 1100 A|B = 0011 1101 A^B = 0011 0001 ~A = 1100 0011 다음 표는 C++를 보여줍니다. 비트 연산자를 지원합니다. 변수 A의 값이 60이고 변수 B의 값이 13이라고 가정하면 다음과 같습니다.
예제C++에서 사용할 수 있는 할당 연산자에 대해 알아보려면 아래 예를 살펴보세요. 다음 C++ 프로그램을 test.cpp 파일에 복사하여 붙여넣고 프로그램을 컴파일하고 실행하세요. #include <iostream> using namespace std; main() { int a = 21; int c ; c = a; cout << "Line 1 - = 运算符实例,c 的值 = : " <<c<< endl ; c += a; cout << "Line 2 - += 运算符实例,c 的值 = : " <<c<< endl ; c -= a; cout << "Line 3 - -= 运算符实例,c 的值 = : " <<c<< endl ; c *= a; cout << "Line 4 - *= 运算符实例,c 的值 = : " <<c<< endl ; c /= a; cout << "Line 5 - /= 运算符实例,c 的值 = : " <<c<< endl ; c = 200; c %= a; cout << "Line 6 - %= 运算符实例,c 的值 = : " <<c<< endl ; c <<= 2; cout << "Line 7 - <<= 运算符实例,c 的值 = : " <<c<< endl ; c >>= 2; cout << "Line 8 - >>= 运算符实例,c 的值 = : " <<c<< endl ; c &= 2; cout << "Line 9 - &= 运算符实例,c 的值 = : " <<c<< endl ; c ^= 2; cout << "Line 10 - ^= 运算符实例,c 的值 = : " <<c<< endl ; c |= 2; cout << "Line 11 - |= 运算符实例,c 的值 = : " <<c<< endl ; return 0; } 위 코드를 컴파일하고 실행하면 다음과 같은 결과가 생성됩니다. Line 1 - = 运算符实例,c 的值 = 21 Line 2 - += 运算符实例,c 的值 = 42 Line 3 - -= 运算符实例,c 的值 = 21 Line 4 - *= 运算符实例,c 的值 = 441 Line 5 - /= 运算符实例,c 的值 = 21 Line 6 - %= 运算符实例,c 的值 = 11 Line 7 - <<= 运算符实例,c 的值 = 44 Line 8 - >>= 运算符实例,c 的值 = 11 Line 9 - &= 运算符实例,c 的值 = 2 Line 10 - ^= 运算符实例,c 的值 = 0 Line 11 - |= 运算符实例,c 的值 = 2 기타 연산자다음 표에는 C++에서 지원하는 다른 중요한 연산자가 나열되어 있습니다.
C++의 연산자 우선순위연산자의 우선순위에 따라 표현식의 용어 조합이 결정됩니다. 이는 표현식이 평가되는 방식에 영향을 미칩니다. 일부 연산자는 다른 연산자보다 우선순위가 높습니다. 예를 들어 곱셈 및 나눗셈 연산자는 덧셈 및 뺄셈 연산자보다 우선순위가 높습니다. 예를 들어 x = 7 + 3 * 2, 여기서 x에는 20 대신 13이라는 값이 할당됩니다. 왜냐하면 * 연산자가 +보다 우선순위가 높기 때문에 곱셈 3*2가 먼저 계산된 다음 7이 더해지기 때문입니다. . 다음 표에는 연산자 우선 순위가 높은 순서대로 나열되어 있습니다. 우선 순위가 높은 연산자는 표 위에 표시되고 우선 순위가 낮은 연산자는 표 아래에 표시됩니다. 표현식에서는 우선순위가 높은 연산자가 먼저 평가됩니다.
위 코드를 컴파일하고 실행하면 다음과 같은 결과가 나옵니다. |