오늘도 어김없이 나는 c언어를 한다^^
int a;
쓰레기 값
이라고 한다.a=10;
#include <stdio.h>
int main(void)
{
int a;
int b, c;
double da;
char ch;
a=10;
b=a;
c=a+20;
da=3.5;
ch='A'
printf("변수 a의 값 : %d\n",a);
printf("변수 b의 값 : %d\n",b);
printf("변수 c의 값 : %d\n",c);
printf("변수 da의 값 : %.1lf\n",da);
printf("변수 ch의 값 : %c\n",ch);
return 0;
}
변수 a의 값 : 10
변수 b의 값 : 10
변수 c의 값 : 30
변수 da의 값 :3.5
변수 ch의 값 : A
자료형
혹은 데이터
라고 한다.#include <stdio.h>
int main(void)
{
char ch1= 'A'; //문자로 초기화, 저장된 값은 문자의 아스키 코드 값
char ch2= 65; //문자 'A'의 아스키 코드 값에 해당하는 정수로 초기화
printf("문자 %c의 아스키 코드 값 :%d\n",ch1,ch2);
printf("아스키 코드 값이 %d인 문자 :%c\n" ,ch2,ch2);
return 0;
}
문자 A의 아스키 코드 값 : 65
아스키 코드 값이 65인 문자 : A
특별한 이유가 아니면 int를 사용한다.
char <= short <= int <= long <=long long
#include <stdio.h>
int main(void)
{
unsigned int a;
a=4294967295; //큰 양수 저장
printf("%d\n",a); //%d로 출력
a=-1; //음수 저장
printf("%u\n",a); //%u로 출력
return 0;
}
-1
4294967295
unsigned형 변수에 음수도 저장하고 출력할 수 있다.
but 연산하거나 대소를 비교할 때는 부호 비트를 고려하지 않고 항상 양수로 처리하므로 결과가 예상과 다를 수 있다.
#include <stdio.h>
int main(void){
flaot ft=1.234567890123456789; //유효 숫자가 많은 값으로 초기화
double db=1.234567890123456789;
printf("float형 변수의 값 : %20f\n",ft); // 소수점 이하 20자리까지 출력
printf("double형 변수의 값 : %20f\n",ft);
return 0;
}
결과창
float형 변수의 값:1.23456788063049316406
double형 변수의 값:1.23456789012345667043
float와 double을 비교해서 계산해 봤을 때 double이 우리가 원했던 숫자와 좀 더 가까웠다는 걸 알 수 있다.
char 배열명[문자열길이+1]=문자열;
예를 들어 apple 같은 문자열도 변수에 담아야 할 때가 있다.
이때는 char형을 배열 형태로 만들어 저장한다.
char fruit[6] = "apple";
결과창
컴파일러가 문자열의 끝에 \0(널 문자)를 자동으로 추가한다.