- •Вопрос 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. Виды схем, символов. Обозначения для схем алгоритмов и схем работы системы.
Вопрос 5. Побитовые операции
#include <stdio.h>
int main() {
int a = 5; //
0101
int b = 3; //
0011
printf("a & b = %d\n", a &
b); //результат
= 1
& побитовое и
| побитовое или
^ исключающее или
<< сдвиг влево
>> сдвиг вправо
~ отрицание
Вопрос 6. Изменение типа выражения
int x = 10;
double y = x; //
Неявное
преобразование int → double
Явное преобразование типов (приведение типов): • Используют операторы: static_cast, dynamic_cast, const_cast, reinterpret_cast. •Подавляют проверку типов компилятором, могут быть источником ошибок.
double a = 5.7;
int
b = (int)a;
//
Явное
преобразование
double → int (отбрасывание
дробной части)
Вопрос 7. Литералы в С++
Литералы используются в тексте программы для обозначения числовых значений, символов, строк и логических констант. Литерал представляет собой постоянное значение, у которого нет имени. Литералы также называют константами. Литерал используют для отличия обычных констант, определенных директивой define.
Литералы подразделяются на: числовые(целые, длинные целые, с плавающей точкой), знаковые(char), строковые.
● Целочисленные литералы состоят из цифр от 0 до 9 со знаком +, - или без знака.
● Десятичный литерал представляется цифрами от 0 до 9, первая не 0.
● Восьмеричный литерал состоит из цифр от 0 до 7, перед которыми стоит цифра 0.
● Шестнадцатеричный литерал представляется 16-ричными цифрами (0-F), перед которыми записываются пара символов 0Х или Х0.
●Строковые литералы используются для представления текстовых строк. Это строка символов, заключенная в кавычки. Строковые литералы могут располагаться на нескольких строках. Два и более строковых литерала, разделенные только пробелами, читаются как одна строка.
● Литералы для представления логических значений: true, false. Ключевое слово null является литералом, представляющим пустую ссылку, которая не ссылается ни на один объект.
● Символьные литералы(char) состоят из одного символа кода ASCII, заключенного в апострофы: “(пробел)”, 'в’(буква). char symbol = 'x';
