Cute Running Puppy

Language/c

[c언어 복습] 04. 상수와 기본 자료형-1

R.silver 2020. 7. 7. 15:11
반응형

1. 자료형

  • 데이터를 표현하는 방식
자료형 크기 (바이트)
정수형 char 1
short 2
int 4
long 4
long long 8
실수형 float 4
double 8
long double 8바이트 이상
  • 일반적으로 int형이 cpu가 처리하기에 가장 적합하여 다른 자료형의 연산속도에 비해 빠르다
  • int보다 작은 데이터는 int형 데이터로 바꾸어 연산을 진행하는 형 변환이 진행된다
  • char형과 short형 변수는 데이터의 양이 많아 속도보다 데이터의 크기를 줄이는 것이 중요한 데이터에 사용된다 
  • 정수형에서는 int 실수형에서는 double이 보편적으로 사용된다
#include <stdio.h>
int main(void)
{
	double rad;
	double area;
	printf("원의 반지름을 입력하세요: ");
	scanf("%lf", &rad);

	area = rad * rad * 3.1415;
	printf("원의 넓이는 %f입니다. \n", area);
	return 0;
}

 

원의 반지름을 입력하세요: 2.97
원의 넓이는 27.710857입니다.

2. 연산자 sizeof`

  • 소모하는 메모리의 크기를 바이트 단위로 계산하여 변환하는 연산자
#include <stdio.h>
int main(void)
{
	char ch = 10;
	int inum = 2020;
	double dnum = 3.1415;

	printf("변수 ch의 크기: %d\n", sizeof(ch));
	printf("변수 inum의 크기: %d\n", sizeof(inum));
	printf("변수 dnum의 크기: %d\n\n", sizeof(dnum));

	printf("char의 크기: %d\n", sizeof(char));
	printf("int의 크기: %d\n", sizeof(int));
	printf("doubler의 크기: %d\n", sizeof(double));
	return 0;
}

 

변수 ch의 크기: 1
변수 inum의 크기: 4
변수 dnum의 크기: 8

char의 크기: 1
int의 크기: 4
doubler의 크기: 8

3. unsigned

  • 정수 자료형에 unsigned 선언 추가하여 0 이상의 값만 표현하게 만듦
  • 표현할 수 이?ㅆ는 값이 0 이상의 범위로 2배가 된다

4. 아스키 코드

#include <stdio.h>
int main(void)
{
	char ch1 = 'a', ch2 = 97;
	int ch3 = 'z', ch4 = 122;

	printf("%c %d\n", ch1, ch1);
	printf("%c %d\n", ch2, ch2);
	printf("%c %d\n", ch3, ch3);
	printf("%c %d\n", ch4, ch4);
	return 0;
}

 

a 97
a 97
z 122
z 122
  • %c: 문자의 형태로 데이터 입, 출력

5. 문제

사용자에게 아스키코드 값을 정수로 받은 후 해당 정수의 아스키코드를 문자로 출력하라

정답

#include <stdio.h>
int main(void)
{
	int num;
	printf("정수를 입력하세요: ");
	scanf("%d", &num);

	printf("해당 정수의 아스키 코드 문자는 %c입니다.", num);
	return 0;
}

 

사용자에게 알파벳 하나를 입력받은 후 해당하는 아스키코드 값을 출력하라

정답

#include <stdio.h>
int main(void)
{
	char ch;
	printf("알파벳을 입력하세요: ");
	scanf("%c", &ch);
	printf("%c의 아스키 코드 값은 %d입니다.\n", ch, ch);
	return 0;
}

 

 

반응형