728x90
반응형
자료형(Data Type)
- 저장하는 데이터의 크기에 따라 필요한 메모리 공간의 크기가 다름
- 데이터 종류에 따라 변수의 종류를 다르게 하는 것이 효율적임
적절한 자료형 사용
- 메모리 절약
- 실행 속도 향상
종류
- 정수형(integer type)
- 부동 소수점형(floating-point type)
- 문자형(character type)
자료형
- short, int, long: 정수형 데이터(100)
- double, float : 실수형 데이터(3.141592)
- char : 문자형 데이터(‘A’, ‘a’, ‘한’)
자료형의 크기
- sizeof() 연산자
sizeof(x) // 변수
sizeof(10) // 값
sizeof(int) // 자료형
정수형
- 가장 기본적인 데이터 타입
정수형의 종류
- short
- int
- long
- long long
정수 출력 형식지정자
printf( "%d" , 5 ) ;
int inData = 5 ;
printf( "%d \n" , inData) ;
printf( "%5d \n" , inData) ;
printf( "%5.2d \n" , inData) ;
실수 표현 방법
고정 소수점(Fixed Point) 방식
- 소수점 위치를 고정시키고 정수부와 소수부를 나누어 표현
부동 소수점(Floating Point) 방식
- 컴퓨터에서 실수는 부동소수점형으로 표현
- 소수점이 떠서 움직인다는 의미
- 과학자들이 많이 사용하는 과학적 표기법과 유사
실수 출력 형식지정자
형식
- 기본 형식 지정자 %f
- 기본: 소수점 6자리까지만 출력
printf( "%f" , 0.123456789 ) ;
오버플로우(Overflow)
- 변수가 나타낼 수 있는 범위를 넘는 숫자를 저장하려고 할 때 발생
#include <stdio.h>
int main(void) {
float x = 1e39;
printf("x = %e\n",x);
return 0 ;
}
언더플로우(Underflow)
- 부동 소수점 수가 너무 작아서 표현하기 힘든 상황
#include <stdio.h>
int main(void) {
float x = 1.23456e-38;
float y = 1.23456e-46;
doube z = 1.23456e-46;
printf("x = %e\n",x);
printf("y = %e\n",y);
printf("z = %e\n",z);
return 0 ;
}
문자형
아스키코드
- 문자는 컴퓨터보다는 인간에게 중요
- 문자도 숫자를 이용하여 표현
- 공통적인 규격이 필요
- 아스키 코드(ASCII: American Standard Code for Information Interchange)
문자 변수와 문자 상수
char형의 변수가 문자 저장
/* 문자 변수와 문자 상수*/
#include <stdio.h>
int main(void) {
char code1 = 'A';
char code2 = 65;
printf("문자 상수 초기화 = %c \n", code1);
printf("아스키 코드 초기화 = %c \n", code2);
return 0 ;
}
정수형으로서의 char형
#include <stdio.h>
int main() {
char code = 'A';
printf("%d ", code);
printf("%d ", code+1);
printf("%d \n", code+2);
printf("%c ", code);
printf("%c ", code+1);
printf("%c \n", code+2);
return 0;
}
제어문자
- 인쇄 목적이 아니라 제어 목적으로 사용되는 문자들
- 예: 줄바꿈 문자, 탭 문자, 벨소리 문자, 백스페이스 문자
728x90
반응형