이 장에서는 변수 및 변수 이름지정 규칙에 대해 설명하고록 하겠습니다. C언어 프로그래밍의 다양한 리터럴과 상수를 만드는 방법에 대해서도 설명하겠습니다.
1. 변수란
- 프로그래밍에서 변수는 데이터를 보관하는 영역입니다.
저장 영역을 나타내려면 각 변수에 고유한 식별자을 지정해야 합니다 . 변수 이름은 메모리 위치의 상징적 표현일 뿐입니다.
ex) int playerscore = 95;
위 예제에서 playerscore는 int 형의 변수입니다. 여기 변수에는 95라는 정수값이 할당됩니다.
ex) char ch = 'a'; ch = '1';
2. 변수이름(식별자) 지정 규칙
- 변수이름에는 문자집합(대문자 및 소문자 모두), 숫자 및 밑줄만 사용 가능
- 변수의 첫 글자는 글자나 밑줄이어야 함
- 변수 식별자의 길이에 대한 규칙은 없음. 그러나 변수 이름이 31자보다 길면 일부 컴파일러에서 문제가 발생
- C언어는 강력한 형식의 언어이며, 변수 유형이 선언되면 변경할 수 없음
ex) int number = 5; number = 5.5; double num;
- 위 예제를 보면 int형의 number는 소수점 값을 할당할 수 없음(10진수로는 할당 가능)
- number라는 변수 유형에 5.5라는 값을 재정의할 수 없음(변수앞에 데이터유형이 있어야 함)
- 10진수 값을 C언어에 저장하려면 형식을 float / int / double(데이터 유형)로 선언
3. 리터럴
- 리터럴은 고정값을 나타내는데 사용되는 데이터이다. 코드에서 직접 사용
ex) 1, 2.5, 'C' 기타 등등
1) 정수
- 정수는 분수 또는 지수 부분이 없는 숫자 리터럴이다. C언어 프로그래밍에는 세가지 유형으로 정수 리터럴 있음
- 10진수 / 8진수 / 16진수(세가지 유형)
ex) 10진수 = 0, 9, 22, 100 등
8진수 = 011, 072, 044 등
16진수 = 0x07, 0x2a, 0xff 등
* C언어 프로그래밍에서 8진수는 0~7까지, 16진수는 9이후로는 10을 a로 시작하여 f까지 16을 표시
* 계산기에서 10진수 1000을 입력하면 16진수(HEX)는 3E8이라는 숫자가 나오고 8진수는 1750이라는 숫자로 나타냄
2) 부동 소수점 리터럴
- 부동 소수점 리터럴은 부수 형식이나 지수 형식이 있는 숫자 리터럴
ex) -2.0 / 0.0000234 / -22E-5( E-5 => 10의 -5승)
3) 캐릭터
- 문자 리터럴은 작은따옴표 안에 단일 문자를 묶어서 만듬
ex) 'NS', '2', '}' 등
4) 탈출
- C언어 프로그래밍에서 입력할 수 없거나 특별한 의미가 있는 문자를 사용해야 하는 경우가 있음
ex) ENTER, TAB, ? 등
ex) \n는 개행에 사용 / \는 컴파일러에서 문자를 처리하는 일반적인 방식에서 벗어남
탈출 | |
\b | Backspace |
\f | Form feed |
\n | Newline |
\r | Return |
\t | Horizontal tab |
\v | Vertical tab |
\\ | Backslash |
\' | Single quotation mark |
\" | Double quotation mark |
\? | Question mark |
\0 |
Null character |
5) 문자열 리터럴
- 문자열 리터럴은 큰따옴표로 묶인 일렬의 문자
ex) "good // 문자열 상수
" " // null 문자열 상수
" " // 여백 6개의 문자열 상수
"X" // 단일 문자를 갖는 문자열 상수
"Earth is round\n // 줄 바꿈이 있는 문자열을 인쇄함
4. 상수
- 값을 변경할 수 없는 변수를 정의하려는 경우 const 키워드를 사용할 수 있음
ex) const double PI = 3.14;
ex) const double PI = 3.14;
PI = 2.9; // Error
* PI는 기호 상수, PI 값을 변경할 수 없음
* #define 전처리 지시문을 사용하여 상수를 정의할 수도 있음
'Program > C' 카테고리의 다른 글
5. C언어 입력 출력(I/O) (0) | 2021.10.11 |
---|---|
4. C언어 데이터 유형 (0) | 2021.10.11 |
2. C언어 키워드 및 식별자 (0) | 2021.10.06 |
1. C언어 소개 (0) | 2021.10.06 |
프로그래밍 연습 / 문제풀이 사이트(c언어) (0) | 2021.10.04 |
댓글