Konwersja typów — część 2
Część sekcji Podstawy ścieżki C w Coddy. Lekcja 14 z 63.
W części 1 przyjrzeliśmy się niejawnemu rzutowaniu typów. Teraz poznajmy jawne rzutowanie typów w C.
Jawne rzutowanie typów (konwersja ręczna) polega na wymuszeniu konwersji jednego typu danych na inny za pomocą operatora rzutowania.
Składnia jawnego rzutowania jest następująca:
(target_type) expressionPrzekonwertujmy liczbę zmiennoprzecinkową na liczbę całkowitą:
float price = 45.95;
int rounded_price = (int) price;Po wykonaniu powyższego kodu rounded_price będzie równe:
45
Zwróć uwagę, że część dziesiętna jest obcinana (a nie zaokrąglana).
Możemy również rzutować znaki na liczby całkowite, aby uzyskać ich wartości ASCII:
char letter = 'A';
int ascii_value = (int) letter;Po wykonaniu powyższego kodu ascii_value będzie równe:
65
Pamiętaj, że rzutowanie typów może prowadzić do utraty danych, zwłaszcza podczas konwersji z większego typu danych na mniejszy.
Wyzwanie
ŁatwyNapisz program, który:
- Deklaruje zmienną typu double o nazwie
temperaturei przypisuje jej wartość 98.6. - Używa jawnego rzutowania typów, aby przekonwertować
temperaturena liczbę całkowitą i zapisuje ją w zmiennej o nazwiewhole_part. - Wypisuje oryginalną temperaturę i część całkowitą w osobnych wierszach.
Przykładowy wynik:
Original temperature: 98.6
Whole part: 98
Spróbuj swoich sił
#include <stdio.h>
int main() {
// Wpisz tutaj swój kod
return 0;
}Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Podstawy
2Zmienne
Typy danychLiczby całkowiteLiczby zmiennoprzecinkowe — float i doubleZnakiWartości logiczneStałePodstawy printfZasady nazewnictwa zmiennychKonwersja typów — część 1Konwersja typów — część 2Wyzwanie podsumowujące3Operatory
Operatory arytmetyczneOperator moduloInkrementacja/dekrementacjaOperatory przypisaniaOperatory relacyjneOperatory logiczne — część 1Operatory logiczne — część 2Operatory logiczne — część 3Wyzwanie podsumowującePoćwicz samodzielnie: Kompilator C online