제 2 장 변수와 상수
목 차 자료(data) 변수(variables) 상수(constant) 형전환(type conversion)
자료(1) P37 문자(character, ASCII 코드) 숫자(numeric number) 알파벳 문자 특수 문자 !, @, #, $, %, ^, &, *, (, ) 등 제어 문자 /n, /r, /t, /b 등 숫자(numeric number) 정수, 실수 10진수,16진수,8진수 등 제어문자 사용
변수(1) P38 키워드(key-words)와 변수명(variable name) ① 키워드 명령어나 변수형 ANSI C 예약어(reserved words) : P37 그림
변수(2) 키워드와 변수명 ② 변수명(variable name) 식별자(identifier) : 변수, 상수, 함수의 이름 8자까지 인식 영문자 또는 “_”를 첫 문자로 구성 영문자와 “_”, 0부터 9까지의 숫자의 합성 변수명 사이의 공란과 예약어는 허용되지 않음
변수(3) 키워드와 변수명 변수명(variable names) 변수명의 예 올바른 예 틀린 예 설 명 Count1 1Count 숫자로 시작 korea_score #num ‘_‘외 특수 문자 사용 _my_score break 예약어 사용
변수(4-1) 키워드와 변수명 자료형(data type) 기본형과 유도형 P40 그림
변수(4-2) 자료형(data type) 대상 : 변수, 상수, 함수 지원 형 : int, char, float, long, short, unsigned, double 사용전 형 선언. 동일형 연속 선언 가능 : 콤마로 분리 형 선언과 변수 초기화도 동일 문장내 가능
변수(5) 키워드와 변수명 ① 문자 자료형(character DT) 기본형 : char 변수1, 변수2, …, 변수n; char 변수1=‘값1’, …, 변수n=‘값n’; 출력 변환 문자 : %C 단일 문자 상수 - 표현 : ‘ ‘(단일 따옴표, single quotation) 문자형 변수 : 영문자, 숫자, 특수 문자 문자열(character string) : - 표현 : “ “ (이중 따옴표, double quotation) - 마지막에 null 문자 부가(/o) 문자형 크기(바이트) 허용 범위 char 1 -128 ~ 127 unsigned char 0 ~ 255
변수(6-1) 키워드와 변수명 ② 정수 자료형(integer DT) 대상 : 상수(constants), 상수식(constant expression) 십진수(decimal), 8진수(octal), 16진수(hexadecimal)지원 기본형 : int 변수1, 변수2, …, 변수n; int 변수1=값1, …, 변수n=값n; 자료형 크기(바이트) 허용 범위 int 2 -32768 ~ 32767 unsigned int 0 ~ 65535 short unsigned short 0 ~ 65535 long 4 -2147483648 ~ 2147483647 unsigned long 0 ~ 4294967295
변수(6-2) 종류 : integer, long, character, floating 상수. 문자열 상수 : (예) “programming is fun. /n" 표현 : - 십진수 : 수 ⇒ long선언 : 수L (예) 15L → long int 15; - 8진수 : o수 - 숫자 앞에 o있으면 ⇒ 8진수 인식 - 출력 변환 문자 : %o (printf 문) 맨 앞의 o는 출력 안됨 - 16진수 상수 : ox수 또는 OX수 - 맨앞에 ox로 시작하는 상수. - 표기 : 0 ~ 9, a ~ f(또는 A ~ F) (예) sam = ox5EB - 출력 변환 : %x
변수(7-1) 키워드와 변수명 ③ 실수 자료형(floating-point DT) ① 기본형 : float 변수1, 변수2, …, 변수n; float 변수1=값1, …, 변수n=값n; ② 배정도 : double 변수1, 변수2, …, 변수n; double 변수1=값1, …, 변수n=값n; 출력 변환 : %f 또는 %e(%E) 실수형 크기(바이트) 지수 범위 허용 범위 유효 숫자 float 4 -38 ~ 38 3.4e-38~3.4e+38 6 double 8 -308 ~ 308 1.7e-308~1.7e+308 15~16
변수(7-2) 소수 포함하는 값 십진수만 지원 출력 변환 : %f 지수형 표현 가능: 지수는 음, 양수 모두가능. (예) 1.5e3 (= 1.5x10**4) 출력 변환 : %e(또는 %E) double형(배정도형, double precision real) -float형의 정밀도 증가 요구시 사용
변수(8) 키워드와 변수명 자료형 정리 P52 표 자료형 값 표현 범위 바이트 부호 char -128 ~ 127 1 있음 unsigned char 0 ~ 255 없음 int 16bit -32,768 ~32,767 4 32bit -2,147,438,648 ~ 2,147,438,647 long -32,768 ~ 32,767 unsigned int 0 ~ 4,294,967,295 unsigned long float 3.4E-38 ~ 3.4E+38 double 1.7E-308 ~ 1.7E+308 8 long double 3.4E-4932 ~ 3.4E+4932 16
상수(constant) 상수(Constants) 값이 변하지 않는 값 값을 지정하는 수와 문자(문자열)로 구성 상수는 10진수, 8진수, 16진수 지원 2진수는 지원되지 않음 숫자 사이엔 공란이 허용되지 않음 숫자 사이를 구분하는 콤마는 사용할 수 없음
형 전환 ① 무(無)변환 ② 강제 전환 같은 형으로 전환하는 경우 작은형에서 큰형으로 전환 큰 자료형에서 작은 자료형으로 전환 예) 정수→실수 ② 강제 전환 큰 자료형에서 작은 자료형으로 전환 예) 실수→정수 (DT)변수 명 예) 정수 = (int)실수