정수로 다루는 문자
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 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.
이 강의의 모든 강의
- 정수로 다루는 문자
- ctype 라이브러리
- 문자 읽기
- 문자 유틸리티 만들기