- •Вопрос 1. Диалоговые программы. Понятие дружественности.
- •Вопрос 2. Условный оператор и условная операция
- •If (выражение) оператор_1 [else оператор_2]
- •Вопрос 3. Операции отрицания и побитового дополнения.
- •Вопрос 4. Логические операции.
- •Вопрос 5. Побитовые операции
- •Вопрос 6. Изменение типа выражения
- •Вопрос 8. Операция «адрес» и косвенной адресации (разадресации)
- •Вопрос 9. Структура объявления типов. Классы памяти
- •● Static — статическая
- •● Extern — внешняя (глобальная)
- •Extern int total; // ссылка на переменную total, определённую в другом файле ● register — регистровая (локальная)
- •Вопрос 10. Классификация типов данных с размерами в памяти (в байтах).
- •Вопрос 11. Подпрограммы в языке Си. Определение функции. Возврат значений.
- •Int maximum (int X; int y; int z) – формальные параметры
- •Вопрос 12. Передача в подпрограмму массивов
- •Вопрос 13. Объявление, вызов функции и возврат значений
- •Вопрос 14. Работа с файлами
- •Где *fname – имя файла, *mode – режим
- •Вопрос 15. Вызов функций с переменным числом аргументов
- •Вопрос 16. Возврат из функции нескольких значений.
- •Вопрос 17. Структура программы и время жизни переменных, объявленных на внутреннем уровне.
- •Вопрос 18. Общая структура программы, состоящей из нескольких файлов. Локальные и глобальные переменные. Переменные, видимые в нескольких файлах.
- •Вопрос 19. Время жизни и области видимости функций и переменных, объявленных на внешнем уровне.
- •Вопрос 20. Типы, определяемые пользователем. Структуры
- •Вопрос 21. Объединения
- •Вопрос 22. Поля битов
- •Вопрос 23. Динамическая память. Резервирование, освобождение памяти в языке с
- •Оператор new
- •New type_name [(инициатор)]; или new (type_name [(инициатор)]);
- •Оператор delete
- •Вопрос 25. Связные динамические структуры. Списки. Двусвязные списки
- •Вопрос 26. Связные динамические структуры. Очередь. Односвязные списки
- •Вопрос 27. Связные динамические структуры. Кольцевые списки.
- •Вопрос 28. Связные динамические структуры. Стек.
- •Вопрос 29. Нелинейные динамические структуры. Деревья
- •Основные характеристики дерева:
- •Вопрос 30. Перегрузка функций
- •Вопрос 31. Перегрузка операторов
- •{ Операторы, определяющие действия }
- •Вопрос 32. Основные принципы объектно-ориентированного программирования.
- •Вопрос 33. Понятие класса. Инкапсуляция
- •Вопрос 34. Конструкторы и деструкторы
- •Вопрос 35. Наследование
- •Режимы доступа
- •Вопрос 36. Полиморфизм
- •Вопрос 37. Структуризация. Восходящее программирование
- •Вопрос 38. Нисходящий метод проектирования программ
- •Вопрос 39. Методы тестирования программных средств, состоящих из одного модуля
- •Вопрос 40. Спецификация программного средства
- •Вопрос 41. Межмодульное тестирование
- •Вопрос 42. Основы доказательства правильности программ
- •Вопрос 43. Жизненный цикл программы
- •Вопрос 44. Причины отказов по и повышение отказоустойчивости
- •Вопрос 45. Направления в программировании. Классификация языков программирования. Направления в программировании:
- •Вопрос 46. Критерии качества программы
- •Вопрос 47. Директивы препроцессора. Директива define, макроподстановки
- •#Define имя значение
- •Удаление определения: #undef
- •Вопрос 48. Модульное программирование. Структура программы, состоящей из нескольких файлов.
- •Вопрос 49. Гост 19.701. Виды схем, символов. Обозначения для схем алгоритмов и схем работы системы.
Вопрос 1. Диалоговые программы. Понятие дружественности.
Диалоговая программа – программа, во время выполнения которой происходит диалог пользователя и программы с использованием операций ввода и вывода информации. Имеются два вида программ: не диалоговые программы (выполняются без дополнительного обращения к пользователю) и диалоговые (интерактивные).
Дружественность — это функция, позволяющий определённым функциям или классам получать доступ к приватным (private) и защищённым (protected) членам другого класса, несмотря на то, что они не являются членами этого класса. Для объявления дружественной функции используется ключевое слово friend перед прототипом функции, которую вы хотите сделать дружественной классу.
Пример:
class MyClass {
private:
int secret;
public:
friend void reveal (MyClass obj); }; // функция получает доступ к private
Вопрос 2. Условный оператор и условная операция
Условный оператор:
Оператор if служит для того, чтобы выполнить какую-либо операцию в том случае, когда условие является верным. Условная конструкция в С++ всегда записывается в круглых скобках после оператора if.
Внутри фигурных скобок указывается тело условия. Если условие выполнится, то начнется выполнение всех команд, которые находятся между фигурными скобками.
Сама конструкция ветвления с оператором if() выглядит вот так:
If (выражение) оператор_1 [else оператор_2]
Сначала вычисляется "выражение" в скобках; если оно истинно, то выполняется оператор_1. Если "выражение" ложно (равно нулю - NULL), то оператор_1 пропускается, а выполняется оператор_2. Если на месте условно выполняемых операторов должна располагаться группа из нескольких операторов языка, то они заключаются в фигурные скобки - { }.
Условная операция:
В языке Си имеется одна тернарная операция — условная. Она имеет следующий синтаксис: <условие> ? <выражение 1> : <выражение2>
Если условие истинно, то выполняется выражение 1, иначе (условие ложно) выполняется выражение 2.
Вопрос 3. Операции отрицания и побитового дополнения.
Операции отрицания и побитового дополнения — это логические операции, часто используемые в программировании и цифровой логике.
Операция отрицания (логическое НЕ !)
Преобразует логическое значение true в false, и наоборот. Применяется к: логическим (булевым) значениям.
bool a = true;
bool b = !a; // b = false
Операция побитового дополнения (побитовое НЕ ~)
Инвертирует каждый бит числа. 0 становится 1, 1 становится 0. Применяется к: целочисленным типам (int, byte, long и т. д.)
int a = 5; // бинарно: 0000 0101
int b = ~a; // бинарно: 1111 1010 (в 32-битной системе) => -6
Вопрос 4. Логические операции.
В С++ существует три логические операции:
● Логическая операция И &&;
● Логическая операция ИЛИ ||;
● Логическая операция НЕ ! или логическое отрицание.
Логические операции образуют сложное (составное) условие из нескольких простых (два или более) условий.
&& — И (бинарная) — требуется одновременное выполнение всех операций отношения;
|| — ИЛИ (бинарная) — требуется выполнение хотя бы одной операции отношения;
! — НЕ (унарная) — требуется невыполнение операции отношения.
Таблица с логическими операциями
