2.6 문자 상수 [DOC] [SMTS]
C/C++언어에서는 정수형 변수에 정수뿐만 아니라 문자를 저장할 수 있으며 특별히 char형과 int형은 문자를 저장하는 목적으로도 자주 사용된다. 문자상수는 작은 따옴표(‘’)를 이용하여 표현되며 예를 들면 ‘a’, ‘+’, ‘0’ 등이 있다. 문자상수는 아스키(ASCII)코드라는 고유의 상수값이 정해져 있는데 다음 표에 몇몇 문자상수와 아스키코드값을 수록하였다.
표 2.3.1 문자와 ASCII 코드
종류 | 문자와 ASCII 코드 | ||||
숫자 (문자) ASCII 코드 | ‘0’ 48 | ‘1’ 49 | ‘2’ 50 | … | ‘9’ 57 |
알파벳 대문자 ASCII 코드 | ‘A’ 65 | ‘B’ 66 | ‘C’ 67 | ... | ‘Z’ 90 |
알파벳 소문자 ASCII 코드 | ‘a’ 97 | ‘b’ 98 | ‘c’ 99 | ... | ‘z’ 122 |
특수문자 ASCII 코드 | ‘&’ 38 | ‘*’ 42 | ‘+’ 43 |
char형은 크기가 1바이트이므로 부호 없는 unsigned char 변수인 경우 0부터 255까지의 작은 정수를 저장할 수 있으며 short형은 2바이트로 부호 없는 숫자의 경우 0부터 65,535까지 저장할 수 있다. 만약 char형 변에 문자상수, 예를 들어서 ‘a’가 저장되면 내부적으로는 97이라는 숫자가 저장된다는 것을 알아야 한다.
[표 2.3.2 ] 한 문자가 저장되는 비트 구조
bit7 | bit6 | bit5 | bit4 | bit3 | bit2 | bit1 | bit0 | |
‘a’ (97) | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 1 |
부호가 있는 정수형 데이터는 음수를 2의 보수로 저장하기 때문에 저장범위가 char형은 –128 ~ +127이 되고 short형은 –32,768 ~ +32,767이 된다.
다음 예를 컴파일한 후 실행해 보자.
ex02-03.c |
#include <stdio.h>int main() {char ca = 'a', cb = 'A';char cc = '0';printf("'%c'\t'%c'\t'%c'\n", ca, cb, cc);printf("%d\t%d\t%d\n", ca, cb, cc);} |
실행 결과 |
'a' 'A' '0'97 65 48 |
이것을 보면 문자 ‘a’는 내부적으로 97, ‘A’는 65, 그리고 문자 ‘0’은 48과 같다는 것을 알 수 있다.
'프로그래밍언어.Lib > C,C++' 카테고리의 다른 글
1장 연습문제 (0) | 2016.03.28 |
---|---|
2.7 논리형(bool형) (0) | 2016.03.28 |
2.5 실수 자료형과 실수 상수 (0) | 2016.03.28 |
2.4 정수 자료형과 정수형 숫자 상수 (0) | 2016.03.28 |
1.9 2진수와 16진수 (0) | 2016.03.07 |