- •2)Этапы изготовления загрузочного модуля.
- •4)Типы данных.
- •5)Описание типов переменных и именованных констант.
- •6) Классы памяти, область действия, область видимости, время жизни переменных
- •7) Уточнение типа константы (литерала).
- •8)Выражения. Арифметические операции, операции отношения.
- •12) Операция явного приведения типа. Правила преобразования операндов при вычислении выражений. Приоритет операций и порядок их выполнения.
- •Int main(){ // или просто main()
- •14) Форматный ввод-вывод. Функции ввода и вывода;
- •15) Управляющая строка: управляющие символьные константы, поясняющий текст, спецификации преобразования (флаги, ширина, точность, модификаторы, типы преобразования).
- •16) Оператор- выражение. Примеры использования.
- •17) Оператор безусловного перехода. Примеры использования.
- •18) Операторы условного перехода: switch. Примеры использования.
- •19) Операторы условного перехода: if. Примеры использования.
- •20) Операторы цикла: while, do while. Примеры использования.
- •21)Операторы цикла: for. Примеры использования
- •22)Внутреннее представление целых данных.
- •23) Внутреннее представление данных с плавающей точкой
- •24) Другие операторы: break, continue, return. Примеры использования
- •25) Понятие указателя. Виды указателей. Их описание
- •26) Специальные операции, связанные с указателями. Стандартные операции, применимые к указателям.
- •27) Инициализация указателей.
- •28) Одномерные массивы. Описание массивов, их инициализация.
- •29) Связь одномерных массивов с указателями. Динамическое выделение памяти для одномерных массивов.
- •30) Одномерные массивы. Описание массивов, их инициализация.
- •31) Связь двумерных массивов с указателями. Динамическое выделение памяти для двумерных массивов.
- •32) Функции пользователя. Прототипы функций (объявление функций). Структура функции пользователя. Вызов функции. Виды функций.
- •33) Функции пользователя. Способы передачи информации между функциями.
- •34) Функции пользователя. Механизм передачи аргументов в функцию. Передача аргументов функции: передача значений, передача адресов. Возврат результатов из функции.
- •35) Соответствие между фактическими и формальными аргументами. Использование указателей в качестве аргументов. Возврат результатов из функции.
- •36) Понятие ссылки, ее описание. Использование ссылок для передачи аргументов в функцию и обратно.
- •37) Виды функций. Функции с переменным числом аргументов.
- •38) Виды функций. Функции с аргументами, заданными по умолчанию. Inline-функции.
- •39) Виды функций. Рекурсивные функции.
- •40) Виды функций. Перегруженные функции.
- •41) Виды функций. Шаблоны функций.
- •Inline - функция
- •42) Передача аргументов функции main(). Возврат из функции main().
- •43) Описание строк и символов. Функции ввода-вывода символов и строк.
- •44) Действия над строками и символами.
- •46.Использование указателей на строки. Выделение памяти под строку и под массив строк.
- •47.Типы данных, задаваемые пользователем. Оператор typedef. Перечислимый тип
- •48.Структурированный тип данных: структуры, их описание, доступ к полям структуры, вложенные структуры, указатель на структуру, массивы структур
- •49.Разновидности структуры: битовые поля, смеси (объединения). Использование их для построения сложных структур.
- •50.Файлы в с. Способы обмена. Файловый тип. Описание файлов.
- •51.Файлы в с. Потоковый обмен: блоковый, форматный.
- •53.Объекты и классы. Описание классов. Объявление объектов.
- •2 Способа вызова:
- •54Указатель this.
- •55.Конструкторы и деструкторы. Их назначение. Виды конструкторов.
- •61) Наследование. Производный класс. Конструкторы и деструкторы производных классов.
- •62) Множественное наследование.
38) Виды функций. Функции с аргументами, заданными по умолчанию. Inline-функции.
inline - функция
Функция, которая имеет в заголовке слово inline считается встроенной и компилятор, в местах вызова функции вставляет её программный код. Такие функции не должны быть большие по объёму.
Функции с аргументами, заданными по умолчанию
В заголовке функции, в списке её формальных аргументов можно задать значения ряда аргументов. Эти аргументы должны быть последними в списке. При вызове функции аргументы, заданные по умолчанию могут быть опущены, причём, если аргумент опущен то, и все стоящие за ним должны быть тоже опущены.
39) Виды функций. Рекурсивные функции.
Рекурсивные функции – вызывают сами себя.
Рекурсивные вычисления выполняются повторными вхождениями в одну и ту же функцию. Каждое вхождение имеет свою память для внутренних переменных и независимо от других вхождений, эта память выделяется в стеке. Любой алгоритм можно представить в рекурсивной и не рекурсивной формах. Выбирают наиболее эффективную форму.
Недостатки рекурсии:
1) Потеря времени на вызов функции и передачу ей аргументов
2) Возможно превышение памяти, выделенной под стек
Достоинство:
1) Рекурсия позволяет создать достаточно простые и эффективные алгоритмы для решения ряда задач (работа с деревьями, графами, списками).
Основное правило создания рекурсивной функции
НЕОБХОДИМО ПРАВИЛЬНО РЕАЛИЗОВАТЬ ВЫХОД ИЗ РЕКУРСИИ.
40) Виды функций. Перегруженные функции.
Перегруженные функции
Использование функций с одним и тем же именем, но с различными типами аргументов – называется перегрузкой.
Пусть имеются след функции
int max(int a,int b);
int max(char*c,char*d);
char *max(int a,char *c);
char *max(char *d,int a);
int max (float a,float b);
При вызове функции компилятор выбирает соответствующую функцию по типу фактических аргументов, если точного соответствия не найдено, то производится преобразование типов фактических аргументов по принятым правилам. Затем снова идёт поиск нужной функции, если соответствие не найдено либо можно использовать более одной функции выдаётся сообщение об ошибке. Ошибка может появится при преобразовании типов фактических аргументов и при использовании аргументов по умолчанию. Ошибки должен устранять программист.
41) Виды функций. Шаблоны функций.
Виды функции в С++:
Встроенная функция (inline)
Функции с аргументами заданными по умолчанию
Функции с переменным количеством аргументов
Рекурсивные функции
Перегруженные функции
Шаблоны функции
Передача аргументов в функцию main() и возврат значения из неё
Inline - функция
Функция, которая имеет в заголовке слово inline считается встроенной и компилятор, в местах вызова функции вставляет её программный код. Такие функции не должны быть большие по объёму.
inline float Rast(float x1,float x2, float y1,float y2)
{
return sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));
}
Шаблоны функций
Многие алгоритмы не зависят от типов данных. Хотелось бы такой алгоритм записать одной функцией, которую можно было бы использовать для различных типов данных, задавая в качестве параметров типы. Для этой цели в С++ существуют шаблоны. Цель: автоматизация создания функций, которые могут обрабатывать однотипные данные. Компилятор, по вызову функции создаёт функцию с обработкой данных заданного типа.
Формат шаблона функции:
template <class тип1, class тип2,… >
заголовок_функции
{ тело функции }
Пример 1
template <class T>
T abs (T x)
{return x>=0? x:-x;
}
Если к приведённому шаблону имеется вызов abs(10.5). По такому вызову компилятор сгенерирует следующий код функции
double abs (double x)
{return x>=0? x:-x;
}
Если задан тип int,
int a;
по вызову
abs(a)
компилятор сгенерирует следующий код функции
int abs (int x)
{return x>=0? x:-x;
}