
- •Язык высокого програмирования “с”
- •Переменные и типы переменных.
- •2.1 Типы данных в си
- •Подробное описание типов данных в языке си
- •Комплексные числа в си
- •Логический тип данных в си
- •Операторы объявлений
- •Константы в си
- •Оператор создания типов данных в си
- •Неявное приведение типа
- •Явное приведение типа в языке c
- •1.1. Арифметические операции
- •2.4 Побитовые операции в си
- •№3 Циклические алгоритмы.
- •Операция присваивания
- •Операции отношения
- •Арифметические операции
- •Логические операции
- •Сдвиговые операции
- •3.2 Цикл с предусловием while
- •Цикл с постусловием do...While
- •Цикл с постусловием
- •Параметрический цикл for
- •Рекомендации по выбору цикла
- •Операторы break и continue
- •Оператор безусловного перехода goto
- •Синтаксис
- •Синтаксис
- •Заметки
- •Синтаксис
- •Заметки
- •Тернарные операции
- •Оператор ветвления switch (оператор множественного выбора)
- •№5 Указатели и массивы.
- •Объявление и инициализация массивов
- •Многомерные массивы
- •Инициализация многомерных массивов
- •Передача массива в функцию
- •5.2 И 5.3
- •5.1 Указатели и адреса
- •5.2 Указатели и аргументы функций
- •5.3 Указатели и массивы
- •5.4 Адресная арифметика
- •5.5 Символьные указатели функции
- •5.6 Массивы указателей, указатели на указатели
- •5.7 Многомерные массивы
- •5.8 Инициализация массивов указателей
- •5.9 Указатели против многомерных массивов
- •5.10 Аргументы командной строки
- •5.11 Указатели на функции
- •5.12 Сложные объявления
- •5.4 Указатели типа void
Константы в си
В языке СИ присутствует три вида констант: 1. целочисленные, 2. вещественные, 3. символьные. Целочисленные константы 1. Десятичная константа указывается десятичным числом в обычной форме. 2. Восьмеричная константа указывается числом, начинающимся с цифры ноль и содержащим цифры 0...7. 3. Шестнадцатеричная константа указывается целым числом с префиксом 0x или 0X, содержащим цифры 0...9 и буквы латинского алфавита a...f, A...F. Вещественные константы записываются в десятичной или шестнадцатеричной системе исчисления. Позиция запятой указывается точкой, экспонента указывается после латинской буквы e (или E). Символьным константам предшествует символ \, это так называемое "экранирование" . В языке СИ присутствуют специальные символы: ‘\’’ – одинарная кавычка, ‘\”’ – двойная кавычка, ‘\\’ – обратный слеш, ‘\?’ – знак вопроса, ‘\a’ – звуковой сигнал, ‘\b’ – удаление символа, ‘\f’ – прокрутка страницы, ‘\n’ – перевод строки, ‘\r’ – возврат каретки в начало строки, ‘\t’ – горизонтальная табуляция, ‘\v’ – вертикальная табуляция. В языке СИ можно также создавать переменные, имеющие константное значение (их значение нельзя изменить). Объявление таких «переменных» имеет следующий синтаксис: const тип имя1=значение1[,имя2=значение2[,...]]; Примеры: const unsigned int x=80, y=25; const double pi=3.1415;
Оператор создания типов данных в си
Оператор typedef используется для создания пользовательских типов данных, синтаксис его использования: typedef имя_старого_типа имя_нового_типа; Пример: typedef unsigned int word; В СИ согласно стандарту, определение типов может производиться практически в любом месте программы(т.е нет строго определенного блока для определения типов данных).Функция для определения размера типа, или переменной какого-либо типа: sizeof, она возвращает количество занимаемых байт в памяти. Пример: sizeof(int) //вернет 4 sizeof(char) //результат 1 sizeof(double) // вернет 8
2.2
Приведе́ние ти́па(type conversion) — преобразование значения переменной одного типа в значение другого типа. Выделяютявноеинеявноеприведения типов.
При явном приведении указывается тип переменной, к которому необходимо преобразовать исходную переменную.
При неявном приведении преобразование происходит автоматически, по правилам, заложенным в данном языке программирования.
Также в языке могут быть заданы специальные функции для приведения
Содержание [убрать]
|
Неявное приведение типа
Само приведение происходит как во время присваивания значения переменной, так и при операциях сравнения, вычисления выражения. При использовании в выражении несколько различных типовзначения одного или нескольких подтипов может быть осуществлено преобразование к более общему типу (супертипу), с большим диапазоном возможных значений.
В языке Си:
double d; // вещественный тип
long l; // целый тип
int i; // целый тип
if (d > i) d = i;
if (i > l) l = i;
if (d == l) d *= 2;
Каждый раз при выполнени операции сравнения или присваивания переменные разных типов будут приведены к единому типу. Следует с осторожностью использовать неявное приведение типа. При переводе числа из вещественного типа в целочисленный, дробная часть откидывается. Обратное приведение из целочисленного типа к вещественному также может привести к понижению точности, что связано с различным представлением вещественных и целочисленных чисел на машинном уровне. К примеру, вещественный тип singleстандартаIEEE 754не может точно представить число 16777217, в то время как 32-битный целочисленный тип может. Это может привести к ситуациям, когда сравнение на равенство одного и того же числа, представленного типами (intиsingle) будет выдавать ложный результат (числа не равны друг другу).
0000 |
|
|