Операторы отношений и сравнение на равенство
Типы и размеры данных в Си
Базовые типы:
· char
· int
· fioat
· double
К типам данных можно применить две группы квалiфiкаторiв:
· квалiфiкаторы длины
o short
o long
· квалiфiкаторы знака
o signed
o 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:
Примечание:
1. В языке Си отсутствует такой фундаментальный тип данных как логический (он моделируется целым типом данных);
2. Тип указатель будет рассмотрен в соответствующей теме;
3. В языке Си есть тип данных void (пустой) для идентификации отсутствия типа значения.
Константы
Целые константы
Имеют тип 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), тогда эта константа представляется как длинная.
|
|
Константа действительна
Это константа, в которой есть или десятичная точка, или экспоненциальная часть.
Пример 4:
314.15е-2 =
314.15е-2 =
3. =
3.1415 =
.31415 Е1 =
0.31415е1
Символьная константа
Это один символ из допустимого набора букв в апострофах (одинарные кавычки).
Представление (что может быть записано внутри кавычек):
1) один символ (байт) - буквы кирилiцi и латыни, арабские цифры, арифметические операции, знаки, специальные символы;
Используются коды:
- ASCII (персональные ЭВМ типа IBM PC);
- КОИ-8 (мини-ЭВМ);
- ДКОИ (большие ЭВМ)
2) специальные символы (Esc-последовательности) :
апостроф''
кавычки \ "
пусто (нулевой символ) \ 0
новая строка \ n
обратная косая черта \
3) последовательность трех восьмеричный цифр : \ ddd
Пример 5:
'M' 'm' 'n' 'П'
'\ N' '\'
'\ 016' = 'f'
! Символьная константа имеет тип int (занимает 2 байта).
Строчная константа
Это последовательность символов кодов внутримашинного представления в "" (парных кавычках).
Пример 6:
"ПМ" "informatique"
"П" "m"
В памяти ЭВМ строка представляется массивом символов, в котором после последнего символа компилятором автоматически добавляется признак конца строки (\ 0).
|
|
Константный выражение
Содержит знаки операций и константы (включая именованные)
Именованные константы:
# 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];
Тема 2. Декларации
Цель: познакомиться с правилами и синтаксисом объявления переменных в языке Си.
В языке Си обязательное объявление всех переменных с их первого использования.
Декларация:
- спецiфiкуе тип;
- содержит список переменных этого типа;
- возможна инициализация (initial);
- Возможен квалiфiкатор const.
Квалiфiкатор const сообщает о том, что значение переменной не может быть изменено в этой программе.
|
|
Пример 1:
int up, down, step;
char c, str [101];
Пример 2: / * эквивалент примера 1 * /
int up; / * верхняя граница * /
int down; / * нижняя граница * /
int step; / * шаг * /
...
char str [101]; / * строка * /
Инициализация
Пример 3:
char newline = '\ n';
int i = 0;
int board = MAX +1;
float eps = 1.0e-3;
char error [] = "ошибка";
Выделение памяти для error :
Компилятор автоматически добавляет в декларацию количество элементов: error [7]
Инструкция декларации выделяет память для переменной.
Пример 4:
/ * Инициализация массива * /
int kdm [] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
Квал i ф i катор const
Пример 5:
const float pi = 3.1415;
const int kdm [] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
недопустимы теперь:
pi = 3.14
kdm [i] = kdm [i] +1;
Тема 3. Операторы
Цель: познакомиться с операторами языка Си, их свойствами.
Арифметические операторы
3.1.1 Бинарные +, -, *, /,%
3.1.2 Унарнi +, -
Операторы отношений и сравнение на равенство
Логические операторы
Бинарные
Унарнi
Побитовые операторы
3.4.1 Побитовое i (&)
3.4.2 Побитовое или (|)
3.4.3 Побитовое или, что исключает (/ \)
3.4.4 Сдвиг влево <<
3.4.5 Сдвиг вправо>>
Операторы присваивания
Дата добавления: 2020-04-25; просмотров: 49; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!