정수형
실수형
※ 유의점
double형 데이터 출력 시 서식문자 %f 사용, 입력 받을 시 %lf 사용
→ 메모리 공간을 적절하게 사용하기 위해 적합한 자료형을 고르자.
보편적으로 정수형은 int, 실수형은 double을 사용한다.
연산자 sizeof
int (변수) = sizeof(변수/상수/자료형 이름);
→ 자료형의 크기를 확인할 수 있음
unsigned 와 signed
정수 자료형 이름에 한해 unsigned 선언을 추가하면 0 이상의 값만 표현하는 자료형이 됨. → 표현 가능한 값의 범위가 양의 방향으로 두 배 넓어짐 (∵ MSB 조차 값의 크기를 나타내는 비트로 사용)
signed int == int 처럼 signed는 의미가 변하는 키워드가 아니기 때문에 생략
char형은 예외 ∵ char를 unsigned char로 처리하는 컴파일러도 존재
정수는 출력 방법에 따라 문자의 형태로도, 숫자의 형태로도 출력 가능
상수: 변경이 불가능한 데이터
리터럴(리터럴 상수): 변수와 달리 이름이 없는 상수
심볼릭 상수: 이름이 있는 상수 → const 키워드를 사용 (const 사용 시 선언과 초기화 분리 불가)
ex) const int MAX = 100; // 상수 이름은 모두 대문자로 표시하는 것이 관례
접미사: 상수를 다양한 자료형으로 표현하도록 도와줌.
정수형: U(unsigned int) / L(long) / UL(unsigned long) / LL(long long) / ULL(unsigned long long)
실수형: F(float) / L(long double)
형 변환의 우선순위는 정수 자료형보다 실수 자료형이 무조건 앞섬
형 변환 연산자: 강제 형 변환을 일으키는 소괄호 연산자
연산 결과의 자료형은 피연산자의 자료형과 일치
ex)
int num1=3, num2=4;
double divResult;
divResult = num1/num2;
printf("%f", divResult);
→ 출력 값: 0.00000
→ 예시의 3행을 divResult = (double)num1/num2; 으로 바꿔준다면 옳은 값이 나옴