본문 바로가기
c++

5. C++ 예제, 증감연산자,수의 유형변환, static_cast<type>(value)

by 래끼 2019. 11. 14.
728x90
반응형

1. 초를 입력하면 분과 초로 바꾸어 주는 프로그램

ex. 80 초 -> 1분 20초

(책 C++로 시작하는 객체지향 프로그래밍 list2.7)

1. 먼저 cin객체를 이용해서 int 형 seconds를 입력받습니다.

2. 분은 입력받은 초를 60으로 나눈 몫이겠죠.

3. 분이 구해지고 남아있는 초는 '%'를 이용해서 구합니다.

 

가장 먼저 이런 화면이 뜹니다.

cin 객체는 Enter키를 누르기 전에 넘어가지 않기 때문이쥬.

 

70을 입력하고 Enter를 누르면 1분 10초라고 결과가 나옵니다!

 

2. 증감 대입 연산자

증감 대입연산자 사이에는 공백이 없어야합니다.

 

3. 증감 연산자

아래는 위의 것들을 사용한 아주아주 간단한 프로그램코드와 출력입니다.

진짜 너무 간단하죠?

증감연산자는 잘 알아두면 앞으로 복잡한 프로그램을 작성할때 유용하게 사용될 수 있는 경우가 많기 때문에 지금 잘 익혀두는게 좋습니다.

 

4. 수의 유형변환 static_cast<type>(value)

 

8번째 줄에서는 static_cast<int>(10.2)로 실수인 10.2를 바로 정수로 바꿔서 10이 출력됬습니다.

10번째 줄에서는 double형 변수 i를 만들고 그후에 int로 형변환을 했는데요.

15번째 줄 형변환 후에 i와 temp의 차이를 잘 보시면됩니다.

15번째줄에서는 int temp = static_cast<int>(i); 로 실수i를 정수로 형변환을 해서 temp에 담았는데요

형변환 이후에도 i는 여전히 100.2 로 출력되고 temp는 100으로 출력되는 차이를 볼 수 있습니다!

sizeof()함수를 이용한 결과도 i는 double(8)로 인식되고 temp는 int(4)로 인식되는 차이를 볼 수 있는데요.

 

이건 실제로 형변환을 해도 해당변수의 유형은 변하지 않기 때문입니다!!

 

 

또 다른 형변환의 예로는

이런 간단한 코드도 있습니다.

'/(나누기)'는 몫만 표기하고 나머지는 표기하지 않는데요.

위의 코드처럼 피연산자를 어떻게 표현해놓냐에 따라 계산결과가 다르게 출력되기도 합니다.

아주 간단하지만 알아두면 두고두고 도움이 된답니다~

 

728x90
반응형

댓글