C++기억조각 맞추기(기억안남)

C++의 다양한 연산자들(1)

amckdgjs 2024. 2. 20. 16:42
C++의 다양한 연산자들 정리해보기

1.대입 연산자

데이터를 저장하는 연산자.기본 수학과는 다르게 C++에서 = 는 같다 가 아닌 오른쪽에 있는 값을 왼쪽에 있는 피 연산자에 대입하는 연산을 수행한다.

int a = 0; // 0을 a에 대입한다

2.산술 연산자

더하기(+),빼기(-),곱하기(*)와 같은 산술 연산자가 있다.

int a = 5;
int b = 2;
int result = a + b;
std::cout << result << std::endl; //7
std::cout << a + b << std::endl; //7
std::cout << a - b << std::endl; //3
std::cout << a * b << std::endl; //10
std::cout << a / b << std::endl; //2
std::cout << a % b << std::endl; //1

3. 관계 연산자(비교 연산자)

값들을 비교하여 오직 참(true)이나 거짓(false)으로 결과를 반환한다.

> a>b a가 b보다 크면 참
< a<b a가 b보다 작으면 참
>= a>=b a가 b보다 크거나 같으면 참
<= a<=b a가 b보다 작거나 같으면 참
== a == b a와 b가 같으면 참
!= a != b a와 b 는 같지 않을때 참
int num1 = 1;
int num2 = 2;

int result;
int result1;
int result2;
int result3;

result = (num1 > num2);  //num1이 num2보다 크다? 0(거짓)
result1 = (num1 <= num2);//num1이 num2보다 같거나 작은가? 1(참)
result2 = (num1 == num2);//num1과 num2가 같나? 0(거짓)
result3 = (num1 != num2);//num1과 num2가 같지않나? 1(참)

std::cout << "result에 저장된 값 :" << result << std::endl;
std::cout << "result1에 저장된 값 :" << result1 << std::endl;
std::cout << "result2에 저장된 값 :" << result2<< std::endl;
std::cout << "result3에 저장된 값 :" << result3 << std::endl;
result에 저장된 값 : 0
result1에 저장된 값 : 1
result2에 저장된 값 : 0
result3에 저장된 값 : 1

 

이렇게 0(거짓) 과 1(참) 으로 결과가 반환되는 것을 볼 수 있다.

4.증감연산자(++, - -)

++a       선 증가, 후 연산(먼저 증가시키고 그 다음에 연산)
a++       선 연산, 후 증가(먼저 연산하고 그 다음에 증가)
--a       선 감소. 후 연산
a--       선 연산, 후 감소

 

int num = 10; //num변수를 10으로 초기화

std::cout << "num의 값 :" << num << std::endl;
num++;//num = num + 1와 같음
std::cout << "num++후 num의 값" << num << std::endl;
++num;
std::cout << "++num후 num의 값" << num << std::endl;
num--;
std::cout << "num--후 num의 값" << num << std::endl;
--num;
std::cout << "--num후 num의 값" << num << std::endl;
num의 값 : 10
num++후 num의 값 11
++num후 num의 값 12
num--후 num의 값 11
--num후 num의 값 10

전위와 후위의 차이?

int num1 = 10;
int num2 = 20;

int a;
int b;

a = ++num1; //전위.선 증가 후 연산
std::cout << "변수 a의값" << a << "," << "변수 num1의 값:" << num1 << std::endl;

b = num2++; //후위 연산.선 연산 후 증가(num2에 저장되어 있는 20을 먼저 b에 대입하고 증가)
std::cout << "변수 b의값" << b << "," << "변수 num2의 값:" << num2 << std::endl;
변수 a의 값 11 변수 num1의 값 11
변수 b의 값 20 변수 num2의 값 22​

간단한 연산 코드 작성

"입력용 변수 2개를 선언한다.입력을 받은 변수로 사칙연산을 수행한다."

int a; //변수 a 
int b; //변수 b
std::cout<<"변수를 입력하세요."<<std::endl;
std::cin>>a 
std::cin>>b

std::cout<<"a+b"<<a+b<<std::endl;
std::cout<<"a-b"<<a-b<<std::endl;
std::cout<<"a*b"<<a*b<<std::endl;
std::cout<<"a/b"<<a/b<<std::endl;

짜잔