- •Вирази і оператори.
- •Логічні оператори.
- •Оператор розгалуження.
- •Оператор вибору.
- •Арифметичні операції. Пріоритет виконання.
- •Вказівники константи.
- •Вказівники змінні.
- •Функції.
- •Передача аргументів у функцію.
- •Значення, яке повертає функція.
- •Функція для роботи з файлами.
- •Рекурсивні функції.
- •Блоки і область видимості змінних.
- •Оператори повторення.
- •Структури. Вкладені структури.
- •Створення класів.
- •Управління виконанням програм.
- •Одновимірні масиви даних.
- •Двовимірні масиви даних.
- •Створення масивів з використанням вказівників.
- •Алгоритми сортування масивів.
- •Рядки і операції над ними.
- •Функції введення-виведення.
- •Конструктори, деструктори.
- •Класи. Успадкування.
- •Класи. Поліморфізм.
- •Класи. Інкапсуляція.
- •Вказівник this.
- •Перевантаження операцій та операторів.
- •Поліморфізм і віртуальні функції.
- •Стандартний клас string.
- •Стандартний клас queue.
- •Стандартний клас vector.
- •Стандартний клас list.
- •Стандартний клас stack.
- •Створення і використання шаблонів функцій та класів.
- •Стандартна бібліотека шаблонів (stl)
- •Доступність методів класу.
- •Конструктор та деструктор класів.
- •Наслідування класів.
- •Використання просторів імен.
- •Шаблони функцій.
- •Шаблони класів.
- •Алгоритми стандартної бібліотеки stl.
- •Динамічні структури типу стек.
- •Динамічні структури типу однонаправлений список.
- •Динамічні структури типу двонаправлений список.
- •Сортування масивів із використанням вказівників.
Структури. Вкладені структури.
Структури корисні, коли нам треба об'єднати кілька змінних з різними типами під одним ім'ям . Це робить програму більш компактною і більш гнучкої для внесення змін. Також структури незамінні , коли необхідно згрупувати деякі дані , наприклад , запис з бази даних або контакт з книги адрес. В останньому випадку структура буде містити такі дані контакту як ім'я, адреса , телефон і т.п.
Формат оголошення структури виглядає так:
struct Name {
Members
} ;
Де Name - ім'я структури , Members - змінні , які вона містить. Оголошуючи структуру , ми вводимо в програму наш власний тип даних , яким можемо користуватися , так само як і стандартними типами , тобто оголошення змінної нашого типу буде таким:
structName variableName ;
structName - ім'я структури , variableName - ім'я змінної.
Вкладені структури
Структура, що є компонентом іншої структури, називається вкладеною.
Створення класів.
Перед тим як працювати з класом, ваша програма повинна його оголосити.
Оголошення класу має наступну будову:
class Circle {
Тут ви вводите оголошення класу
};
Ключове слово class показує компілятору, що все що знаходиться в фігурних дужках ({}) належить оголошенню класу. (Не забувайте ставити крапку з комою в кінці оголошення.) Оголошення класу містить оголошення елементів даних (наприклад, int radius) і прототипи функцій-елементів класу. В оголошенні класу circle містяться такі елементи даних:
int radius;
int color;
Кожне оголошення класу має включати прототип функції конструктора.
Ім'я функції конструктора має збігатися з ім'ям класу, а після нього повинні слідувати круглі дужки (). Якщо, наприклад, ви повідомляєте клас з ім'ям Rectangle, він повинен включати оголошення функції конструктора класу: Rectangle (). Отже, оголошення класу Rectangle має виглядати так:
class Rectangle
{
public:
Rectangle (); / / Конструктор
private:
};
Управління виконанням програм.
Програмою можна керувати за допомогою аргументів функції main:
int main(int argc, char* argv[])
Якщо програму запускати через консоль, то існує можливість передати інформацію цій програмі, для цього і існують параметри argc та argv[]. Параметр argc має тип int, що містить в собі кількість параметрів, що передаються функції main. При чому argc завжди більше 1, навіть, коли ми не передаємо параметрів, тому що першим параметром рахується ім’я програми. Параметр argv[] – це масив вказівників на рядки. Приклад перевірки наявності аргументів: int main(int argc, char* argv[]) {
if (argc > 1) {//якщо передаємо аргументи то маємо true
cout << argv[1]<<endl;// виводимо другий рядок з массиву.
} else {
cout << "Not arguments" << endl;
}
system("pause");
return 0;
}
Одновимірні масиви даних.
Одновимірний масив. Одновимірний масив – це лінійно впорядкована сукупність елементів одного і того ж типу. Приклад одновимірного масиву: х1, х2, ..., хn. Місце елемента у масиві визначається індексом, наприклад х5 означає п’ятий елемент масиву. Характерні властивості масиву Тип елементів масиву повинен Число елементів масиву бути конкретно описаний. До визначається під час йогокожного елемента масиву існує опису і надалі не змінюється. прямий доступ.
Способи описання масиву Способи описання масиву Перший спосіб. Другий спосіб. type ім’я типу=array[тип індексу] of var ідентифікатор масиву: array[m..n] of тип тип компонент масиву; елементів масиву; var ідентифікатор масиву: ім’я типу; де m, n – константи цілого типу. Приклад 1. Приклад 2.type MAS=array[1..5] of integer; A:array[1..5] of integer;var A: MAS;Один і той самий масив А в наведених вище прикладах описаний двома різними способами.
Массив – это упорядоченная последовательность переменных одного типа. Каждому элементу массива отводится одна ячейка памяти. Элементы одного массива занимают последовательно расположенные ячейки памяти. Все элементы имеют одно имя - имя массива и отличаются индексами – порядковыми номерами в массиве. Количество элементов в массиве называется его размером. Чтобы отвести в памяти нужное количество ячеек для размещения массива, надо заранее знать его размер. Резервирование памяти для массива выполняется на этапе компиляции программы.
int a[100];//массив из 100 элементов целого типа
При работе с массивами очень часто требуется одинаково обработать все элементы или часть элементов массива. Для этого организуется перебор массива.
Перебор элементов массива характеризуется:
направлением перебора;
количеством одновременно обрабатываемых элементов;
характером изменения индексов.
По направлению перебора массивы обрабатывают :
слева направо (от начала массива к его концу);
справа налево (от конца массива к началу);
от обоих концов к середине.
Индексы могут меняться
линейно (с постоянным шагом);
нелинейно (с переменным шагом).
1)Ввод одномерного массива с клавиатуры
for(int i=0; i<n; i++)
{
printf("Input a[%d] ", i);
scanf("%d", &a[i]);
}
Заполнение случайными целыми числами
randomize();
for (i=0; i<n; i++)
{
a[i]=random(B-A+1)+A;
printf(“%3d”, a[i]);
}
Заполнение случайными вещественными числами
randomize();
for (i=0; i<n; i++)
{
a[i]=(double)rand()/RAND_MAX * (B-A)+A;
printf(“%3f”, a[i]);
}
2)Вывод одномерного массива в столбик
for (i=0; i<n; i++) printf(“%d\n”, a[i]);
Вывод одномерного массива в строчку
for (i=0; i<n; i++) printf(“%7d”, a[i]); printf(“\n”);
