- •О.Ф.Тарасов, о.В.Алтухов
- •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
- •Контрольні питання для підготовки і самостійної роботи
- •Віртуальні базові класи
- •Віртуальні деструктори
- •Хід роботи
5.4 Питання для контролю і самостійної роботи
Який тип повинний мати Вираз в операторах if і switch ?
Чи можна використовувати оператор goto для передачі керування на else, мітку case…:, default: ?
За допомогою яких операторів можна достроково завершити виконання операторів if…else, switch ?
Чи можна використовувати в якості Виразу в операторі switch покажчик ?
Чи можна використовувати в якості <Константного_виразу в операторі switch константу, перемінну типу char ?
Чи обов'язково використовувати оператор break в операторі switch ? Яка його дія ? Що відбувається при відсутності break ?
До якого з вкладених операторів if відноситься else при наявності і відсутності операторних дужок … ?.
Які типи операндів допустимі в тернарній операції ( ? : ) ?
Поясніть роботу операторів у приведених прикладах.
Як оголосити і використовувати мітки в програмі ?
6 Заняття № 6 Операції с, їхні пріоритети і використання. Перетворення типів
(4 години)
Ціль роботи: вивчити основні логічні, арифметичні й інші операції С, навчитися правильно складати вирази С, вивчити пріоритети операцій, навчитися використовувати перетворення типів.
Теоретичні відомості
Мова С має могутню арифметичну і логічну основу, що дозволяє швидко, компактно й ефективно писати код програми. У С розроблено багато базових арифметичних і логічних операцій (таблиця 6.1), а також функції бібліотеки математичної підтримки мови. Операндами операцій можуть бути вирази визначених видів, що залежать від операції. У найпростішому випадку операндами є перемінні. Для групування перемінних у вирази використовують круглі скобки ( ). Ці скобки дозволяють змінити порядок виконання операцій. Перемінні, перш ніж вони будуть використані, повинні бути оголошені з визначеним специфікатором типу.
Таблиця 6.1 - Допустимі операції над перемінними
АРИФМЕТИЧНІ ОПЕРАЦІЇ |
||
Операція |
Пояснення |
Приклад |
* |
Множення |
a = b*c |
/ |
Розподіл (для цілих – нацело) |
a = b / c |
% |
Залишок від розподілу (для цілих) |
a = b % c |
= + = - = * = / = % = |
Просте присвоювання Складене присвоювання (змінити і замінити) |
a+ = 3 чи a = a+3 a% = c чи a = a%c |
++ |
Інкремент (збільшити на 1) |
с++ ; чи c=c+1; ++ а |
- - |
Декремент (зменшити на 1) |
с- - ; чи c= c-1; - - а |
+ |
Бінарний плюс (додавання) |
a = b + c |
- |
Бінарний мінус (вирахування) |
a = b - c |
Продовження таблиці 6.1
ЛОГІЧНІ ОПЕРАЦІЇ |
||
Операція |
Пояснення |
Приклад |
&& |
"І" |
a && b |
|| |
"Або" |
a || b |
! |
"Не" |
! a |
= = |
"Дорівнює" (не плутати з присвоюванням "=" ) |
a = = b |
! = |
"Не дорівнює" |
a != b |
> |
"Більше" |
a > b |
> = |
"Більше чи дорівнює" |
a >= b |
< |
"Менше" |
a < b |
< = |
"Менше чи дорівнює" |
a <= b |
|
|
|
ПОБІТОВІ ОПЕРАЦІЇ (ПОРАЗРЯДНІ) |
||
Операція |
Пояснення |
Приклад |
& |
Побітове “ І ” (and) |
1 & 1 =1; 1 & 0 =0 ; 0 & 0 =0 |
| |
Побітове “Або” (or) |
1 | 1= 1 ; 1 | 0 =1 ; 0 | 0= 0 |
^ |
Побітове “Або, що вилучає” (xor) |
1^1 = 0 ; 1 ^ 0 =1 ; 0^0 =0 |
~ |
“Заперечення” (not) |
~1 = 0; ~0 = 1 |
<< |
“Зрушення вліво” (shl) |
0001b<<2=0100b; (буква b означає, що число двоїчне) |
>> |
“Зрушення вправо” (shr) |
0010b >> 1=0001b; a >> b |
&= |= ^= >>= <<= |
Складене присвоювання (змінити і замінити) |
а &= b; a |= b; a ^= b; a >>= b; a <<= b |