Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
инфа.docx
Скачиваний:
77
Добавлен:
14.03.2016
Размер:
389.3 Кб
Скачать

Константы в си

 В языке СИ присутствует три вида констант:   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) — преобразование значения переменной одного типа в значение другого типа. Выделяютявноеинеявноеприведения типов.

  • При явном приведении указывается тип переменной, к которому необходимо преобразовать исходную переменную.

  • При неявном приведении преобразование происходит автоматически, по правилам, заложенным в данном языке программирования.

  • Также в языке могут быть заданы специальные функции для приведения

Содержание

[убрать]

  • 1Неявное приведение типа

  • 2Явное приведение типа

    • 2.1В языке C

    • 2.2В языке C++

Неявное приведение типа

Само приведение происходит как во время присваивания значения переменной, так и при операциях сравнения, вычисления выражения. При использовании в выражении несколько различных типовзначения одного или нескольких подтипов может быть осуществлено преобразование к более общему типу (супертипу), с большим диапазоном возможных значений.

В языке Си:

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