C 언어
이 튜토리얼에서는 예제를 통해 C++의 다양한 연산자 유형에 대해 알아봅니다. 프로그래밍에서 연산자는 값이나 변수에 대해 연산을 수행하는 기호입니다.
연산자는 변수와 값에 대한 연산을 수행하는 기호입니다. 예:+
는 덧셈에 사용되는 연산자이고 -
뺄셈에 사용되는 연산자입니다.
C++의 연산자는 6가지 유형으로 분류할 수 있습니다.
산술 연산자는 변수 및 데이터에 대한 산술 연산을 수행하는 데 사용됩니다. 예를 들어,
a + b;
여기서 +
연산자는 두 개의 변수 a를 추가하는 데 사용됩니다. 및 b . 마찬가지로 C++에는 다양한 다른 산술 연산자가 있습니다.
연산자 | 작업 |
---|---|
+ | 추가 |
- | 빼기 |
* | 곱하기 |
/ | 사업부 |
% | 모듈로 연산(나누기 후 나머지) |
#include <iostream>
using namespace std;
int main() {
int a, b;
a = 7;
b = 2;
// printing the sum of a and b
cout << "a + b = " << (a + b) << endl;
// printing the difference of a and b
cout << "a - b = " << (a - b) << endl;
// printing the product of a and b
cout << "a * b = " << (a * b) << endl;
// printing the division of a by b
cout << "a / b = " << (a / b) << endl;
// printing the modulo of a by b
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)
작업에 유의하십시오. 우리 프로그램에서. /
연산자는 나누기 연산자입니다.
위의 예에서 볼 수 있듯이 정수를 다른 정수로 나누면 몫이 됩니다. 그러나 제수나 피제수가 부동 소수점 숫자인 경우 결과는 소수로 표시됩니다.
In C++, 7/2 is 3 7.0 / 2 is 3.5 7 / 2.0 is 3.5 7.0 / 2.0 is 3.5
% 모듈로 연산자
모듈로 연산자 %
나머지를 계산합니다. a = 9
일 때 b = 4
로 나뉩니다. , 나머지는 1입니다. .
참고: %
연산자는 정수에만 사용할 수 있습니다.
C++는 증가 및 감소 연산자도 제공합니다. ++
및 --
각각.
++
피연산자의 값을 1 증가 --
1 감소 예를 들어,
int num = 5;
// increment operator
++num; // 6
여기에서 코드 ++num;
num의 값을 증가시킵니다. 1 기준 .
// Working of increment and decrement operators
#include <iostream>
using namespace std;
int main() {
int a = 10, b = 100, result_a, result_b;
// incrementing a by 1 and storing the result in result_a
result_a = ++a;
cout << "result_a = " << result_a << endl;
// decrementing b by 1 and storing the result in result_b
result_b = --b;
cout << "result_b = " << result_b << endl;
return 0;
}
출력
result_a = 11 result_b = 99
위의 프로그램에서는 ++
을 사용했습니다. 및 --
연산자를 접두사(++a 및 --b)로 사용 . 그러나 이러한 연산자를 접미사(a++ 및 b--)로 사용할 수도 있습니다. .
자세한 내용은 증가 및 감소 연산자를 참조하십시오.
<시간>C++에서 할당 연산자는 변수에 값을 할당하는 데 사용됩니다. 예를 들어,
// assign 5 to a
a = 5;
여기에 5
값을 할당했습니다. 변수 a에 .
연산자 | 예 | 동등 |
---|---|---|
= | 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; |
#include <iostream>
using namespace std;
int main() {
int a, b;
// 2 is assigned to a
a = 2;
// 7 is assigned to b
b = 7;
cout << "a = " << a << endl;
cout << "b = " << b << endl;
cout << "\nAfter a += b;" << endl;
// assigning the sum of a and b to a
a += b; // a = a +b
cout << "a = " << a << endl;
return 0;
}
출력
a = 2 b = 7 After a += b; a = 9<시간>
관계 연산자는 두 피연산자 간의 관계를 확인하는 데 사용됩니다. 예를 들어,
// checks if a is greater than b
a > b;
여기, >
관계 연산자입니다. a b보다 큽니다. 여부.
관계가 true인 경우 , 1을 반환합니다. 반면 관계가 거짓이면 , 0을 반환합니다. .
연산자 | 의미 | 예 |
---|---|---|
== | 다음과 같음 | 3 == 5 우리에게 거짓을 준다 |
!= | 같지 않음 | 3 != 5 우리에게 진실을 줍니다. |
> | 보다 큼 | 3 > 5 우리에게 거짓을 준다 |
< | 미만 | 3 < 5 우리에게 진실을 줍니다. |
>= | 크거나 같음 | 3 >= 5 우리에게 거짓을 줘 |
<= | 작거나 같음 | 3 <= 5 우리에게 진실을 줍니다. |
#include <iostream>
using namespace std;
int main() {
int a, b;
a = 3;
b = 5;
bool result;
result = (a == b); // false
cout << "3 == 5 is " << result << endl;
result = (a != b); // true
cout << "3 != 5 is " << result << endl;
result = a > b; // false
cout << "3 > 5 is " << result << endl;
result = a < b; // true
cout << "3 < 5 is " << result << endl;
result = a >= b; // false
cout << "3 >= 5 is " << result << endl;
result = a <= b; // true
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
참고 :관계 연산자는 의사 결정 및 루프에 사용됩니다.
<시간>논리 연산자는 표현식이 참인지 확인하는 데 사용됩니다. 또는 거짓 . 표현식이 true인 경우 , 1을 반환합니다. 반면 표현식이 거짓이면 , 0을 반환합니다. .
연산자 | 예 | 의미 |
---|---|---|
&& | 표현식1 && 표현2 | 논리 AND. 모든 피연산자가 참인 경우에만 참입니다. |
|| | 표현식1 || 표현2 | 논리적 OR. 피연산자 중 하나 이상이 참이면 참입니다. |
! | ! 표현 | 논리적 NOT. 피연산자가 거짓인 경우에만 참입니다. |
C++에서 논리 연산자는 일반적으로 의사 결정에 사용됩니다. 논리 연산자를 더 잘 이해하기 위해 다음 예를 살펴보겠습니다.
Suppose,
a = 5
b = 8
Then,
(a > 3) && (b > 5) evaluates to true
(a > 3) && (b < 5) evaluates to false
(a > 3) || (b > 5) evaluates to true
(a > 3) || (b < 5) evaluates to true
(a < 3) || (b < 5) evaluates to false
!(a < 3) evaluates to true
!(a > 3) evaluates to false
<시간>
#include <iostream>
using namespace std;
int main() {
bool result;
result = (3 != 5) && (3 < 5); // true
cout << "(3 != 5) && (3 < 5) is " << result << endl;
result = (3 == 5) && (3 < 5); // false
cout << "(3 == 5) && (3 < 5) is " << result << endl;
result = (3 == 5) && (3 > 5); // false
cout << "(3 == 5) && (3 > 5) is " << result << endl;
result = (3 != 5) || (3 < 5); // true
cout << "(3 != 5) || (3 < 5) is " << result << endl;
result = (3 != 5) || (3 > 5); // true
cout << "(3 != 5) || (3 > 5) is " << result << endl;
result = (3 == 5) || (3 > 5); // false
cout << "(3 == 5) || (3 > 5) is " << result << endl;
result = !(5 == 2); // true
cout << "!(5 == 2) is " << result << endl;
result = !(5 == 5); // false
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
논리 연산자 프로그램 설명
(3 != 5) && (3 < 5)
1로 평가 두 피연산자 모두 (3 != 5)
이기 때문에 및 (3 < 5)
1 (사실).(3 == 5) && (3 < 5)
0으로 평가 피연산자 (3 == 5)
때문에 0입니다. (거짓).(3 == 5) && (3 > 5)
0으로 평가 두 피연산자 모두 (3 == 5)
이기 때문에 및 (3 > 5)
0입니다. (거짓).(3 != 5) || (3 < 5)
1로 평가 두 피연산자 모두 (3 != 5)
이기 때문에 및 (3 < 5)
1 (사실).(3 != 5) || (3 > 5)
1로 평가 피연산자 (3 != 5)
때문에 1입니다. (사실).(3 == 5) || (3 > 5)
0으로 평가 두 피연산자 모두 (3 == 5)
이기 때문에 및 (3 > 5)
0입니다. (거짓).!(5 == 2)
1로 평가 피연산자 (5 == 2)
때문에 0입니다. (거짓).!(5 == 5)
0으로 평가 피연산자 (5 == 5)
때문에 1입니다. (사실).
C++에서 비트 연산자는 개별 비트에 대한 연산을 수행하는 데 사용됩니다. char
과 함께만 사용할 수 있습니다. 및 int
데이터 유형.
연산자 | 설명 |
---|---|
& | 이진 AND |
| | 이진 OR |
^ | 이진 XOR |
~ | 이진 1의 보수 |
<< | 왼쪽으로 이진 시프트 |
>> | 오른쪽으로 이진 시프트 |
자세한 내용은 C++ 비트 연산자를 참조하십시오.
<시간>다음은 C++에서 사용할 수 있는 다른 일반적인 연산자 목록입니다. 이후 자습서에서 이에 대해 알아볼 것입니다.
연산자 | 설명 | 예 |
---|---|---|
sizeof | 데이터 유형의 크기를 반환 | sizeof(int); // 4 |
?: | 조건에 따라 값을 반환 | string result = (5 > 0) ? "even" : "odd"; // "even" |
& | 피연산자의 메모리 주소를 나타냅니다. | # // address of num |
. | 구조체 변수 또는 클래스 개체의 멤버에 액세스 | s1.marks = 92; |
-> | 클래스 또는 구조체 변수에 액세스하기 위한 포인터와 함께 사용 | ptr->marks = 92; |
<< | 출력값을 출력 | cout << 5; |
>> | 입력값 가져오기 | cin >> num; |
C 언어
C++ 연산자 오버로딩 이 튜토리얼에서는 예제를 통해 연산자 오버로딩에 대해 배울 것입니다. C++에서는 객체 및 구조와 같은 사용자 정의 유형에 대해 연산자가 작동하는 방식을 변경할 수 있습니다. 이를 연산자 과부하라고 합니다. . 예를 들어, 세 개의 객체 c1를 생성했다고 가정합니다. , c2 및 결과 Complex이라는 클래스에서 복소수를 나타냅니다. 연산자 오버로딩을 통해 연산자의 작동 방식을 변경할 수 있으므로 + 연산자가 작동하고 이를 사용하여 c1의 복소수를 추가합니다. 및 c2 다음 코드를 작성하여: resu
C++ 상속 이 튜토리얼에서는 예제를 통해 C++의 상속에 대해 배웁니다. 상속은 C++에서 객체 지향 프로그래밍의 핵심 기능 중 하나입니다. 기존 클래스(기본 클래스)에서 새 클래스(파생 클래스)를 만들 수 있습니다. 파생 클래스는 기본 클래스의 기능을 상속합니다. 고유한 추가 기능을 가질 수 있습니다. 예를 들어, class Animal { // eat() function // sleep() function }; class Dog : public Animal { // bark() function };