Zeichen
Der dritte grundlegende Datentyp ist char (von englisch character, Zeichen). Er enthält ein Zeichen: einen Buchstaben, eine Ziffer, ein Satzzeichen oder ein Leerzeichen. Das Zeichen schreibst du in einfache Anführungszeichen und gibst es mit %c aus:
char groesse = 'M';
char reihe = 'F';
printf("Größe: %c\n", groesse);
printf("Platz: %c%d\n", reihe, 12);Das gibt Folgendes aus:
Größe: M
Platz: F12Ein char ist überall praktisch, wo ein Zeichen genügt: eine T-Shirt-Größe, eine Reihe im Kino, eine Klasse (7B) oder eine Antwort, 'j' oder 'n'.
Achte auf die Anführungszeichen. Einfache Anführungszeichen enthalten ein Zeichen: 'M'. Doppelte enthalten Text, auch wenn er nur einen Buchstaben lang ist: "M". In C ist Text etwas anderes als ein Zeichen, und mit Text arbeitest du in der Lektion über Zeichenketten. Wenn du versuchst, Text in einem char zu speichern, lässt sich das Programm nicht kompilieren:
#include <stdio.h>
int main(void) {
char groesse = "M";
printf("Größe: %c\n", groesse);
return 0;
}Der Compiler meldet:
main.c:4:10: error: incompatible pointer to integer conversion initializing 'char' with an expression of type 'char[2]' [-Wint-conversion]Die Meldung sieht beängstigend aus, sagt aber nur, dass sich der Text "M" nicht in einem char speichern lässt. Ein Zeichen steht in einfachen Anführungszeichen: 'M'.
Im Computer wird jedes Zeichen als Zahl gespeichert, als sein Code. 'A' hat den Code 65, 'B' 66 und so weiter durch das Alphabet. Auch eine Ziffer in Anführungszeichen ist ein Zeichen mit eigenem Code: '7' ist 55, nicht 7. Den Code siehst du, wenn du ein Zeichen mit %d ausgibst:
char buchstabe = 'A';
printf("%c hat den Code %d\n", buchstabe, buchstabe);
printf("%c\n", buchstabe + 1);Das gibt Folgendes aus:
A hat den Code 65
BDerselbe Wert wird mit %c als Zeichen und mit %d als sein Code ausgegeben. Und buchstabe + 1 ist 66, der Code von B. Das wird nützlich, wenn du mit Text arbeitest.
Jetzt kennst du die drei grundlegenden Datentypen von C: int, double und char. C hat noch ein paar mehr, zum Beispiel für sehr große Zahlen, aber die braucht dieser Kurs nicht. In der nächsten Lektion lernst du einen weiteren Typ kennen, für wahr und falsch.
So schreibst du es:
Anweisungen
- 1
Lege darunter eine Variable
groessevom Typcharmit dem Wert'M'an. - 2
Gib sie in der nächsten Zeile mit
%caus:Größe: M - 3
Gib darunter die Größe noch einmal als Zeichen und als ihren Code aus. Verwende ein
printfmit%cund%dund gibgroessezweimal an:Code von M: 77