반응형

자, 문제를 내 봅시다...

3 + 9 는 얼마일까요?

우선, 정답은 12이고 (틀리면 뭐... 틀릴.. 수 있죠..)

그렇다면 이 문제는 어떤가요?

 

34 + | 32 X { 51 - 9 ( 37 X 3^2 / 3 ) - 539 } | 는 얼마일까요?

저는 정답을 모릅니다.

 

이처럼 더하기 [+], 빼기 [-], 곱하기 [*], 나누기 [/] 등을 "연산자" 라고 합니다.

그럼, C++ 에서 연산자는 무엇이 있을까~요?

 

기호 이름
+ 더하기
- 빼기
* 곱셈
/ 나눗셈
% 나머지
++ 증가 연산자
-- 감소 연산자
>, < ~초과, 미만
>=, =< ~이상, 이하
== 같다 (등호)
!= 같지 않다

 

우선, 기본적으로 알아야 하는 연산자의 종류에는 이런 것들이 있습니다.

이 외에도 비트 연산자, 쉬프트 연산자 등 다양한 연산자들이 있지만, 기본적인 것들만 알려 드렸습니다.

더 다양한 연산자들을 알고 싶으시다면,

 

참고하세요~
👉 [C++} C++ 프로그래밍 연산자 한눈에 보기

 

자, 그러면 이 연산자들을 한번씩 다 써 보도록 하겠습니다!

 

더하기, 빼기, 곱하기 나누기 - 사칙연산 연산자

사실 저번 강의에서 다음 강의는 "반복문" 이라고 스포를 했건만... 

연산자를 먼저 다뤄야 할 것 같아서 이렇게 연산자 강의를 쓰게 되었습니다.

저번 포스팅에서 설명했던 입,출력을 이용해서 사용자가 입력한 두 값을

사칙연산 하는 프로그램을 만들어 보도록 하겠습니다~

 

 

우선, 새 소스를 만들고, 기본 형식을 적어 주었습니다.

혹시라도 이걸 만드는 법을 모르신다면

참고하세요~
👉01. 코딩 시작하기 / C++ / Microsoft Visual Studio 설치 및 설정

 

변수의 이름부터 먼저 정해 주도록 합시다.

사용자가 처음에 입력한 값을 NUM_1, 두 번째 입력한 값을 NUM_2 라고 선언할게요.

그리고 결과는 Res 라고 선언하도록 합시다. 사실 변수 이름은 만드는 사람 자유니 a, b, c 로 하셔도 됩니다.

입력한 값이 "실수" 일 수 있으니, float 형 자료형을 사용할게요.

 

잠깐! 변수와 자료형이 궁금하다면?
👉 02. C++ 자료형과 변수 / 표준 입, 출력 / cin, cout / 코딩 강의 블로그

 

자, 이렇게 변수를 선언하고, 값을 대입하는 코드까지 작성했습니다.

여기까진 저번 포스팅에 모든 내용이 있으니 잘 모르겠다면 저번 포스팅을 참고하세요.

우선 더하기부터 해 봅시다.

 

 

라인별 해석입니다.

5~10. 실수형 변수 NUM_1, NUM_2, RES 를 선언하고, 사용자가 입력한 값을 대입

12. RES 값을 NUM_1 + NUM_2 로 대입함

13. NUM_1 + NUM_2 = RES 를 출력함 (여기서 NUM_1, NUM_2, RES 는 각각 실수형 변수)

 

실행을 해 볼까요?

 

음..실패했다고 뜨네요.

사실 이게 정상입니다. 한 프로젝트 안에 소스 파일을 2개를 만들었기 때문에,

2개의 파일 모두 main 함수를 사용했죠. 그게 문제가 되는 겁니다.

main 함수의 이름을 파일마다 다 다르게 설정해야 합니다. main_cincout 이렇게 말이죠.

 

그래도 저는 계속 오류가 떠서 봤더니...파일이 꼬인 줄 알았습니다만,

그렇게 쉽게 해결될 문제가 아니더라고요. 

그래서 다시 만들었습니다. 이번엔 혹시나 오류날까 싶어 return 0; 도 마지막 문장에 써 줬고요.

 

 

실행을 다시 해 봤더니 다행히도 잘 작동되었습니다.

빼기와 곱셈도 다 같은 방식이죠.

 

이번엔 나눗셈과 나머지 연산을 해 보도록 합시다.

나눗셈은 자료형에 따라 결과가 달라집니다.

자료형이 "정수형" 을 나눗셈 하면 그 나눗셈의 몫만 출력됩니다.

예를 들어, int a, b = 8, 5 로 두면 a / b 의 값이 1이 됩니다.

 

반면에 "실수형" 을 나눗셈 하면 나눗셈이 소수점 아래 자리까지 모두 되어져서 출력됩니다.

예를 들어, float a, b = 1, 10 으로 두면 a / b 의 값이 0.1이 됩니다.

 

연산자 [%] 는 나눗셈의 나머지를 도출하는 연산자이기 때문에,

나머지가 존재하기 위해 정수형 자료형만 사용 가능합니다.

 

참고로 C++ 에서 "곱하기"는 [ * ], "나누기" 는 [ / ], "나머지 연산" 은 [ % ] 를 사용합니다.

 

#include<iostream>
using namespace std;
int main()
{
	//사칙연산 연산자 - 입력 값 계산하기
	//나눗셈, 나머지 연산
	int NUM_1, NUM_2, Q, R; //정수형 변수 NUM_1, NUM_2, Q, R 을 선언
	cout << "첫 번째 값을 입력하세요 >> ";
	cin >> NUM_1;
	cout << "두 번째 값을 입력하세요 >> ";
	cin >> NUM_2;
	Q = NUM_1 / NUM_2; //Q 의 값을 NUM_1 / NUM_2 의 몫으로 대입
	R = NUM_1 % NUM_2; //R 의 값을 NUM_1 / NUM_2 의 나머지로 대입
	cout << endl << NUM_1 << " 나누기 " << NUM_2 << " 의 몫은 " << Q << ", 나머지는" << R << " 입니다." << endl; //연산 결과 (몫과 나머지) 를 출력
	return 0;
}

 

제가 코드에 주석까지 다 달아 놨으니, 참고 해 보세요~

 

 

작동이 잘 됩니다.

 

++ (증가), -- (감소) 연산자

자, 이제 증가, 감소 연산자에 대해 알아봅시다.

이 증가 연산자의 ++ 때문에 C++ 이 되었다는 썰을 어디서 들은 적이 있습니다만.

확실히는 모릅니다.

 

증가, 감소 연산자는 말 그대로 "증가" 와 "감소" 를 나타냅니다.

예시를 하나 들어 볼게요.

 

 

26. 정수형 변수 a = 1로 초기화

27. a값을 출력

28.. a++

29. a값을 출력

30. ++a

31. a값을 출력

 

여기서 a++과 ++a의 차이는 그저 "순서" 일 뿐입니다. 이 증가 / 감소 연산자가

독립적으로 사용되기도 하지만, 수식 안에서 사용될 경우도 있기 때문에 둘의 차이가 있습니다.

 

a++ 은 "후위 연산자"로 앞에 있는 계산이 끝나고 나서 a 에 ++ 을 해 줍니다. (여기서 ++ 은 +1 과 같음)

++a 는 "전위 연산자"로 a에 ++을 하고 나머지를 시행합니다.

 

앞의 저 코드를 실행하면

 

1, 2, 3이 순서대로 출력됩니다.

감소 연산자인 [ -- ] 의 경우도 동일합니다.

 

우선, 이번 강의는 여기까지입니다 :)

오늘 실행한 모든 코드 파일은 깃허브에 올려 둘 테니 다운받아 사용해도 됩니다.

파일에 주석 처리까지 다 해 놓았으니 차근차근 읽어 보세요.

참고로 코드의 중복 실행 방지를 위해 위쪽 코드는 모두 주석 처리를 해 두었으니

라인 맨 앞의 슬래시 2개 [//] 를 지우고 사용하세요.

 

👉 깃허브 바로가기

 

만약 깃허브 사용법을 모른다면..? 

걱정 마세요. 다음 강의로 깃허브 사용법을 준비 중이랍니다.

그래도 간단한 사용법은 밑에 "더보기" 에 써 둘게요.

 

더보기

1. 👉 깃허브 바로가기 를 통해 제 깃허브 프로필에 접속하세요.

2. 아래쪽에 스크롤 해 보면, C_edu 라는 레포지토리가 있습니다. 클릭해서 들어가세요~

 

3. 레포지토리에 들어가면, 이렇게 오늘 강의 내용 파일이 담겨 있답니다. 

블로그 글 제목 앞의 숫자가 파일 앞에 붙어 있으니 참고하세요.

 

4. 코드를 클릭하면, 이렇게 코드를 볼 수 있답니다.

 

5. 도움이 되었다면, 깃허브에 있는 "별" 을 눌러주세요 ㅎㅎ 

선택사항입니다.

 

p.s) 혹시나 깃허브 사용자분들 중에 제 깃허브를 보고 오타나 오류, 버그를 발견하셨으면 커밋 해 주세요.

확인 후 합칠 예정입니다!

끄으읕~

반응형