묻공러
[언어 본색] #08 2장 - 형변환
묻공러
묻지마공부
묻공러
전체
오늘
어제
  • 분류 전체보기 (487)
    • C (54)
      • [코드조선] C 핵심 (35)
      • [언어본색] C 기초 (19)
    • C++ (72)
      • [루키스] C++ (9)
      • [루키스] 콜백함수 (6)
      • [루키스] STL (8)
      • [루키스] Modern C++ (11)
      • [노코프] C++ (10)
      • [노코프] Tips (16)
      • [일지] C++ (12)
    • 자료구조 & 알고리즘 (50)
      • [코드조선] C 자료구조 & 알고리즘 (6)
      • [합격자되기] C++ 코딩테스트 (12)
      • [루키스] C++ 자료구조 & 알고리즘 (32)
    • CS (69)
      • [널널한 개발자] CS 개론 (19)
      • [혼자 공부하는] 컴퓨터 구조 (16)
      • [혼자 공부하는] 운영체제 (18)
      • [널널한 개발자] 네트워크 (16)
    • 게임 그래픽스 (46)
      • [전북대] OpenGL (25)
      • [일지] DirectX (21)
    • 게임 엔진 (124)
      • [코드조선] 언리얼 (53)
      • [코드조선] 언리얼 데디서버 (8)
      • [일지] 언리얼 (59)
      • [일지] 언리얼 (2) (3)
      • 유니티 (1)
    • 게임 서버 (17)
    • 게임 수학 & 물리 (19)
      • 게임 수학 (12)
      • 게임 물리 (7)
    • GIT & GITHUB (4)
    • 영어 (18)
      • [The Outfit] 대본 공부 (11)
      • the others (7)
    • 그 외 (14)
      • In (5)
      • Out (5)
      • Review (4)

인기 글

최근 글

hELLO · Designed By 정상우.
C/[언어본색] C 기초

[언어 본색] #08 2장 - 형변환

2021. 9. 30. 00:10

형변환
- 자료의 형변환
표현 범위가 작은 자료형 -> 큰 자료형은 문제 없지만
예) int -> double
표현 범위가 큰 자료형에서 작은 자료형으로의 변환은 자료를 잃어버릴 수 있음!

따라서 형변환을 해줘야한다. 

 

묵시적 형변환 : 
명시적 형변환 : static_cast<자료형>(대상), (자료형)

#include <iostream>
using namespace std;

int main()
{
	int a=20, b=3;
	float c, d, e;

	c=a/3.5f; // 배정도형을 float 실수형으로 만드는 방법으로는 (float)3.5 혹은 3.5f를 해주면된다.
	d=a/b;
	e = static_cast<float>(a) / b;
	//e = (float)a / b; 와 같은 의미이다.
	 
	cout.setf(ios::fixed, ios::floatfield);
	// 소수점 자리에 값이 없으면 출력하지 않는데
	// 소수점 자리를 강제로 출력하고 싶을 때 사용한다.
	cout << "연산결과: 실수형= " << c << endl;
	cout << "연산결과: 정수형= " << d << endl;
	cout << "연산결과: 형변환 후 = " << e << endl;
	return 0;
}

 

연산자
연산의 입출력을 위해 사용된 내용들
cout : 화면에 내용 출력, 출력 내용을 << 연산자로 연결함
cin : 화면에 입력한 내용을 변수에 할당, 입력 내용을 >> 연산자로 연결함

산술연산자
사칙연산(+,-,*,/), 나머지 연산자(%)
정수와 정수의 덧셈 결과는 정수, 정수와 정수의 나눗셈 결과는 정수 -> 몫
정수와 실수의 뺄셈 결과는 실수, 정수와 실수의 나눗셈 결과는 실수

단축연산자1
- 변수에 값 누적하기
누적할 변수는 연산에 따라 반드시 초기화!!!
예) 변수에 1의 값으로 누적하기
a=a+1 -> 변수 a는 0으로 초기화
예) 변수 값을 3의 곱 만큼 누적하기
b=b*3 -> 변수 b는 1로 초기화

초기화하지 않고 사용한 경우에는 디버그 오류가 발생한다.

단축연산자2

연산 연산자 설명
뎃셈 누적 += a=10; a+=3; 변수 a는 13이 저장됨
뺄셈 누적 -= a=10; a-=3; 변수 a는 7이 저장됨
곱셈 누적 *= a=10; a*=3; 변수 a는 30이 저장됨
나누기 누적 /= a=10; a/=3; 변수 a는 3이 저장됨
나머지 누적 %= a=10; a%=3; 변수 a는 1이 저장됨
1누적 ++ a=10; a++; 변수 a는 11이 저장됨
1감소 - - a=10; a--; 변수 a는 9이 저장됨

 

++, -- 는 피연산자 앞과 뒤에 따라 값이 달라진다. 아래를 통해 알아보자.

#include <iostream>
using namespace std;

int main()
{
	int a = 10;  //a=10

	a++;  //a=11

	cout << "a=" << a << endl; //a=11
	cout << "a=" << a++ << endl; //a의 값 11을 출력하고 12로 증가함

	cout << "a=" << ++a << endl; //a가 증가하여 13이 되고 13을 출력함
	cout << "a=" << a << endl; //a는 13

	return 0;
}
저작자표시 비영리 변경금지 (새창열림)

'C > [언어본색] C 기초' 카테고리의 다른 글

[언어 본색] #10 2장 - 논리형 (2)  (0) 2021.09.30
[언어 본색] #09 2장 - 논리형 (1)  (0) 2021.09.30
[언어 본색] #07 2장 - 컴퓨터가 표현하는 데이터  (0) 2021.09.29
[언어 본색] #06 2장 - 변수와 상수 (3)  (0) 2021.09.29
[언어 본색] #05 2장 - 변수와 상수 (2)  (0) 2021.09.28
'C/[언어본색] C 기초' 카테고리의 다른 글
  • [언어 본색] #10 2장 - 논리형 (2)
  • [언어 본색] #09 2장 - 논리형 (1)
  • [언어 본색] #07 2장 - 컴퓨터가 표현하는 데이터
  • [언어 본색] #06 2장 - 변수와 상수 (3)
묻공러
묻공러
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.