C Academy · Lektion

Die ctype-Bibliothek

isdigit, isalpha, toupper

Lektion 2 von 413 Schritte

Die ctype-Bibliothek ist eine kostenlose C Academy-Lektion auf CoddyKit. Dies ist Lektion 2 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des C Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der C Academy-Kurs umfasst insgesamt 4 Lektionen.

Was ist ctype.h

Der Header <ctype.h> stellt Funktionen zum Klassifizieren und Konvertieren von Zeichen bereit.

Dadurch müssen Sie sich keine ASCII-Bereiche merken und keine manuellen Vergleiche schreiben.

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

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

isdigit

isdigit(c) gibt einen Wert ungleich null zurück, wenn c ein Ziffernzeichen von '0'-'9' ist, andernfalls 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) gibt einen Wert ungleich null zurück, wenn c ein Buchstabe ist, unabhängig davon, ob es sich um einen Groß- oder Kleinbuchstaben handelt.

Für Ziffern und Symbole wird 0 zurückgegeben.

#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 und isspace

isalnum(c) ist für Buchstaben und Ziffern wahr. isspace(c) ist für Leerraumzeichen wie Leerzeichen, Tabulatoren und Zeilenumbrüche wahr.

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

isupper(c) prüft, ob es sich um einen Großbuchstaben handelt, islower(c), ob es sich um einen Kleinbuchstaben handelt.

Diese Funktionen sind nützlich, bevor Sie entscheiden, ob die Groß-/Kleinschreibung umgewandelt werden soll.

#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) gibt für druckbare Satzzeichen wie !, ? und , einen Wert ungleich null zurück, sofern es sich nicht um Buchstaben, Ziffern oder Leerzeichen handelt.

#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) gibt die Großbuchstabenvariante eines Buchstabens zurück. Wenn c kein Kleinbuchstabe ist, wird c unverändert zurückgegeben.

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

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

tolower

tolower(c) gibt die Kleinbuchstabenvariante eines Großbuchstabens zurück oder das Zeichen unverändert, wenn es kein Großbuchstabe ist.

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

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

Eine Zeichenkette klassifizieren

Iterieren Sie über eine Zeichenkette und verwenden Sie ctype-Funktionen, um Ziffern und Buchstaben zu zählen.

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

Eine ganze Zeichenkette in Großbuchstaben umwandeln

Kombinieren Sie toupper mit einer Schleife, um eine gesamte Zeichenkette Zeichen für Zeichen in Großbuchstaben umzuwandeln.

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

int übergeben, kein negativer char

ctype-Funktionen erwarten einen int-Wert, der entweder als unsigned char darstellbar ist oder EOF entspricht.

Die direkte Übergabe eines negativen char-Werts führt zu undefiniertem Verhalten. Wandeln Sie den Wert im Zweifel in unsigned char um.

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

Schnelltest

Testen Sie Ihr Wissen über die ctype-Bibliothek.

Zusammenfassung

Die Bibliothek <ctype.h> ermöglicht Ihnen:

  • die Klassifizierung mit isdigit, isalpha, isalnum, isspace, ispunct, isupper und islower.
  • die Konvertierung mit toupper und tolower.
  • stets Werte als unsigned char zu übergeben, um undefiniertes Verhalten zu vermeiden.
Kostenlos starten

Lerne C mit einem KI-Tutor — kostenlos

Schreibe und führe echten Code in deinem Browser aus, bekomme sofortige Hilfe von einem 24/7 KI-Tutor und setze dein Lernen im Web oder in der App fort.

Kurse
39
Lektionen
144

Häufig gestellte Fragen

Ist die Lektion „Die ctype-Bibliothek“ kostenlos?

Ja — der vollständige Text von „Die ctype-Bibliothek“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des C Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der C Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Die ctype-Bibliothek“?

isdigit, isalpha, toupper Du übst C Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um C Academy zu starten?

Keine Vorkenntnisse erforderlich. C Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 2 von 4.

Wie lange dauert die Lektion „Die ctype-Bibliothek“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser C Academy-Lektion Code schreiben und ausführen?

Ja. Jede C Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Zeichen als Integer
  2. Die ctype-Bibliothek
  3. Zeichen lesen
  4. Zeichen-Hilfsfunktionen erstellen
← Zurück zu C Academy