Implizite Konvertierungen
Automatische Erweiterungen
Implizite Konvertierungen ist eine kostenlose C Academy-Lektion auf CoddyKit. Dies ist Lektion 1 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 eine Konvertierung
Wenn C Werte unterschiedlicher Typen miteinander kombiniert, konvertiert die Sprache automatisch einen Typ in den anderen. Das nennt man eine implizite Konvertierung.
#include <stdio.h>
int main(void) {
int i = 5;
double d = i;
printf("d = %.1f\n", d);
return 0;
}Ganzzahl-Promotion
Kleine Ganzzahltypen wie char und short werden vor arithmetischen Operationen zu int hochgestuft.
#include <stdio.h>
int main(void) {
char a = 10, b = 20;
int sum = a + b;
printf("sum = %d\n", sum);
return 0;
}Übliche arithmetische Konvertierungen
In einem gemischten Ausdruck wird der Operand mit dem kleineren Wertebereich in den größeren Typ konvertiert, damit beide vor der Operation übereinstimmen.
#include <stdio.h>
int main(void) {
int i = 3;
double d = 2.0;
printf("%.1f\n", i + d);
return 0;
}int zu double
Ein int, der einem double zugewiesen wird, wird sicher erweitert und behält seinen exakten Wert.
#include <stdio.h>
int main(void) {
int count = 7;
double avg = count;
printf("avg = %.1f\n", avg);
return 0;
}double zu int schneidet ab
Wenn Sie einen double einem int zuweisen, wird der Nachkommateil entfernt. Es findet keine Rundung statt.
#include <stdio.h>
int main(void) {
double d = 9.99;
int n = d;
printf("n = %d\n", n);
return 0;
}char und int
Ein char enthält eine kleine Ganzzahl, nämlich seinen Zeichencode. Er wird automatisch in int konvertiert.
#include <stdio.h>
int main(void) {
char c = 'A';
int code = c;
printf("code = %d\n", code);
return 0;
}Konvertierungen bei Zuweisungen
Die rechte Seite wird bei der Zuweisung in den Typ der linken Seite konvertiert.
#include <stdio.h>
int main(void) {
double pi = 3;
printf("pi = %.1f\n", pi);
return 0;
}Überraschung bei gemischter Division
5 / 2 ist eine Ganzzahldivision und ergibt 2. Machen Sie einen Operanden zu einem double, um eine echte Division zu erhalten.
#include <stdio.h>
int main(void) {
printf("%.1f\n", 5 / 2.0);
return 0;
}Boolesche Konvertierungen
In Bedingungen wird jeder Wert ungleich null in true und null in false konvertiert.
#include <stdio.h>
int main(void) {
int x = 3;
if (x)
printf("nonzero is true\n");
return 0;
}Konvertierung von Rückgabewerten
Ein zurückgegebener Wert wird in den Rückgabetyp der Funktion konvertiert. Wenn eine Funktion mit Rückgabetyp int einen double zurückgibt, wird dieser abgeschnitten.
#include <stdio.h>
int half(int n) {
return n / 2;
}
int main(void) {
printf("%d\n", half(7));
return 0;
}Argumente übergeben
Argumente werden in den Parametertyp konvertiert, wenn ein Prototyp im Gültigkeitsbereich vorhanden ist.
#include <stdio.h>
void show(double d) {
printf("%.1f\n", d);
}
int main(void) {
show(5);
return 0;
}Kurzer Test
Testen Sie Ihr Verständnis impliziter Konvertierungen.
Rückblick: Implizite Konvertierungen
Sie haben automatische Typkonvertierungen kennengelernt.
- C konvertiert Operanden in einen gemeinsamen Typ
- Kleine Ganzzahlen werden zu
inthochgestuft - int wird sicher zu double erweitert
- double wird zu int abgeschnitten
- Ganzzahldivisionen führen zu Überraschungen, sofern kein Operand ein double ist
Häufig gestellte Fragen
Ist die Lektion „Implizite Konvertierungen“ kostenlos?
Ja — der vollständige Text von „Implizite Konvertierungen“ 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 „Implizite Konvertierungen“?
Automatische Erweiterungen 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 1 von 4.
Wie lange dauert die Lektion „Implizite Konvertierungen“?
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
- Implizite Konvertierungen
- Explizite Casts
- Integer- und Float-Konvertierungen
- Fallstricke bei Konvertierungen