Wahrheitszahlen in C++
Der Ausdruck "::std::isalpha( 65 )" ist die C++ -Schreibweise für den Aussagesatz „65 ist die Kennzahl eines Buchstabens.“
Der Wert solch eines Ausdrucks ist „wahr“ oder „falsch“: C++ ermittelt nämlich bei der Auswertung solch einer Aussage, ob sie wahr oder falsch ist und verwendet das Ergebnis ("0" für „falsch“ und jeder andere Wert für „wahr“) dann als Wert solch eines Ausdrucks.
isalpha.cpp
#include <iostream>
#include <ostream>
#include <cctype>
#include <string> // ""s
using namespace ::std::literals;
int main(){ ::std::cout << ::std::isalpha( 65 )<< "\n"s; }::std::cout
1
Insofern kann man "::std::isalpha( 65 )" auch als einen Fragesatz verstehen: „Ist 65 die Kennzahl eines Buchstabens?“ Der Wert dieses Ausdrucks ist dann die Antwort auf diese Frage, wobei der Wert „0“ für die Antwort „nein“ und jeder andere Wert für die Antwort „ja“ steht.
::std::isalpha [Dokumentation]
#include <cctype>
int isalpha( int c );
Ist c die Kennzahl eines Buchstabens?
Die Standardfunktion "::std::isalpha" ist ein einstelliges Prädikat (also eine Funktion, welche die Wahrheit einer Aussage ermittelt). Sie hat einen Parameter vom Typ "int". Das Ergebnis der Abbildung "::std::isalpha" ist ein Wert vom Typ "int". Das Ergebnis der Standardabbildung "::std::isalpha" ist ein von Null verschiedener Wert genau dann, wenn das durch den Argumentwert beschriebene Zeichen ein Buchstabe ist.
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.
Übungsaufgaben
- Anwendung der Standardfunktion "::std::isprint"
::std::isprint [Dokumentation]
#include <cctype>
int ::std::isprint( int c );
Ist c die Kennzahl eines druckbaren Zeichens?- Die Standardfunktion "::std::isprint" ermittelt, ob ein Zeichen als “druckbar” gilt. Sie ergibt Null genau dann, wenn das nicht zutrifft.
- Auf einem Computer hat jedes Zeichen eine Kennzahl. Die Funktion "::std::isprint" akzeptiert als Argument die Kennzahl des zu untersuchenden Zeichens.
- Ermitteln Sie durch Verwendung der Funktion "::std::isprint", ob das Zeichen mit der Kennzahl 20 ein druckbares Zeichen ist.