Przejdź do głównej treści

Typy danych w C

Słownik kwalifikacji EE8 - Kwalifikacja EE8

W języku C typ danych określa, jakie wartości może przechowywać zmienna oraz ile pamięci zajmuje. W pytaniach egzaminacyjnych często trzeba dobrać typ do rodzaju przechowywanego wyniku.

Podstawowe typy

  • int — liczby całkowite, np. -5, 0, 120
  • float — liczby zmiennoprzecinkowe, czyli z częścią ułamkową, np. 3.14
  • double — liczby zmiennoprzecinkowe o większej precyzji niż float
  • char — pojedynczy znak, np. 'A'
  • bool — wartość logiczna true albo false; w C wymaga zwykle dołączenia biblioteki stdbool.h

Dzielenie liczb całkowitych

Jeżeli wynik dzielenia dwóch liczb całkowitych może mieć część ułamkową, należy użyć typu zmiennoprzecinkowego, np. float albo double.

int a = 5;
int b = 2;
float wynik = (float)a / b;

Warto zwrócić uwagę, że samo zapisanie wyniku do zmiennej float nie zawsze wystarcza. Wyrażenie a / b, gdy a i b są typu int, zostanie wykonane jako dzielenie całkowite. Dlatego stosuje się rzutowanie, np. (float)a.

Przykład różnicy

int a = 5, b = 2;
float x = a / b;        // wynik: 2.0, bo wykonano dzielenie całkowite
float y = (float)a / b; // wynik: 2.5

Na egzaminie odpowiedź float oznacza, że zmienna ma przechowywać wynik dzielenia z możliwą częścią ułamkową.