- •О.Ф.Тарасов, о.В.Алтухов
- •1 Заняття № 1 Вивчення інтегрованого середовища с
- •1.1 Теоретичні відомості
- •1.2 Хід роботи
- •1.3 Вимоги до звітів
- •1.4 Питання для контролю і самостійної роботи
- •2 Заняття № 2 Функції введення/виведення даних printf( ), scanf( ). Лінійні обчислювальні процеси
- •2.1 Теоретичні відомості
- •2.2 Хід роботи
- •2.3 Індивідуальне завдання до заняття №2
- •2.4 Питання для контролю і самостійної роботи
- •3 Заняття № 3 Розробка програм зі скалярними типами даних
- •3.1 Теоретичні відомості
- •Приклад
- •3.2 Хід роботи
- •3.3 Індивідуальне завдання до заняття № 3
- •3.4 Питання для контролю і самостійної роботи
- •4 Заняття № 4 Розробка програм з циклічними обчислювальними процесами
- •4.1 Теоретичні відомості
- •Алгоритм роботи оператора циклу for ( )
- •4.2 Хід роботи
- •4.3 Індивідуальне завдання до заняття № 4
- •4.4 Питання для контролю і самостійної роботи
- •5 Заняття № 5
- •Розгалуження обчислювального процесу.
- •Оператори, які реалізують розгалуження: if... Else, switch,
- •Умовна операція ( ? : )
- •5.1 Теоретичні відомості
- •Умовна тернарна операція ( ? : )
- •Оператор варіанта switch
- •Приклад
- •5.2 Хід роботи
- •5.3 Індивідуальне завдання до заняття № 5
- •5.4 Питання для контролю і самостійної роботи
- •6 Заняття № 6 Операції с, їхні пріоритети і використання. Перетворення типів
- •Пріоритет операцій і порядок виконання (асоційованість)
- •(Новий_тип) Операнд
- •Приклад
- •6.2 Хід роботи
- •6.3 Індивідуальне завдання до заняття № 6
- •6.4 Питання для контролю і самостійної роботи
- •7 Заняття № 7
- •7.1 Теоретичні відомості
- •Оголошення функцій (створення прототипів)
- •([ Список_типів_параметрів ])
- •Синтаксис визначення функцій
- •[ Return Значення_типу_що_повертається ]
- •Використання локальних і глобальних перемінних у функціях. Виклик функції
- •Приклад
- •7.2 Хід роботи
- •7.3 Індивідуальне завдання до заняття № 7
- •7.4 Питання для контролю і самостійної роботи
- •8 Заняття № 8
- •8.1 Теоретичні відомості
- •Основні операції з покажчиками
- •Покажчики і цілі величини
- •Динамічне розміщення покажчиків у пам'яті
- •Приклад
- •Приклад
- •8.2 Хід роботи
- •8.3 Індивідуальне завдання до заняття № 8
- •8.4 Питання для контролю і самостійної роботи
- •9 Заняття № 9
- •9.1 Теоретичні відомості
- •Приклад
- •9.2 Хід роботи
- •9.3 Індивідуальне завдання до заняття №9
- •9.4 Питання для контролю і самостійної роботи
- •10 Заняття № 10
- •10.1 Теоретичні відомості
- •Приклад
- •10.2 Хід роботи
- •10.3 Індивідуальне завдання до заняття № 10
- •10.4 Питання для контролю і самостійної роботи
- •Заняття №11 Обробка символьних даних
- •Теоретичні відомості
- •Індивідуальне завдання до заняття №11
- •Питання для контролю і самостійної роботи
- •Приклад
- •Хід роботи
- •Питання для контролю і самостійної роботи
- •Теоретичні відомості
- •Приклад
- •Індивідуальне завдання до завдання №13
- •Питання для контролю і самостійної роботи
- •Заняття № 14 Розробка програм зі складеними типами даних
- •Структури
- •Хід роботи
- •Питання для контролю і самостійної роботи
- •Заняття № 15 Використання покажчиків для роботи зі складеними типами даних (2години)
- •Теоретичні відомості
- •Приклад
- •Хід роботи
- •Питання для контролю і самостійної роботи
- •Використання покажчиків для роботи з функціями
- •Покажчики як параметри функції
- •[Const ] Тип * Ім'я_покажчика
- •Приклад
- •Хід роботи
- •Індивідуальне завдання до заняття №16
- •Питання для контролю і самостійної роботи
- •Використання функцій високого і низького рівня для роботи з потоками (файлами)
- •Функції для роботи з файлами
- •Хід роботи
- •Індивідуальне завдання до заняття №17
- •Питання для контролю і самостійної роботи
- •Розробка програм із багатофайловою структурою. Заголовочні файли. Класи пам'яті перемінних і функцій
- •Керування многофайловими проектами
- •Використання адміністратора проектів
- •Приклад
- •Основний файл проекту
- •Заголовний файл
- •Хід роботи
- •Індивідуальне завдання до заняття №18
- •Питання для контролю і самостійної роботи
- •Графічні функції
- •Графічні примітиви
- •Хід роботи
- •Індивідуальне завдання до заняття №19
- •Питання для контролю і самостійної роботи
- •Заняття№20 Розробка програм з використанням класів
- •Теоретичні відомості
- •Оголошення і визначення класу
- •Тіло класу
- •Інкапсуляція. Керування доступом до членів класу
- •Використання даних-членів класу
- •Хід роботи
- •Індивідуальне завдання до заняття №20
- •Питання для контролю і самостійної роботи
- •Заняття№21 Використання конструкторів і деструкторів у класах
- •Теоретичні відомості
- •Ініціалізація об'єктів класу
- •Деструктори
- •Виклик деструкторів
- •Хід роботи
- •Питання для контролю і самостійної роботи
- •"Друзі" класів (friend)
- •Хід роботи
- •Індивідуальне завдання до заняття №22
- •Контрольні питання для підготовки і самостійної роботи
- •Віртуальні базові класи
- •Віртуальні деструктори
- •Хід роботи
6.4 Питання для контролю і самостійної роботи
Які операції називаються унарними, бінарними, тернарними ?
Скільки груп пріоритетів операцій прийнято в С ?
Які операції мають самий високий пріоритет, самий низький ?
У якій послідовності виконуються операції з однаковим пріоритетом ?
Що означає властивість комутативності ?
Які операції гарантують порядок обчислення своїх операндів ?
Для чого застосовують первинні операції ?
Який тип операндів допустимо використовувати для різних операцій ?
Чи всі операнди обчислюються у виразах, що містять логічні операції?
Для чого застосовують перетворення типів ?
Назвіть правила неявного перетворення типів.
У яких випадках можлива втрата інформації при перетворенні типів і чому ?
У якому порядку буде виконуватися конструкція f(x) && g(y) і як буде інтерпретуватися результат виклику функцій, результат виразу в цілому ?
Чи завжди можливе перетворення типів, приведене в таблиці 6.3, в яких випадках результати будуть невірними ?
Поясніть приклади, приведені в теоретичній частині.
7 Заняття № 7
Розробка програм з функціями. Оголошення, визначення і виклик функцій
(2 години)
Ціль роботи: виробити практичні навички в написанні програм з виділенням функцій, їхнім оголошенням, визначенням і використанням.
7.1 Теоретичні відомості
Кожна функція в С має назву (ім'я), клас пам'яті, тип значення, що повертається, необов'язковий список параметрів, а також тіло функції. У функціях можна оголошувати локальні константи і перемінні. Усі функції, за винятком функції main( ), необхідно оголошувати (створювати прототип, декларувати) до використання (виклику).
Оголошення функцій (створення прототипів)
С підтримує попереднє оголошення (декларацію) функцій, що також називається створенням прототипу. Попереднє оголошення дозволяє перелічити список функцій на початку програми. Такий список пропонує зручний спосіб указівки того, які функції будуть використані в програмі. Крім того, використання прототипів заздалегідь повідомляє компілятор про типи формальних параметрів різних функцій і типи значень, що повертаються з них. Після оголошення функцій можна розміщати їхнє визначення в будь-якому порядку і не хвилюватися з приводу помилок компіляції, які виникають, коли функція викликається перед оголошенням або визначенням. Замість оголошення функції можна одразу розміщати їхнє визначення.
Загальний синтаксис оголошення для функції має вигляд
[Клас_пам'яті] Тип_значення_що_повертається Ім'я
([ Список_типів_параметрів ])
Функції мають тільки глобальні класи пам'яті: extern і static. За умовчанням клас пам'яті функції – extern, її можна визвати з будь-якої іншої функції. Функції з класом пам'яті static можна визвати тільки в тому модулі, де вони оголошені.
Кожна функція має Тип_значення_що_повертається, який вказується перед назвою (Ім'ям) функції. Список_параметрів вказують за назвою функції і розміщають в круглих дужках.
Крапка з комою наприкінці цього запису необхідна для оголошення функції, але не потрібна у визначенні функції. Імена формальних параметрів можуть бути відсутніми чи не співпадати з іменами у визначенні функції, але типи повинні збігатися обов'язково. За умовчанням тип значення, що повертається, int. Для визначення того значення, що повертається, використовується оператор return.
Приклад оголошення функції
dоuble summa(float a, float b); //Два формальних параметри типу float,
// повертається значення типу dоuble
С використовує спеціальний тип void, щоб указати, що функція не вимагає параметрів чи не повертає значення. Використання оператора return у void -функції не потрібно.
Приклади оголошень функцій:
update( ); //Без параметрів, //повертається int за умовчанням void min(void); //Без параметрів |
void redate(int a); //Один // параметр з типом int void sum(float d); //Один // параметр з типом float |