정수형 : int 부동 소수정 : float -> 더넓은 범위의 데이터 처리가능
%.2f -> 소수점 이하 둘째자리 까지 출력
정수 : 소수부가 없는 수 ex)2,-23,2456
부동 소수점수 : 수학에서 말하는 실수 ex)2.75, 3.16E7, 7.00, 2e-8
어떤 값에 소수점을 붙이면 부동 소수점 값이 된다.
※ 부동소수점수를 저장하는 방법이 정수와 다르다.
부동소수점 표기에서는, 하나의 수를 소수부와 지수부로 쪼개어 저장한다.
ex) 0.7E1 -> 0.7이 소수부 1이 지수부
int형은 부호 있는 정수(signed integer)이다.
int형의 최소범위 -32767, 32767
변수를 선언하면 변수를 저장하기 위한 기억공간을 할당하고, 거기에 이름을 연결하고, 각 변수에 초기값을 대입한다.
C언어에서는 10진수, 8진수, 16진수를 구별하기 위해 수 앞에 특별한 접두사를 붙인다.
ex) 10진수 8진수 16진수
16 020 0x10
위 접두사는 사용자를 위한 서비스 이다. 수가 저장되는 방식에 영향을 주지 않는다. 즉, 16,020,0x10 중 어느것을 사용하더라도 컴퓨터는 내부에서 사용하는 2진수 코드로 정확히 동일하게 저장한다.
10진수 출력 %d 8진수 출력 %o 16진수 출력 %x
접두사도 함께 출력 하려면 %#o, %#x를 사용한다. 이들은 각각 0,0x와 함꼐 출력한다.
short int == short , long int == long
long long int == long long
unsigned int == unsigned
unsigned int 출력 : %u long형 값 출력 : %ld long형 16진수 출력 : %lx 8진수 출력 : %lo
short형 10진 정수 : %hd short형 8진 정수 :ho short형 16진 정수 : %hx
long long 형 : %lld unsigned long : %lu
char형 변수의 크기는 1byte, 'A'의 값은 65이다.
char형 변수에 'FATE'를 대입하면 마지막 문자상수인 E만 저장된다.
이스케이프 시퀀스
\a : 경보 \b : 백스페이스 \f : 폼 피드 \n : 개행 \r : 캐리지 리턴 \t : 수평 탭 \v : 수직 탭
\\ : 백슬래쉬(\) \':작은따옴표(') \":큰 따옴표(") \? : 물음표(?) \0oo : 8진수값 \xhh : 16진수 값
출력장치 제어 문자
\b(back space) : 현재 라인에서 한스페이스 뒤로 옮긴다.
\f(form feed) : 다음 페이지의 시작으로 옮긴다.
\n(new line) : 다음라인 시작으로 옮긴다.
\r(carriage return) : 현재라인의 시작으로 옮긴다.
\t(horizontal tab) : 수평탭의 다음 위치로 옮긴다.
\v(vertical tab) : 수직탭의 다음 위치로 옮긴다.
scanf() 함수의 엠퍼샌드(&)가 그 문자를 변수 ch에 대입되도록 안내한다.
printf() 함수의 포맷 지정자는, 데이터가 저장되는 포맷이 아니라 데이터가 출력되는 포맷을 결정한다.
_Bool 형은 true or flase로 0아니면 1의 값을 가진다.