[c언어] 자료형

yunssup·2023년 4월 7일

C언어

목록 보기
1/13
post-thumbnail

1바이트(byte) 단위
: 운영체제가 메모리를 관리하는 단위
1비트(bit)
: 메모리의 최소 저장 단위 // [0,1] 중 한 개 저장 // 1비트 증가 시 저장 단위는 2의 배수만큼 증가
부호비트
: 양수와 음수를 구별
예시
1바이트 = 8비트 = 256개
2바이트 = 16비트 = 65,536개

자료형
: 메모리 사용 시 몇 바이트의 메모리를 사용할 것인지 명시하는 것

정수 표현 자료형

(1) signed char : 부호가 있는 1바이트 저장 공간
첫 1비트는 부호 비트, 나머지 7비트에는 숫자 저장, 128개 저장 가능
(0~128) or (-128~-1)
(2) unsigned char : 부호가 없는 1바이트 저장 공간
1바이트 전체를 사용, 256개 (0~255)
(3) signed short int : 부호가 있는 2바이트 저장 공간
첫 1비트는 부호 비트, 나머지 15비트에는 숫자 저장
(4) unsigned short int : 부호가 없는 2바이트 저장 공간
2바이트 전체를 사용, 65,536개 (0~65,536)
(5) signed long int : 부호가 있는 4바이트 저장 공간
첫 1비트는 부호 비트, 나머지 31비트에는 숫자 저장
(6) unsigned long int : 부호가 없는 4바이트 저장 공간

실수 표현 자료형

(1) float : 32비트 (4바이트)
(1) double : 64비트 (8바이트)

문자형

아스키코드

#include <stdio.h>
int main(void) 
{
char code1 = 'A';   // 문자  상수로  초기화 
char code2 = 65;    // 아스키  코드로  초기화
printf(“code1 = %c\n", code1); 
printf(“code2 = %c\n", code2); 
}

code1=A
code2=A

1과 '1'의 차이점
: 1은 정수, '1'은 문자를 나타내는 아스키코드

Q) 태양에서 오는 빛이 몇 분 만에 지구에 도착하는지를 컴퓨터로 계산해보고자 한다. 빛의 속도는 1초에 30만 km를 이동한다.
태양과 지구 사이의 거리는 약 1억 4960만km이다.

#include <stdio.h>

int main(void)

{
	double speed = 300000; /*빛의 속도*/
	double distance = 149600000; /*태양과 지구 사이 거리*/
	double time; /*지구까지 도달 시간*/

	printf("빛의 속도는 %lf km/s\n",speed);
	printf("태양과 지구와의 거리는 %lf km\n", distance);
	
	time = distance / speed;
	printf("도달 시간은 %lf초.", time);

	return 0;
}

0개의 댓글