- •1.1. Элементы Языка си
- •1.1.1. Используемые символы
- •1.1.2. Константы
- •1.1.3. Идентификатор
- •1.1.4. Ключевые слова
- •1.1.5. Использование комментариев в тексте программы
- •1.2. Типы данных и их объявление
- •1.2.1 Категории типов данных
- •1.2.2. Целый тип данных
- •1.2.3. Данные плавающего типа
- •1.2.12. Инициализация данных
- •1.3. Выражения и Операции
- •1.3.1. Выражения
- •1.3.2. Операции
- •1.3.3. Операции унарный минус, отрицание и дополнение
- •1.3.4. Операции разадресации и адреса
- •1.3.5. Операция sizeof
- •1.3.6. Мультипликативные операции
- •1.3.7. Аддитивные операции
- •1.3.8. Логические операции
- •1.3.9. Операция последовательного вычисления
- •1.3.10. Условная операция
- •1.3.11. Операции увеличения и уменьшения
- •1.3.12. Составное присваивание
- •1.3.13. Приведение типов
- •1.3.14. Приоритеты операций и порядок вычислений
- •1.4. Операторы
- •1.4.1. Оператор выражение
- •1.4.2. Пустой оператор
- •1.4.3. Составной оператор
- •Ввод с клавиатуры осуществляется оператором scanf()
- •1.4.4. Оператор if
1.3.13. Приведение типов
Приведение типов это изменение (преобразование) типа объекта. Для выполнения преобразования необходимо перед объектом записать в скобках нужный тип:
( имя-типа ) операнд.
Приведение типов используются для преобразования объектов одного скалярного типа в другой скалярный тип. Однако выражению с приведением типа не может быть присвоено другое значение.
Пример:
int i;
double x;
b = (double)i+2.0;
В этом примере целая переменная i с помощью операции приведения типов приводится к плавающему типу, а затем уже участвует в вычислении выражения.
1.3.14. Приоритеты операций и порядок вычислений
В языке СИ операции с высшими приоритетами вычисляются первыми. Наивысшим приоритетом является приоритет равный 1. Приоритеты и порядок операций приведены в табл. 8.
Таблица 8
|
Приоритет |
Знак операции |
Типы операции |
Порядок выполнения |
|
1 |
() [] . -> |
Выражение |
Слева направо |
|
2 |
- ~ ! * & ++ -- sizeof приведение типов |
Унарные |
Справа налево |
|
3 |
* / % |
Мультипликативные |
Слева направо |
|
4 |
+ - |
Аддитивные |
Слева направо |
|
5 |
<< >> |
Сдвиг |
Слева направо |
|
6 |
< > <= >= |
Отношение |
Слева направо |
|
7 |
== != |
Отношение (равенство) |
Слева направо |
|
8 |
& |
Поразрядное И |
Слева направо |
|
9 |
^ |
Поразрядное исключающее ИЛИ |
Слева направо |
|
10 |
| |
Поразрядное ИЛИ |
Слева направо |
|
11 |
&& |
Логическое И |
Слева направо |
|
12 |
|| |
Логическое ИЛИ |
Слева направо |
|
13 |
? : |
Условная |
Справа налево |
|
14 |
= *= /= %= += -= &= |= >>= <<= ^= |
Простое и составное присваивание |
Справа налево |
|
15 |
, |
Последовательное вычисление |
Слева направо |
1.4. Операторы
Программа на языке СИ, как и на других языках программирования, является, по сути дела, последовательностью операторов, которые выполняются компьютером последовательно, начиная с первого. После выполнения n – ого оператора выполняется n+1 –ый, за исключением тех случаев, когда само выполнение очередного оператора подразумевает смену очередности выполняемых операторов.
Все операторы языка СИ могут быть условно разделены на следующие категории:
- условные операторы, к которым относятся оператор условия if и оператор выбора switch;
- операторы цикла (for,while,do while);
- операторы перехода (break, continue, return, goto);
- другие операторы (оператор "выражение", пустой оператор).
Операторы в программе могут объединяться в составные операторы с помощью фигурных скобок. Любой оператор в программе может быть помечен меткой, состоящей из имени и следующего за ним двоеточия.
Все операторы языка СИ, кроме составных операторов, заканчиваются точкой с запятой ";".
