- •Тело функции
- •Вопрос №2 Основные алгоритмические конструкции на псевдокодах
- •Вопрос №4 Числовые типы данных
- •Вопрос № 6. Символьные типы данных в языке си
- •Вопрос №7. Модификаторы типов в языке си.
- •Вопрос №8. Требования к идентификаторам на языке си
- •Буферизованный ввод/вывод.
- •Билет № 20. Модификаторы форматных команд в printf();
- •Билет №21. Синтаксис оператора вывода на языке си.
- •Билет №22. Синтаксис оператора выбора в языке си
- •If(условие)действие;
- •Билет №24. Синтаксис и использование оператора «if»
- •Билет №26. Виды и характеристики циклических структур на языке си
- •Билет №27. Синтаксис и использование оператора цикла “for”
- •Билет №37. Работа с массивами в языке си
- •Билет №40. Операции с указателями
Вопрос №4 Числовые типы данных
В языке С все переменные имеют определенный тип данных. Например,
переменная, имеющая целочисленный тип не может содержать ничего
кроме целых чисел, а переменная с плавающей точкой — только дробные
числа.
В СИ существует 5 основных типов данных. Все другие типы можно
получить на их основе. Основными типами языка СИ являются:
int – целочисленный тип (диапазон хранимых значений - 32768...32767),
занимает в памяти 2 байта;
float – числа с плавающей точкой с точностью до 6-го знака, занимает в
памяти 4 байта;
double – числа с плавающей точкой двойной точности, занимает в
памяти 8 байт;
сhar – символьные значения;
void – отсутствие данных любого типа
bool — логический тип данных.
Пример объявления переменных
int a; // объявление переменной a целого типа.
float b; // объявление переменной b типа данных с плавающей запятой.
double c = 14.2; // инициализация переменной типа double.
char d = 's'; // инициализация переменной типа char.
bool k = true; // инициализация логической переменной k.
При задании типов данных можно использовать спецификаторы типов:
short – короткий long – длинный signed – знаковый unsigned – беззнаковый
Спецификаторы уточняют внутреннее представление и диапазон значений
стандартных типов
Тип Диапазон Длина
bool 0, 1 1 байт
signed char -128 … 127 1 байт
unsigned char 0 … 255 1 байт
signed wchar_t –32768 ... 32767 2 байта
unsigned wchar_ t 0 … 65535 2 байта
signed short int –32768 ... 32767 2 байта
unsigned short int 0 … 65535 2 байта
signed long int –2147483648…2147483647 4 байта
unsigned long int 0 … 4294967295 4 байта
При задании типов можно использовать отдельные слова: int, char, short,
long, unsigned
Это эквивалентно: long signed int, signed char, signed short int, signed long
int, unsigned int
Вопрос № 5. Вещественные числа
Вещественные числа в Си могут быть одного из трех типов: с одинарной
точностью — float, с двойной точностью – double, и с расширенной
точностью – long double.
float x;
double e = 2.9;
long double s;
Точность представления чисел составляет 7 десятичных значащих цифр
для типа float, 15 значащих цифр дляdouble и 19 — для типа long double.
Вещественные числа записываются либо в виде десятичных дробей,
например: 1.3, 3.1415, 0.0005, либо в виде мантиссы и экспоненты:
1.2E0, 0.12e1. Отметим, что обе предыдущие записи изображают одно
и то же число 1.2.По умолчанию вещественная константа принадлежит
к типу double.
Чтобы обозначить, что константа на самом деле float, нужно добавить
символ f или F после числа: 2.7f. Символ l или L означает, что записанное
число относится к типу long double.
const float pi f = 3.14f;
double pi_d = 3.1415;
long double pi_l = 3.1415L;
Для вещественных чисел определены все стандартные арифметические
операции сложения (+), вычитания (-), умножения (*), деления (/) и
изменения знака (-). В отличие от целых чисел, операция нахождения
остатка от деления для вещественных чисел не определена. Аналогично,
все битовые операции и сдвиги к вещественным числам неприменимы;
они работают только с целыми числами. Примеры операций:
2 * pi;
(x – e) / 4.0
Вещественные числа можно сравнивать на равенство (==), неравенство (!=),
больше (>), меньше (<), больше или равно (>=) и меньше или равно (<=). В
результате операции сравнения получается логическое значение истина
или ложь.
Если арифметическая операция применяется к двум вещественным числам
разных типов, то менее точное число преобразуется в более точное, т.е. float
преобразуется в double и double преобразуется в long double. Очевидно, что
такое преобразование всегда можно выполнить без потери точности.
Если вторым операндом в операции с вещественным числом является целое
число, то целое число преобразуется в вещественное представление.
Хотя любую целую величину можно представить в виде вещественного числа,
при таком преобразовании возможна потеря точности (для больших чисел).
