- •Обобщенная схема компьютера:
- •Понятие информации и алгоритма. Формы представления алгоритма:
- •Блок-схемы разветвляющихся алгоритмов:
- •Блок-схемы циклических алгоритмов:
- •Операции присваивания. Особенности выполнения.
- •Потоковый ввод-вывод.
- •Форматированный ввод-вывод.
- •Использование манипуляторов при вводе и выводе данных.
- •Строковый и символьный ввод-вывод информации.
- •Условные операторы. Условная операция «?:». Примеры использования.
- •Особенности синтаксиса и выполнения операторов перехода continue, break.
- •Оператор перехода goto. Оператор return.
- •Переключатель switch. Примеры использования.
- •Организация циклов с помощью while, do-while. Примеры.
- •Организация циклов с помощью for. Примеры.
- •Пространство имен. Ключевое слово using как директива.
- •Средства отладки программ в ms vs.
- •Выполнение приложения с использованием средств интерактивной отладки.
- •Выполнение приложения с использованием средств планируемой отладки.
- •Создание исполняемого файла.
- •Побитовые логические операции (конъюнкция, дизъюнкция, сдвиги, инвертирование).
- •Символы, строки (примеры объявления, инициализации).
- •Алгоритмы работы со строками (подсчет длины строки, объединение строк, удаление заданного символа).
- •Стандартные функции работы со строками. Примеры использования.
- •Логические переменные и примеры их использования в программах.
- •Понятие указателя. Операции над указателями.
- •Одномерные массивы и указатели. Понятие индекса. Инициализация. Доступ к компонентам.
- •Указатели и строки. Примеры (объединение строк, поиск заданного символа).
- •Матрицы. Инициализация, ввод, вывод.
- •Связь между указателями и элементами матриц. Поиск минимума и суммы элементов матрицы через указатели.
- •Указатели на указатели. Примеры использования.
- •Функции работы с динамическими массивами на языке с.
- •Объявление и определение функции.
- •Вызов и использование функций.
- •Способы передачи аргументов в функции. Использование указателей.
- •Массивы и строки как параметры функций.
- •Перегрузка функций. Задание параметров функции по умолчанию.
- •Функции с переменным числом аргументов.
- •Указатели как формальные параметры и как результат функции.
- •Ссылки как формальные параметры и как результат функции.
- •Массивы указателей. Способы формирования.
- •Многоуровневые указатели.
-
Указатели на указатели. Примеры использования.
#include <stdio.h>
int main(void)
{
int x, *p, **q;
x = 10;
p = &x;
q = &p;
printf ("%d", **q) ; /* вывод значения x */
return 0;
}
-
Функции работы с динамическими массивами на языке с.
malloc void *malloc(unsigned s) - Выделить область памяти размером в s байт и возвратить адрес, при неудачном завершении возвращается NULL
free void *free(void p) - Освободить ранее выделенный с адреса p участок динамической памяти
calloc void * calloc(unsigned n, unsigned m) - Возвратить указатель на начало области динам. памяти для размещения n элементов длиной по m байт каждый, при неудачном завершении возвращается NULL
realloc void * realloc(void * p, unsigned s) - Изменить размер блока ранее выделенной динам. памяти до размера s байт, р - адрес начала изменяемого блока, при неудачном завершении возвращается NULL
-
Операторы работы с динамическими массивами на языке С++.
Для динамического распределения памяти используются операции new и delete.
int *i;
i = new int(10); //создать динам. перем. типа int, равную 10
float *f;
f = new float; //создать динамическую переменную типа float
int *А = new int[5]; //создать динамич. массив А из 5 элементов
delete i; //освободить память по указателю i
delete f; //освободить память по указателю f
delete [] А; //освободить память, выдел. под массив А
-
Объявление и определение функции.
Если требуется вызвать функцию до ее определения в рассматриваемом файле, или определение функции находится в другом исходном файле, то вызов функции следует предварять объявлением этой функции.
[тип] имя_функции([формальные_параметры]);
В конце прототипа записывается точка с запятой, а тело функции отсутствует.
Определения функции:
void main() – функция не возвращает значения
int main() – функция возвращает целое значение
float main() – функция возвращает вещ. значение
char main() – функция возвращает симв. значение
bool main() – функция возвращает логич. значение
-
Вызов и использование функций.
адресное-выражение ([список-выражений])
Список-выражений представляет собой список фактических параметров, передаваемых в функцию. Этот список может быть и пустым, но наличие круглых скобок обязательно.
void ff()
{ int i = 10;
cout<<"Функция - i="<<i<<endl;
}
void main()
{ int i = 1;
ff();
cout<<"i="<<i<<endl;
}
-
Способы передачи аргументов в функции. Использование указателей.
Первый способ - передача по значению. Метод копирует содержимое аргумента в формальный параметр подпрограммы. Изменения, сделанные в параметре, не влияют на значение переменной, используемой при вызове.
#include <stdio.h>
int sqr (int x);
int main(void)
{
int t=10;
printf("%d %d", sqr(t), t);
return 0;
}
int sqr (int x) {
x = x*x; return x;
}
В данном примере значение аргумента, передаваемого в sqr(), 10, копируется в параметр х. Когда происходит присваивание х = х * х, модифицируется только локальная переменная х. Переменная t, используемая при вызове sqr(), по-прежнему содержит значение 10. Следовательно, на экране появится «100 10».
Второй способ – передача по ссылке. В данном методе копируется адрес аргумента. В подпрограмме адрес используется для доступа к настоящему аргументу, используемому при вызове. То есть, изменения, сделанные в параметре, влияют на содержимое переменной, используемой при вызове.
#include <stdio.h>
void swap (int *x, int *y);
int main(void)
{
int x, y;
x = 10;
у = 20;
swap(&x, &y);
printf ("%d %d", x, y);
return 0;
}
В данном примере переменной х присваивается значение 10, а у значение 20. Затем вызывается swap() с адресами х и у. Унарный оператор & используется для получения адресов переменных. Поэтому в функцию swap() передаются адреса х и у, а не их значения.