0Pricing
C Academy · Leçon

La bibliothèque ctype

isdigit, isalpha, toupper

La bibliothèque ctype est une leçon C Academy gratuite sur CoddyKit. Ceci est la leçon 2 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage C Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours C Academy comprend 4 leçons au total.

Qu’est-ce que ctype.h

L’en-tête <ctype.h> fournit des fonctions pour classer et convertir les caractères.

Il vous évite de mémoriser les plages ASCII et d’écrire des comparaisons manuelles.

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

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

isdigit

isdigit(c) renvoie une valeur non nulle si c est un caractère chiffre compris entre '0' et '9', et 0 dans le cas contraire.

#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) renvoie une valeur non nulle si c est une lettre, majuscule ou minuscule.

Les chiffres et les symboles renvoient 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 et isspace

isalnum(c) est vrai pour les lettres et les chiffres. isspace(c) est vrai pour les caractères d’espacement tels que l’espace, la tabulation et le saut de ligne.

#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 et islower

isupper(c) vérifie s’il s’agit d’une lettre majuscule, et islower(c) d’une lettre minuscule.

Ces fonctions sont pratiques avant de décider de convertir la casse.

#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) renvoie une valeur non nulle pour les caractères de ponctuation imprimables comme !, ? et , qui ne sont ni des lettres, ni des chiffres, ni des espaces.

#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) renvoie la version majuscule d’une lettre. Si c n’est pas une lettre minuscule, la fonction renvoie c sans le modifier.

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

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

tolower

tolower(c) renvoie la version minuscule d’une lettre majuscule, ou le caractère inchangé s’il n’est pas en majuscule.

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

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

Classer une chaîne

Parcourez une chaîne et utilisez les fonctions ctype pour compter les chiffres et les lettres.

#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;
}

Mettre toute une chaîne en majuscules

Combinez toupper avec une boucle pour convertir une chaîne entière en majuscules, caractère par caractère.

#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;
}

Passer un int, pas un char négatif

Les fonctions ctype prennent un int qui doit pouvoir être représenté par un unsigned char ou être égal à EOF.

Passer directement un char négatif produit un comportement indéfini. En cas de doute, convertissez-le en 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;
}

Vérification rapide

Testez vos connaissances sur la bibliothèque ctype.

Récapitulatif

La bibliothèque <ctype.h> vous permet de :

  • Classer avec isdigit, isalpha, isalnum, isspace, ispunct, isupper et islower.
  • Convertir avec toupper et tolower.
  • Toujours transmettre des valeurs converties en unsigned char pour éviter un comportement indéfini.

Questions Fréquemment Posées

La leçon « La bibliothèque ctype » est-elle gratuite ?

Oui — le texte complet de « La bibliothèque ctype » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours C Academy, passe à CoddyKit PRO. Le cours C Academy comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « La bibliothèque ctype » ?

isdigit, isalpha, toupper Tu pratiques C Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer C Academy ?

Aucune expérience préalable n'est requise. C Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 2 sur 4.

Combien de temps prend la leçon « La bibliothèque ctype » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon C Academy ?

Oui. Chaque leçon C Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Caractères comme entiers
  2. La bibliothèque ctype
  3. Lire des caractères
  4. Créer des utilitaires pour caractères
← Retour à C Academy