Computer >> 컴퓨터 >  >> 프로그래밍 >> C 프로그래밍

C 언어 문자 분석 함수란? ctype.h 주요 함수와 예제 코드로 쉽게 배우기


문자 분석 및 변환 함수란?

C 언어에서는 ctype.h 헤더 파일에 미리 정의된 함수들을 사용하여 입력받은 문자가 알파벳인지, 숫자인지, 공백이나 특수 기호인지 판별하거나, 영문자의 대소문자를 서로 변환할 수 있습니다. 이러한 함수들은 사용자 입력 검증이나 문자열 처리 등 실무 개발에서 매우 자주 활용되므로 반드시 익혀두는 것이 좋습니다.

1. 문자 분석 함수

분석 함수는 전달된 문자가 특정 조건에 해당하는지 검사하여, 조건을 만족하면 참(0이 아닌 값)을, 그렇지 않으면 0을 반환합니다.

번호함수설명
1isalpha()알파벳 문자인지 검사
2isdigit()숫자(0~9)인지 검사
3isspace()공백, 탭, 줄바꿈 문자인지 검사
4ispunct()특수 기호(구두점)인지 검사
5islower()영문 소문자인지 검사
6isupper()영문 대문자인지 검사
7isalnum()알파벳 또는 숫자인지 검사

2. 문자 변환 함수

변환 함수는 영문자의 대소문자를 상호 변환하는 데 사용됩니다. 단, 이 함수들은 원본 문자 값을 직접 변경하는 것이 아니라 변환된 값을 새로 반환한다는 점에 유의해야 합니다.

함수설명
tolower()대문자를 소문자로 변환
toupper()소문자를 대문자로 변환

예제 코드

다음은 문자 분석 함수 isalpha()를 사용하여 입력된 문자가 알파벳인지 판별하는 간단한 C 프로그램입니다.

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

void main(){
    // 컴파일 시점에 문자 변수 초기화 //
    char variable = 'A';

    // 문자 분석 함수를 사용하여 결과 출력 //
    if (isalpha(variable)){
        printf("입력된 문자 : %c 는 알파벳입니다", variable);
    } else {
        printf("입력된 문자는 알파벳이 아닙니다");
    }
}

실행 결과

입력된 문자 : A 는 알파벳입니다

코드 해설: 변수 variable에는 문자 'A'가 저장되어 있으며, isalpha() 함수는 이 값이 알파벳임을 확인하고 참을 반환합니다. 따라서 if 문의 첫 번째 블록이 실행되어 위와 같은 결과가 화면에 출력됩니다. 만약 변수에 숫자나 특수 문자가 저장되어 있었다면 else 블록이 실행되었을 것입니다. 이처럼 ctype.h의 함수들을 활용하면 복잡한 조건문 없이도 손쉽게 문자의 종류를 판별할 수 있습니다.