- •1.4.2 Типы и размеры данных в Си
- •1.4.3 Константы
- •1. Целые константы
- •2. Константа действительна
- •3. Символьная константа
- •4. Строчная константа
- •5. Константный выражение
- •Тема 2. Декларации
- •Тема 3. Операторы
- •3.2 Операторы отношений и сравнение на равенство
- •3.5 Операторы присваивания
- •3.5.1 Самый оператор присваивания
- •3.5.2 Другие операторы присваивания Сi
- •3.6 Iнкрементнi и декрементнi операторы
- •Тема 4. Управление
- •4.3 Переключение switch
- •4.4 Цикл While
- •4.5 Цикл for
- •4.6 Операция "," (запятая)
- •4.7 Цикл do - while
- •4.8 Инструкция break
- •4.9 Сontinue
- •4.10 Переходы и метки
- •Тема 5. Указатели и массивы
- •5.1 Указатели
- •5.2 Связь указателей и массивов
- •5.3 Связь между адресной арифметикой и индексированием массивов
- •5.4 Различие между именем массива и указателем (в роли именi массива)
- •5.5 Буквенные указатели
- •5.6 Массивы указателей
- •5.11 Функции проверки свойств символов
- •5.12 Функции преобразования строк
1.4.2 Типы и размеры данных в Си
Базовые типы:
-
char
-
int
-
fioat
-
double
К типам данных можно применить две группы квалiфiкаторiв:
-
квалiфiкаторы длины
-
short
-
long
-
-
квалiфiкаторы знака
-
signed
-
unsigned
-
- Имя квалiфiкатора записывают перед названием базового типа; - квалiфiкаторы длины применяются к типу int , а квалiфiкатор long также к типу double ; - квалiфiкаторы знака применяются только к типу int и char .
Пример 2:
short int х; = short х
long int х; = long х
____________________________
размер размер размер
SHORT <= INT <= LONG
Реализация типов данных в языке Turbo-C:
Примечание:
-
В языке Си отсутствует такой фундаментальный тип данных как логический (он моделируется целым типом данных);
-
Тип указатель будет рассмотрен в соответствующей теме;
-
В языке Си есть тип данных void (пустой) для идентификации отсутствия типа значения.
1.4.3 Константы
1. Целые константы
Имеют тип int . Чтобы константа имела тип long конце следует записать символ l или L . Если после изображения константы запишем l или L , тогда транслятор для этой константы выделяет 4 байта. Целые константы могут быть в трех системах счисления
Системы счисления
в 10 с / с - цифры 0 - 9 (не начинаются с 0)
в 8 с / с - цифры 0 - 7 (начинаются с 0)
в 16 с / с - цифры 0 - 9; буквы А - F или а - f (начинаются с 0х)
Пример 3:
170 = / * 10-я * /
0252 = / * 8-я * /
0хаа = / * 16-я * /
170L = / * 10-я длинная * /
0252L = / * 8-я длинная * /
0хааl = / * 16-я длинная * /
Замечание: если цiлочисельна константа со знаком окажется больше, чем максимальное целое со знаком (32767), тогда эта константа представляется как длинная.
2. Константа действительна
Это константа, в которой есть или десятичная точка, или экспоненциальная часть.
Пример 4:
314.15е-2 =
314.15е-2 =
3. =
3.1415 =
.31415 Е1 =
0.31415е1
3. Символьная константа
Это один символ из допустимого набора букв в апострофах (одинарные кавычки).
Представление (что может быть записано внутри кавычек):
1) один символ (байт) - буквы кирилiцi и латыни, арабские цифры, арифметические операции, знаки, специальные символы;
Используются коды: - ASCII (персональные ЭВМ типа IBM PC); - КОИ-8 (мини-ЭВМ); - ДКОИ (большие ЭВМ)
2) специальные символы (Esc-последовательности) :
апостроф''
кавычки \ "
пусто (нулевой символ) \ 0
новая строка \ n
обратная косая черта \
3) последовательность трех восьмеричный цифр : \ ddd
Пример 5:
'M' 'm' 'n' 'П'
'\ N' '\'
'\ 016' = 'f'
! Символьная константа имеет тип int (занимает 2 байта).
4. Строчная константа
Это последовательность символов кодов внутримашинного представления в "" (парных кавычках).
Пример 6:
"ПМ" "informatique"
"П" "m"
В памяти ЭВМ строка представляется массивом символов, в котором после последнего символа компилятором автоматически добавляется признак конца строки (\ 0).
5. Константный выражение
Содержит знаки операций и константы (включая именованные)
Именованные константы:
# Define <имя> <текст>
<Имя> - Сiмвольне имя; <текст> - последовательность букв, которые представляют собой конструкцию, допустимая в языке Си.
Семантика
- Везде замена <имени> на <текст>, КРОМЕ следующих случаев:
-
внутри парных кавычек
-
если <имя> является частью другого имени
Особенности синтаксиса
- <Имя> пишется заглавными буквами; - в этих констант НЕТ деклараций (объявлений); - в # define НЕТ ";"
Пример 7:
# Define МАХ 100
# Define V_YEAR 1
Использование именовавшийся констант в константных выражениях :
Пример 8:
# Define МАХ 100
...
float a [MAX];
Пример 9:
# Define V_YEAR 1
...
int days_of_year [31 +28 + V_YEAR +31 +30 +31 +30 +31 +31 +30 +31 +30 +31];