Type Casting Teil 2
Teil des Abschnitts Fundamentals der C-Journey von Coddy — Lektion 14 von 63.
In Teil 1 haben wir uns die implizite Typumwandlung angesehen. Jetzt schauen wir uns die explizite Typumwandlung in C an.
Explizite Typumwandlung (manuelle Konvertierung) ist, wenn Sie einen Datentyp unter Verwendung des Cast-Operators manuell in einen anderen umwandeln.
Die Syntax für explizites Casting lautet:
(target_type) expressionWandeln wir einen Float in einen Integer um:
float price = 45.95;
int rounded_price = (int) price;Nach der Ausführung des obigen Codes wird rounded_price sein:
45
Beachten Sie, dass der Dezimalteil abgeschnitten (nicht gerundet) wird.
Wir können Zeichen auch in Ganzzahlen umwandeln, um ihre ASCII-Werte zu erhalten:
char letter = 'A';
int ascii_value = (int) letter;Nach der Ausführung des obigen Codes wird ascii_value sein:
65
Denken Sie daran, dass Type Casting zu Datenverlust führen kann, insbesondere bei der Konvertierung von einem größeren Datentyp in einen kleineren.
Aufgabe
EinfachSchreibe ein Programm, das:
- Eine double-Variable namens
temperaturedeklariert und ihr den Wert 98.6 zuweist. - Explizite Typumwandlung verwendet, um
temperaturein eine Ganzzahl umzuwandeln und diese in einer Variablen namenswhole_partspeichert. - Die ursprüngliche Temperatur und den ganzzahligen Teil in separaten Zeilen ausgibt.
Beispielausgabe:
Original temperature: 98.6
Whole part: 98
Spickzettel
Explizite Typumwandlung (Type Casting) in C ermöglicht es Ihnen, einen Datentyp manuell mit dem Cast-Operator in einen anderen umzuwandeln.
Syntax:
(target_type) expressionUmwandlung von float in integer (schneidet den Nachkommateil ab):
float price = 45.95;
int rounded_price = (int) price; // Ergebnis: 45Umwandlung von character in integer (ermittelt den ASCII-Wert):
char letter = 'A';
int ascii_value = (int) letter; // Ergebnis: 65Hinweis: Typumwandlung kann zu Datenverlust führen, wenn von größeren in kleinere Datentypen konvertiert wird.
Probier es selbst
#include <stdio.h>
int main() {
// Schreibe deinen Code hier
return 0;
}Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Fundamentals
2Variablen
DatentypenIntegerFloat - DoubleZeichenBooleansKonstantenprintf GrundlagenBenennungsregeln für VariablenType Casting Teil 1Type Casting Teil 2Wiederholungs-Challenge3Operatoren
Arithmetische OperatorenModulo-OperatorInkrement/DekrementZuweisungsoperatorenRelationale OperatorenLogische Operatoren Teil 1Logische Operatoren Teil 2Logische Operatoren Teil 3Wiederholungs-Challenge