- •Обобщенная схема компьютера:
- •Понятие информации и алгоритма. Формы представления алгоритма:
- •Блок-схемы разветвляющихся алгоритмов:
- •Блок-схемы циклических алгоритмов:
- •Операции присваивания. Особенности выполнения.
- •Потоковый ввод-вывод.
- •Форматированный ввод-вывод.
- •Использование манипуляторов при вводе и выводе данных.
- •Строковый и символьный ввод-вывод информации.
- •Условные операторы. Условная операция «?:». Примеры использования.
- •Особенности синтаксиса и выполнения операторов перехода continue, break.
- •Оператор перехода goto. Оператор return.
- •Переключатель switch. Примеры использования.
- •Организация циклов с помощью while, do-while. Примеры.
- •Организация циклов с помощью for. Примеры.
- •Пространство имен. Ключевое слово using как директива.
- •Средства отладки программ в ms vs.
- •Выполнение приложения с использованием средств интерактивной отладки.
- •Выполнение приложения с использованием средств планируемой отладки.
- •Создание исполняемого файла.
- •Побитовые логические операции (конъюнкция, дизъюнкция, сдвиги, инвертирование).
- •Символы, строки (примеры объявления, инициализации).
- •Алгоритмы работы со строками (подсчет длины строки, объединение строк, удаление заданного символа).
- •Стандартные функции работы со строками. Примеры использования.
- •Логические переменные и примеры их использования в программах.
- •Понятие указателя. Операции над указателями.
- •Одномерные массивы и указатели. Понятие индекса. Инициализация. Доступ к компонентам.
- •Указатели и строки. Примеры (объединение строк, поиск заданного символа).
- •Матрицы. Инициализация, ввод, вывод.
- •Связь между указателями и элементами матриц. Поиск минимума и суммы элементов матрицы через указатели.
- •Указатели на указатели. Примеры использования.
- •Функции работы с динамическими массивами на языке с.
- •Объявление и определение функции.
- •Вызов и использование функций.
- •Способы передачи аргументов в функции. Использование указателей.
- •Массивы и строки как параметры функций.
- •Перегрузка функций. Задание параметров функции по умолчанию.
- •Функции с переменным числом аргументов.
- •Указатели как формальные параметры и как результат функции.
- •Ссылки как формальные параметры и как результат функции.
- •Массивы указателей. Способы формирования.
- •Многоуровневые указатели.
-
Массивы указателей. Способы формирования.
Массивы указателей допускают различные способы формирования, которые отличаются как способом создания самих элементов, так и способом установления связей между ними.
1. Формирование структуры данных при трансляции: переменные определяются статически, а указатели инициализируются.
double a1, a2, a3, *pd[ ] =
{&a1, &a2, &a3, NULL};
2. Переменные определяются статически, указатели устанавливаются программно.
int i;
double d[19], *pd[20];
for ( i = 0; i < 19; i++)
pd[i] = &d[i];
pd[i] = NULL;
3. Указуемые переменные создаются динамически, массив указателей - статически:
double *p, *pd[20];
for ( i = 0; i < 19; i++)
{ p = new double;
*p = i; pd[i] = p;
}
pd[i] = NULL;
4. Все переменные, в том числе и массив указателей, создаются динамически.
double **pd, *p;
pd = new double *[20];
for ( i = 0; i < 19; i++)
{ p = new double;
*p = i;
pd[i] = p;
}
pd[i] = NULL;
-
Многоуровневые указатели.
double **pp;
Эту запись можно понимать по-разному:
- это переменная, при обращении к которой получается указатель на переменную типа double;
- это указатель на указатель;
- это адрес указателя.
Существует 4 варианта структур данных
- указатель на одиночный указатель на переменную;
- указатель на одиночный указатель на массив переменных;
- указатель на массив, содержащий указатели на одиночные переменные
- указатель на массив, содержащий указатели на массивы переменных.