본문 바로가기

프로그래밍/C & C++

[C] cf. ASCII CODE

1. ASCII Code란?

ASCII(American Standard Code for Information Interchange)는 문자들, 특히 알파벳을 컴퓨터에서 사용하기 위한 문자 인코딩이다. ASCII Code는 국제 표준 기구에 의해서 개발되었고, 1967년에 미국 국립 표준 연구소에서 제정되었으며, 1986년에 최종적으로 개정되었다. ASCII Code는 7bit Code로 총 128개의 문자들을 나타낼 수 있다. 그 중 0~32의 33개의 문자들은 제어 문자들로 구성되어 있고, 33~127의 95개의 문자들은 출력가능한 문자들로 이루어져 있다. ASCII Code의 표는 아래와 같다.


2. C 언어에서의 ASCII CODE

C 언어에서 문자를 출력하기 위해서 ASCII를 사용한다. 앞서 배운 C 언어의 자료형 char는 1Byte 자료형으로, 7bit로 이루어진 ASCII Code 전부를 표현할 수 있다. 문자를 출력하기 위해 char 변수를 하나 선언하고, 그 변수에 ASCII Code의 출력가능한 문자의 Decimal 값을 넣고 printf 함수와 형식문자 %c를 이용해서 출력해보자. 의도한 문자가 잘 나오는지 확인해보자. ASCII Code는 위의 표를 참조하도록 하자.

아래의 코드는 ASCII Code를 이용해서 문자를 출력해보는 예제이다

1
2
3
4
5
6
7
8
9
10
11
#include<stdio.h>
 
int main(void){
    char x,y,z;
 
    x=97;         //ASCII Code의 Decimal 대입 : a
    y=0x30;       //ASCII Code의 Hexadecimal 대입 : 0
    z=x+1;        //char 변수이므로 사칙연산도 가능. : b
 
    printf("%c %c %c\n",x,y,z);
}
cs

아래와 같은 결과가 나타나면 정상적으로 작성한 것이다.


그렇다면 문자를 출력할 매번 ASCII Code Table을 참조하면서 값을 변경해주어야 하는 것일까? 그렇지 않다. C언어에서 char 변수에 값을 넣어줄 때, 입력하고자 하는 문자와 작은따옴표(')를 이용해보도록 하자. 이러한 방식으로 char 변수에 값을 대입시키는 경우, 컴파일러가 문자를 자동으로 ASCII로 변환시켜 그 값을 대입시킨다.

1
2
3
4
5
6
7
8
9
#include<stdio.h>
 
int main(void){
    char x;
 
    x='a';
 
    printf("%c\n",x);
}
cs

위의 예제는 알파벳 소문자 'a'가 출력될 것이다. 위의 예제에서도 char 변수 x는 마찬가지로 사칙연산과 같은 연산 수행이 가능하다. 예를 들어 b를 출력하고자 하는 경우, x='a'+1; 과 같은 문장으로도 수행할 수 있다.


3. 프로그램 실습

변수 x,y,z가 선언되어 있고, 각각의 변수는 알파벳 소문자 a,b,c로 초기화한다. 주어진 변수 x,y,z를 사칙연산을 통해 알파벳 대문자 A,B,C로 변경해보자.

프로그램의 실행결과는 아래와 같다.


반응형

'프로그래밍 > C & C++' 카테고리의 다른 글

[C] 3. 표준 입출력과 주석  (0) 2017.01.01
[C] cf. 형식문자(Format Character)  (0) 2016.12.28
[C] 2. C 언어의 자료형  (0) 2016.12.25
[C] 1. C 언어의 시작  (0) 2016.12.25
[Visual Studio] 2. Visual Studio 시작하기  (0) 2014.09.09