4.9 Kontrollfragen und Aufgaben
-
Welcher Fehler wurde hier gemacht? Bringen Sie das Beispiel zur Ausführung!
// Kapitel4/aufgabe001.c
#include <stdio.h>
int main(void) {
int iVar = 0;
printf("Bitte eine Ganzzahl eingeben: ");
int check = scanf("%d", iVar);
if( check != 1 ) {
printf("Fehler bei scanf ...\n");
return 1; // Programm beenden
}
printf("%d Wert(e) eingelesen; ", check);
printf("der eingegebene Wert lautet: %d\n", iVar);
return 0;
} -
Schreiben Sie ein Listing, das nach einer Temperatur in Grad Celsius fragt. Diesen eingelesenen Wert rechnen Sie dann in Kelvin und Grad Fahrenheit um. Verwenden Sie double als Basisdatentyp. Die Formel, um aus einer Temperatur in Grad Celsius (TC) einen Wert in Grad Fahrenheit (TF) zu erhalten, lautet:
TF = ( (TC * 9) / 5 ) + 32
Noch einfacher geht die Umrechnung von Celsius (TC) nach Kelvin (TK):
TK = TC + 273,15
-
Was wird in den folgenden Zeilen für ein Wert ausgegeben?
int i = 1;
printf("i = %d\n", i--);
printf("i = %d\n", ++i);
printf("i = %d\n", i++);
printf("i = %d\n", ++i); -
Was ist eine explizite Umwandlung, und wann sollten Sie diese gegenüber der impliziten Umwandlung bevorzugen?
-
Womit wird eine explizite Umwandlung durchgeführt?
Obwohl es noch viel mehr Mathematikfunktionen und zusätzliche Bibliotheken gibt, wollen wir es an dieser Stelle damit bewenden lassen. Vor allem über komplexe Wurzeln könnten wir noch 50 Seiten schreiben. So hat z. B. die mehrfache Wurzel aus einer negativen Zahl (z. B. die 10. Wurzel aus –5) nicht eine, sondern gleich 10 Lösungen. Die Standardbibliothek liefert jedoch nur die erste Lösung zurück, nämlich 1,1161i. All diese Probleme und Einschränkungen sind jedoch nur in Spezialfällen interessant. Im nächsten Kapitel erfahren Sie, wie Sie z. B. mit dem Schlüsselwort if Anweisungsblöcke abhängig von einer Bedingung ausführen können.