0Pricing
C Academy · 강의

ctype 라이브러리

isdigit, isalpha, toupper를 알아봅니다

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

ctype.h란 무엇인가

<ctype.h> 헤더는 문자를 분류하고 변환하는 함수를 제공합니다.

ASCII 범위를 외우고 직접 비교하는 코드를 작성할 필요가 없습니다.

#include <stdio.h>
#include <ctype.h>

int main(void) {
    printf("Is 'A' alpha? %d\n", isalpha('A'));
    return 0;
}

isdigit 함수

isdigit(c)는 c가 숫자 문자인 '0'-'9'이면 0이 아닌 값을 반환하고, 그렇지 않으면 0을 반환합니다.

#include <stdio.h>
#include <ctype.h>

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

isalpha 함수

isalpha(c)는 c가 대문자 또는 소문자인 문자인 경우 0이 아닌 값을 반환합니다.

숫자와 기호에 대해서는 0을 반환합니다.

#include <stdio.h>
#include <ctype.h>

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

isalnum 및 isspace

isalnum(c)은 문자 또는 숫자일 때 참입니다. isspace(c)는 공백, 탭, 줄바꿈과 같은 공백 문자일 때 참입니다.

#include <stdio.h>
#include <ctype.h>

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

isupper 및 islower

isupper(c)는 대문자인지 확인하고, islower(c)는 소문자인지 확인합니다.

대소문자를 변환할지 결정하기 전에 유용하게 사용할 수 있습니다.

#include <stdio.h>
#include <ctype.h>

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

ispunct 함수

ispunct(c)는 !, ?, ,처럼 문자, 숫자 또는 공백이 아닌 인쇄 가능한 문장 부호 문자에 대해 0이 아닌 값을 반환합니다.

#include <stdio.h>
#include <ctype.h>

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

toupper 함수

toupper(c)는 문자를 대문자로 변환한 결과를 반환합니다. c가 소문자가 아니면 c를 변경하지 않고 그대로 반환합니다.

#include <stdio.h>
#include <ctype.h>

int main(void) {
    printf("%c\n", toupper('h'));
    printf("%c\n", toupper('5'));
    return 0;
}

tolower 함수

tolower(c)는 대문자를 소문자로 변환한 결과를 반환하며, 대문자가 아니면 문자를 변경하지 않고 그대로 반환합니다.

#include <stdio.h>
#include <ctype.h>

int main(void) {
    printf("%c\n", tolower('H'));
    printf("%c\n", tolower('z'));
    return 0;
}

문자열 분류하기

문자열을 반복하면서 ctype 함수를 사용해 숫자와 문자의 개수를 세어 보십시오.

#include <stdio.h>
#include <ctype.h>

int main(void) {
    char *s = "abc123";
    int letters = 0, digits = 0;
    for (int i = 0; s[i]; i++) {
        if (isalpha(s[i])) letters++;
        if (isdigit(s[i])) digits++;
    }
    printf("letters=%d digits=%d\n", letters, digits);
    return 0;
}

문자열 전체를 대문자로 변환하기

toupper를 반복문과 결합하면 문자열 전체를 문자 단위로 대문자로 변환할 수 있습니다.

#include <stdio.h>
#include <ctype.h>

int main(void) {
    char s[] = "Hello";
    for (int i = 0; s[i]; i++) {
        s[i] = toupper(s[i]);
    }
    printf("%s\n", s);
    return 0;
}

음수 char가 아닌 int 전달하기

ctype 함수에는 unsigned char로 표현할 수 있거나 EOF인 int를 전달해야 합니다.

음수 char를 직접 전달하면 정의되지 않은 동작이 발생합니다. 확실하지 않다면 unsigned char로 변환하십시오.

#include <stdio.h>
#include <ctype.h>

int main(void) {
    char c = 'Q';
    int result = isalpha((unsigned char)c);
    printf("safe isalpha = %d\n", result);
    return 0;
}

빠른 확인

ctype 라이브러리에 대한 지식을 확인해 보십시오.

복습

<ctype.h> 라이브러리로 다음을 수행할 수 있습니다.

  • isdigit, isalpha, isalnum, isspace, ispunct, isupper, islower로 문자를 분류합니다.
  • toupper와 tolower로 문자를 변환합니다.
  • 정의되지 않은 동작을 피하려면 항상 값을 unsigned char로 변환하여 전달합니다.

자주 묻는 질문

“ctype 라이브러리” 강의는 무료인가요?

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

“ctype 라이브러리”에서 뭘 배우나요?

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

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

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

“ctype 라이브러리” 강의는 얼마나 걸리나요?

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

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

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

이 강의의 모든 강의

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