- •Синтаксис языка c. Структура программы. Характеристика функции main.
- •Директивы препроцессора (основные).
- •Базовые типы данных.
- •Декларация объектов программы на языке c, атрибуты: тип, класс памяти и область действия.
- •Константы в программах на языке c.
- •Функции вывода информации. Использование модификаторов и управляющих последовательностей.
- •Функции ввода информации.
- •Арифметические операции, преобразование типов операндов арифметических операций. Средство "typedef".
- •Ввод/вывод потоками (cin, cout).
- •Синтаксис операторов языка c, операторы-выражения, управляющие операторы в языке с.
- •Сокращенная запись операции присваивания
- •X##; - постфиксную.
- •Операции отношений (сравнения) и логические операции. Операции сравнения
- •Логические операции
- •Побитовые логические операции, операции над битами
- •Операторы передачи управления goto, continue, break, return.
- •Ветвящийся алгоритм. Условный оператор if, условная операция «? :».
- •If (условие ) оператор1;
- •If (условие1) оператор1;
- •Оператор выбора альтернатив (переключатель) switch.
- •Операция ",".
- •Циклический алгоритм. Оператор с предусловием while.
- •Оператор цикла с постусловием do - while.
- •Оператор цикла с предусловием и коррекцией for.
- •Функции в с. Способы описания функции, операция вызова функции.
- •Указатели как тип данных. Операции * и &. Операции над указателями.
- •Одномерные массивы и связь с указателями.
- •Cтроковые данные в с. Библиотечные функции для их обработки.
- •Указатель на указатель, многомерные массивы.
- •Динамическая память, функции и операции работы с памятью.
- •Указатели на функцию
- •Тип данных «структура», общая характеристика.
- •Файлы в с. Типы файлов, понятие файловой переменной и увязка ее с физическим файлом.
- •Текстовые файлы.
- •Основные режимы работы с бинарными файлами, последовательный и прямой доступ.
Сокращенная запись операции присваивания
В языке Cи используются два вида сокращений записи операции присваивания:
a) вместо записи v = v # e;
где # - арифметическая операция (операция над битовым представлением операндов), рекомендуется использовать запись v #= e; например, i = i + 2; ↔ i += 2; (знаки операций без пробелов);
б) вместо записи x = x # 1;
где # - символы, обозначающие операцию инкремента (+), либо декремента (-), x - целочисленная переменная (переменная-указатель), рекомендуется использовать запись:
##x; - префиксную
или
X##; - постфиксную.
Если эти операции используются в чистом виде, то различий между постфиксной и префиксной формами нет. Если же они используются в выражении, то в префиксной форме (##x) сначала значение x изменится на 1, а затем будет использовано в выражении; в постфиксной форме (x##) сначала значение используется в выражении, а затем изменяется на 1.
Операции отношений (сравнения) и логические операции. Операции сравнения
== - равно или эквивалентно;
!= - не равно;
< - меньше;
<= - меньше либо равно;
> - больше;
>= - больше либо равно.
Пары символов соответствующих операций разделять нельзя.
Общий вид операций отношений:
<выражение 1> <знак операции> <выражение 2>
Общие правила:
- операндами могут быть любые базовые (скалярные) типы;
- значения выражений перед сравнением преобразуются к одному типу;
- результат операции отношения - значение 1, если отношение истинно, или 0 в противном случае (ложно). Следовательно, операция отношения может использоваться в любых арифметических выражениях.
Логические операции
Логические операции (в порядке убывания относительного приоритета) и их обозначения:
! - отрицание (логическое НЕТ);
&& - конъюнкция (логическое И);
|| - дизъюнкция (логическое ИЛИ).
Общий вид операции отрицания:
!<выражение>
Общий вид операций конъюнкции и дизъюнкции
<выражение 1> <операция> <выражение 2>
Например:
y>0 && x=7→ истина, если 1-е и 2-е выражения истинны;
e>0 || x=7 → истина, если хотя бы одно выражение истинно.
Ненулевое значение операнда - истина, а нулевое - ложь, например:
!0 → 1
!5 → 0
x=10;
!((x=y)>0) → 0
Особенность операций конъюнкции и дизъюнкции – экономное последовательное вычисление выражений-операндов:
<выражение 1> <операция> <выражение 2>
- если выражение 1 операции конъюнкция ложно, то результат операции ноль и выражение 2 не вычисляется;
- если выражение 1 операции дизъюнкция истинно, то результат операции единица и выражение 2 не вычисляется.
Пример правильной записи двойного неравенства:
0<x<100 ↔ (0<x) && (x<100)
Побитовые логические операции, операции над битами
В Си предусмотрен набор операций для работы с отдельными битами. Эти операции нельзя применять к переменным вещественного типа. Операции над битами и их обозначения:
~ - дополнение (унарная операция); инвертирование (одноместная операция);
& - побитовое И - конъюнкция;
| - побитовое включающее ИЛИ - дизъюнкция;
^ - побитовое исключающее ИЛИ - сложение по модулю 2;
>> - сдвиг вправо;
<< - сдвиг влево.
Общий вид операции инвертирования:
~ <выражение>
Остальные операции над битами имеют вид
<выражение 1> <знак операции> <выражение 2>
