0Pricing
C Academy · 강의

정수로 다루는 문자

ASCII 값을 알아봅니다

정수로 다루는 문자은(는) CoddyKit의 무료 C Academy 강의입니다. 이것은 4개 중 1번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 C Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. C Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

문자는 숫자입니다

C에서 char는 작은 정수일 뿐입니다. 모든 문자에는 ASCII 표에 정의된 숫자 값이 있습니다.

문자 'A'는 숫자 65로 저장되고, 'B'는 66으로 저장되는 식입니다.

#include <stdio.h>

int main(void) {
    char c = 'A';
    printf("The character %c has value %d\n", c, c);
    return 0;
}

ASCII 값 출력하기

%d 형식 지정자를 사용하면 char를 정수 값으로 출력하고, %c를 사용하면 문자로 출력할 수 있습니다.

같은 변수를 두 방식으로 확인할 수 있습니다.

#include <stdio.h>

int main(void) {
    char letter = 'z';
    printf("As char: %c\n", letter);
    printf("As int:  %d\n", letter);
    return 0;
}

숫자 문자에도 코드가 있습니다

문자 '0'은 숫자 0이 아닙니다. 이 문자의 ASCII 값은 48입니다.

숫자 문자 '0'부터 '9'까지는 48부터 57까지의 코드에 순서대로 배치되어 있습니다.

#include <stdio.h>

int main(void) {
    printf("'0' = %d\n", '0');
    printf("'9' = %d\n", '9');
    return 0;
}

문자를 숫자로 변환하기

숫자 문자들은 연속되어 있으므로 '0'을 빼서 숫자 문자에서 숫자 값으로 변환할 수 있습니다.

'7' - '0'은 7과 같습니다.

#include <stdio.h>

int main(void) {
    char d = '7';
    int value = d - '0';
    printf("The digit value is %d\n", value);
    return 0;
}

문자의 산술 연산

char는 정수이므로 문자에 산술 연산을 수행할 수 있습니다. 'A'에 1을 더하면 'B'의 코드가 됩니다.

알파벳 문자가 ASCII에서 연속으로 배치되어 있기 때문에 이렇게 동작합니다.

#include <stdio.h>

int main(void) {
    char c = 'A';
    char next = c + 1;
    printf("After A comes %c\n", next);
    return 0;
}

알파벳 순회하기

char를 반복 변수로 사용하여 'a'부터 'z'까지 반복할 수 있습니다.

이 반복문은 숫자와 마찬가지로 문자 코드를 비교합니다.

#include <stdio.h>

int main(void) {
    for (char c = 'a'; c <= 'z'; c++) {
        printf("%c", c);
    }
    printf("\n");
    return 0;
}

대소문자 코드 차이

ASCII에서 대문자와 소문자는 32만큼 떨어져 있습니다. 'a'는 97이고 'A'는 65입니다.

따라서 'a' - 'A'는 32입니다.

#include <stdio.h>

int main(void) {
    printf("'A' = %d\n", 'A');
    printf("'a' = %d\n", 'a');
    printf("Gap = %d\n", 'a' - 'A');
    return 0;
}

대소문자 수동 변환

차이가 32라는 것을 알고 있으므로 32를 빼서 소문자를 대문자로 변환할 수 있습니다.

이것이 바로 toupper가 내부적으로 수행하는 작업입니다.

#include <stdio.h>

int main(void) {
    char lower = 'm';
    char upper = lower - 32;
    printf("%c becomes %c\n", lower, upper);
    return 0;
}

특수 문자

제어 문자에도 코드가 있습니다. 줄바꿈 문자 '\n'은 10이고, 탭 문자 '\t'는 9이며, 널 종료 문자 '\0'은 0입니다.

공백 문자는 32입니다.

#include <stdio.h>

int main(void) {
    printf("newline = %d\n", '\n');
    printf("tab     = %d\n", '\t');
    printf("space   = %d\n", ' ');
    return 0;
}

char에 작은 수 저장하기

char는 일반적으로 -128부터 127까지(부호 있음) 또는 0부터 255까지(부호 없음)의 값을 저장합니다.

작은 정수를 char에 직접 저장할 수 있습니다.

#include <stdio.h>

int main(void) {
    char small = 100;
    small = small + 5;
    printf("small = %d\n", small);
    return 0;
}

카이사르 이동 만들기

이 개념들을 결합하면 간단한 카이사르 암호를 문자 산술 연산으로 구현하여 각 문자를 일정한 양만큼 이동할 수 있습니다.

여기서는 문자를 3만큼 앞으로 이동합니다.

#include <stdio.h>

int main(void) {
    char c = 'x';
    char shifted = 'a' + (c - 'a' + 3) % 26;
    printf("%c shifted by 3 = %c\n", c, shifted);
    return 0;
}

빠른 확인

문자를 정수로 다루는 방법을 이해했는지 확인해 보십시오.

복습

C에서 다음을 배웠습니다.

  • char는 ASCII 코드를 저장하는 작은 정수입니다.
  • %c는 문자를 출력하고, %d는 숫자로 출력합니다.
  • 숫자 '0'-'9'와 문자는 연속으로 배치되어 있어 산술 연산이 가능합니다.
  • c - '0'은 숫자 문자를 그 값으로 변환하며, 대소문자 코드 차이는 32입니다.

자주 묻는 질문

“정수로 다루는 문자” 강의는 무료인가요?

네 — “정수로 다루는 문자” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 C Academy 강의 전체를 잠금 해제할 수 있습니다. C Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

“정수로 다루는 문자”에서 뭘 배우나요?

ASCII 값을 알아봅니다 브라우저에서 직접 실행하는 실습 코드로 C Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

C Academy을(를) 시작하는 데 경험이 필요한가요?

사전 경험은 필요하지 않습니다. CoddyKit의 C Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 1번째 강의입니다.

“정수로 다루는 문자” 강의는 얼마나 걸리나요?

대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.

이 C Academy 강의에서 코드를 작성하고 실행할 수 있나요?

네. 모든 C Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. 정수로 다루는 문자
  2. ctype 라이브러리
  3. 문자 읽기
  4. 문자 유틸리티 만들기
← C Academy(으)로 돌아가기