2. C언어의 기초(2)

예약어 (reserved word)
- C언어에서 특별한 용도로 미리 예약된 이름
- 키워드(keyword)라고도 함
- 식별자로 사용할 수 없음



자료형(data type)
- 정수 1과 실수 1 문자 1의 컴퓨터 내부 표현은 다르다.
- 문자는 컴퓨터 내부에서 정수로 표현된다.


1. int
정수
16bit 정수와 32bit 정수가 있다.

2. float, double
둘다 실수, double의 유효숫자 자릿수 범위가 거의 두배 많다.

3. chat 자료형
- 문자는 8 bit로 표기
(한글 한 글자는 16bit로 표기하므로 일반 문자 2개에 해당)
- char 자료형은 8bit 정수 표기에도 사용 가능



자료형 수정자(modifier)
- 자료형 앞에 붙여서 자료형의 표현 범위를 변경
long int  : 32 bit 정수
short bit : 16 bit 정수
unsigned int : 부호 없는 정수 >> 양수의 표현 범위 2배 증가




상수 (constant) 
- 변하지 않는 명시적인 자료


1. 정수상수 : 12 (10진법)           056 (8진법)    0x4f (16진법)

컴퓨터는 앞에 0이 붙어있으면 십진법으로 생각하지 않는다.
예를 들어 056 을 십진법으로 표현하면 46이다.
16진법은 앞에 0x를 붙인다. 따라서 9x4f는 15+16*4 = 79 이다.
789 는 10진법으로 789
064는  10진법으로 52
0x3af는 10진법으로 15 + 16*10 + 16*16*3

2. 실수상수 : 3.14        1.0         1.5e5

컴퓨터는 1과 1.0을 다르게 저장한다.
1.5e5 는 1.5*10^5을 나타낸다.

3.14
1.0   = 1.
0.12  = .12
6.2e3  = 6.2*10^3
4e-2  = 4*10^-2

실수상수는 기본적으로 double 형으로 표현됨

6.2  는  double 형 실수
6.2F 는 float형 실수



3. 문자상수 : 'A'  '1' '\n'  '@'   ('한'은 16bit 라서 안 됨)

'1' 은 숫자가 아니다. 문자 1로 취급된다.
한글은 8비트로 표현되지 않아서 문자상수가 될 수 없다


4. 문자열상수 : " Korea"    "대한민국"    "한"

"korea" 는 'K' 'o' 'r' 'e' 'a' '\0' 이다.
따라서 "a" 는 문자열 상수 임으로 'a'와 같지는 않음.
"a" 는 'a' '\0" 이기 때문.


백슬래시 코드 ( 탈출순서 표기)
\n
\r
\t
\b
\0     null 문자








#include <stdio.h>
#define PI 3.14159

main()
{
     float r,s;
   
     printf("Enter the radius :");
     scanf("%f,&r);
     s = PI*r*r;
     printf("Area is %f\n",s);
}






No comments: