🦐7. Простые типы данных (знаковые целые, беззнаковые целые, вещественные).

Назначение, относительный размер целых типов данных, занимаемая память, диапазон значений, допустимые операции. Приведение типов данных, его виды, когда происходит, примеры.​Тип данных

Простые типы данных

Любая переменная в Си имеет определенный тип данных. Этот тип определяет, какие значения может принимать переменная и сколько места в памяти она будет занимать. Базовые типы данных в Си представляют собой целые ( int , char ) и вещественные ( float , double ). Отдельно следует выделить тип void . К базовым типам данных можно применять модификаторы short и long для изменения занимаемой ими памяти и, соответственно, расширения диапазона значений.

Знаковые целые

Старший бит в таких числах определяет знак числа: 0 — положительное, 1 — отрицательное

Беззнаковые целые типы данных (неотрицательные):

Вещественные типы данных:

Тип void не попадает под определение типа данных. Его используют только при возврате функции или при работе с указателями (void* - универсальный (пустой) указатель, используется, когда тип переменной неизвестен)

Относительный размер целых типов данных:

sizeof(char) <= sizeof(short) <= sizeof(int) <= sizeof(long) <= sizeof(long long)

Операции

Различают унарные, бинарные и тернарные операторы.

  • Арифметические операции: +, -, *, /, %, +=, -=, *=, /=, %=

  • Операции сравнения: <, >, <=, >=, ==, !=

  • Логические операции: &&, ||, !

  • Побитовые операции: &, |, ^, &=, |=, ^=, ~

  • Операции побитового сдвига: <<, >>, <<=, >>=

  • Операции инкримент и декримент: ++, --

  • Тернарный оператор ? :

Над вещественными данными недопустимы: %, побитовые, побитовый сдвиг, логические

Приведение типов данных

Приведение типов данных - преобразование из одного типа данных в другой.

Неявное приведение происходит:

  • В арифметических операциях, если один из операндов имеет один тип, а другой отличный.

float a = 5.995;
int b = 5;
a = a + b; // b преобразуется в тип float
  • При присвоении

char c = 6;
int d = c; //c преобразуется в тип int
  • При передаче в качестве аргумента функции

  • При возвращении из функции

Явное приведение явно приводит тип переменной.

double a = 5.252;
a = (int) a;

Last updated