Prädikate in C
In dieser Lektion wird die Funktion "isalpha" als Beispiel eines Prädikats in C vorgestellt.
isalpha
Die Funktion "isalpha" kann verwendet werden, um zu ermitteln, ob ein Zeichen ein Buchstabe ist.
isalpha [Synopse]
#include <ctype.h>
int isalpha( int c );
Die Standardfunktion "isalpha" hat ein Parameter vom Typ "int". Das Ergebnis der Funktion "isalpha" ist ein Wert vom Typ "int". Das Ergebnis der Standardfunktion "isalpha" ist ein von Null verschiedener Wert, wenn das durch den Argumentwert beschriebene Zeichen ein Buchstabe des Ausführungszeichensatzes ist und sonst der Wert "0".
Von einem Prädikat erwartet man zunächst einen Wahrheitswert, wie „wahr“ oder „falsch“. In C werden häufig die ganzen Zahlen als Wahrheitswerte verwendet, wobei nur die Zahl 0 für den Wahrheitswert „falsch“ steht und alle anderen Zahlen für den Wahrheitswert „wahr“ stehen können. Daher ist es gerechtfertigt in diesem Fall die Funktion als ein Prädikat anzusehen, obwohl ihr Ergebnis nicht direkt vom für Wahrheitswerte in C vorgesehenen Datentyp "_Bool" ist.
Das folgende Programm gibt den Wert des Funktionsausdrucks "isalpha( 65 )" aus.
isalpha.c
#include <stdio.h>
#include <math.h>
int main(){ printf( "%d\n", isalpha( 65 )); }stdout
1
Zur Zuordnung einer Zahl zu einem Buchstaben muß der Zeichensatz des verwendeten Rechners herangezogen werden (Genauer gesagt, der durch das sogenannte “locale ” bestimmte Zeichensatz). Im Falle des ASCII -Codes entspricht die Zahl 65 beispielsweise dem Zeichen "A". Daher würde das obige Programm auf einem Rechner (“locale ”) mit ASCII -Code einen von Null verschiedenen Wert ausgeben.