2) 자료형 Data Type
* 값 value의 형태
1. 상수 constant
- 절대 변하지 않는 값
문자상수 - 'A' 'b'
숫자상수 - 5 3
2. 변수 variable
- 늘 변하는 값
- 대입되는 값에 따라서 늘 변할수 있다.
- 메모리에 장소를 지정해야만 사용할 수 있다.
- 해당 메모리 장소에 이름을 붙여주어야 사용가능하다->변수선언
3. 변수명을 작성하는 규칙
- 어떤값을 대입을 할 것인지에 대한 의미를 부여한다
- 한글로 변수명을 작성할 수 없다
- 첫글자로 숫자를 사용할 수 없다
- 변수명은 대소문자를 엄격히 구분한다
- 해당변수에 대입하고자 하는 값의 자료형을 반드시 기재해야 한다
- 변수선언 형식) 자료형 변수이름
//////////////////////////////////////////////////////////////////////////////
1. 정수형 int / long int
int->메모리 4바이트 할당 %d 출력
ling int->메모리 4바이트 할당. %ld 출력 그냥 long이라 써도 됨.
unsigned int -> %u
unsigned long -> %lu
예)
void main()
{
int a,b,sum; //a, b, sum 정수형 변수 선언
a=10; //a변수에 정수값 10 대입
b=20; //b변수에 정수값 20 대입
sum=a+b; //sum변수에 10+20의 결과값 30대입
printf("%d+%d=%d\n",a,b,sum);
printf("#%d#\n",123); //#123#
printf("#%5d#\n",123); //# 123# 5칸잡고 뒤에서 부터 찍어라. 앞에2칸 공백
printf("#%-5d#\n",123); //#123 #5칸잡고 앞에서 부터 찍어라. 뒤에2칸 공백
printf("#%2d#\n",123); //#123# 2만 무시됨.
printf("%d %d\n",sizeof(int), sizeof(long));
}
///////////////////////////////////////////////////////////////////////////
2. 실수형 float / double
float -> 메모리 4바이트 할당 %f 출력. 소수점 7자리 표현
double -> 메모리 8바이트 할당 %lf 출력. 소수점 15자리 표현
예)
void main()
{
printf("%d %d\n",sizeof(float), sizeof(double));
double height=167.8;
printf("키=%f\n",height);
printf("#%f#\n",123.45); //#123.450000#
printf("#%.2f#\n",123.45); //#123.45#
printf("#%10.2f#\n",123.45); //# 123.45#
printf("#%-10.2f#\n",123.45); //#123.45 #
printf("#%5.2f#\n",123.45); //#123.45# 5만 무시됨
printf("#%.0f#\n",123.45); //#123#
}
//////////////////////////////////////////////////////////////////////////
3. 문자형(문자열 포함) char
char -> 메모리 1바이트 할당 %c 출력
char name[10] -> 메모리 10바이트 할당 %s 출력
예)
void main()
{
char ch='B'; //1바이트 문자. ''로 감쌈.
char name[20]="HongGilDong";//최대19글자까지 가능. 널문자('\0')공간을 남겨놓아야 함.""감쌈
printf("%d %d\n",sizeof(ch), sizeof(name));
printf("ch=%c\tname=%s\n",ch,name);
}
//////////////////////////////////////////////////////////////////////////
ps.
아스키코드값이 있기 때문에 %c와 %d는 서로 호환할 수 있다.
void main()
{
printf("%d %d\n",'A','B');
printf("%d %d\n",'a','b');
printf("%c %c\n",65,66);
printf("%c %c\n",97,98);
printf("%c %c\n",'A'+32,'a'-32); //대소문자 바꿔 출력하기
printf("%c %c\n",toupper('A'),toupper('a')); //내장함수 사용하여 대소문자 바꾸기
}