Die ctype-Bibliothek
isdigit, isalpha, toupper
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,isupperundislower. - die Konvertierung mit
toupperundtolower. - stets Werte als
unsigned charzu übergeben, um undefiniertes Verhalten zu vermeiden.
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
- Zeichen als Integer
- Die ctype-Bibliothek
- Zeichen lesen
- Zeichen-Hilfsfunktionen erstellen