- •10. Константы. Правила построения и создания своих собственных (перечислимых) констант.
- •11. Литерные константы (видимые). Литерные константы esc-последовательности. Расширенная таблица ascii. Пример программы.
- •12. Строковые константы. Особенности и примеры их применения.
- •13. Числовые целые константы. Особенности и примеры их применения.
- •14. Числовые вещественные константы. Особенности и примеры их применения.
- •15. Операция присваивания. Пример линейной программы.
- •16. Синтаксис и семантика операторов выражения, перехода и возврата, ветвления и выбора. Пример программы ветвления.
- •17. Синтаксис и семантика операторов цикла, прерывания и продолжения. Пример циклической программы.
- •18. Классификация типов данных. Основные и производные типы данных. Правила преобразования арифметических типов: по умолчанию и явное.
- •19. Арифметические операции и их приоритеты.
- •20. Логические операции. Синтаксис и семантика. Условная операция.
- •21. Виды выражений. Приоритеты операций.
- •22. Символьный тип данных. Операции над данными символьного типа.
- •23. Одномерные массивы. Индексация выражения. Массив как параметр функций.
- •24. Многомерные массивы. Индексация выражения. Массив как параметр функций.
- •25. Массивы с элементами типа char и строковые массивы.
- •26. Указатели: понятие, синтаксис и семантика объявления. Операция выделения значения. Адрес-константа. Операции адресации, адресная арифметика.
- •27. Взаимодействие между массивами и указателями. Динамические массивы. Операции выделения и освобождения памяти.
- •28. Тип данных «структура». Объявление, синтаксис и особенности использования.
- •29. Динамические типы данных. Список. Основные операции над элементами списка. Примеры.
- •30. Динамические типы данных. Очередь. Основные операции над элементами очереди. Примеры.
- •31. Динамические типы данных. Стек. Основные операции над элементами стека. Примеры.
- •32. Динамические типы данных. Бинарное сбалансированное дерево. Правила обхода. Основные операции над элементами. Примеры.
- •33. Классы памяти. Точки описания переменных. Автоматическая, регистровая, внешняя, статическая память. Области объявления и видимости имен переменных. Примеры.
- •34. Ссылки: понятие, синтаксис и семантика объявления. Примеры использования.
- •35. Синтаксис, семантика и прагматика функций. Указатели функций. Примеры.
- •36. Механизм передачи значений между параметрами и аргументами функции. Примеры.
- •37. Рекурсивные функции. Примеры явной и косвенной рекурсии.
- •38. Перегрузка функций. Шаблоны функций. Примеры.
- •39. Препроцессор. Команды препроцессора. Использование макроподстановок и макроимен. Команды условной компиляции.
- •40. Объектно-ориентированное программирование. Инкапсуляция, наследование, полиморфизм.
- •41. Понятие объекта и класса. Данные и методы. Инкапсуляция данных и методов класса.
- •42. Тип данных class. Статусы доступа к данным. Указатель this. Конструкторы и деструкторы.
- •43. Дружественные функции, методы, классы. Статические члены класса.
- •44 Наследование классов и производные классы.
19. Арифметические операции и их приоритеты.
* - умножение
/ - деление
% - остаток от деления
+ - сложение
- - вычитание
Приоритет: сначала * / %, потом + -. Слева направо.
20. Логические операции. Синтаксис и семантика. Условная операция.
Логические операции (&& и ||). Операнды логических операций И (&&) и ИЛИ (||) могут иметь арифметический тип или быть указателями, при этом операнды в каждой операции могут быть различных типов. Преобразования типов не производятся, каждый операнд оценивается с точки зрения его эквивалентности нулю (операнд, равный нулю, рассматривается как false, не равный нулю — как true).
Результатом логической операции является true или false. Результат операции логическое И имеет значение true только если оба операнда имеют значение true. Результат операции логическое ИЛИ имеет значение true, если хотя бы один из операндов имеет значение true. Логические операции выполняются слева направо. Если значения первого операнда достаточно, чтобы определить результат операции, второй операнд не вычисляется.
Условная операция (?:). Эта операция тернарная, то есть имеет три операнда. Ее формат:
операнд_1 ? операнд_2 : операнд_3
Первый операнд может иметь арифметический тип или быть указателем. Он оценивается с точки зрения его эквивалентности нулю (операнд, равный нулю, рассматривается как false, не равный нулю — как true). Если результат вычисления операнда 1 равен true, то результатом условной операции будет значение второго операнда, иначе — третьего операнда. Вычисляется всегда либо второй операнд, либо третий. Их тип может различаться. Условная операция является сокращенной формой условного оператора if.
21. Виды выражений. Приоритеты операций.
Как уже говорилось выше, выражения состоят из операндов, знаков операций и скобок и используются для вычисления некоторого значения определенного типа. Каждый операнд является, в свою очередь, выражением или одним из его частных случаев — константой или переменной.
Операции выполняются в соответствии с приоритетами. Для изменения порядка выполнения операций используются круглые скобки. Порядок вычисления подвыражений внутри выражений не определен. Результат вычисления выражения характеризуется значением и типом.
22. Символьный тип данных. Операции над данными символьного типа.
Символьный тип (char)
Под величину символьного типа отводится количество байт, достаточное для размещения любого символа из набора символов для данного компьютера, что и обусловило название типа. Как правило, это 1 байт. Тип char, как и другие целые типы, может быть со знаком или без знака. В величинах со знаком можно хранить значения в диапазоне от -128 до 127. При использовании спецификатора unsigned значения могут находиться в пределах от О до 255. Этого достаточно для хранения любого символа из 256-символьного набора ASCH. Величины типа char применяются также для хранения целых чисел, не превышающих границы указанных диапазонов.
Значения символьных данных эквивалентны однобайтовым целым числам. Поэтому им можно присваивать целочисленные значения, равные соответствующим кодам таблицы ASCII, сравнивать на принадлежность тем или иным интервалам.
Для работы с символами в стандартной библиотеке (<ctype.h> и <cctype>) есть функции проверки на принадлежность символа множеству (букв и цифр, букв, цифр и т.д.).