- •1. Основні поняття
- •2. Етапи створення програми
- •3.Алфавіт і ключові слова
- •Самостійна робота. Директиви препроцесора
- •1. Директива #include
- •2 Директива #define
- •3 Директива #undef
- •4 Директиви #if, #elif, #else, #endif
- •5 Директиви #ifdef і #ifndef
- •6 Директива #line
- •Самостійна робота Функції файлу math.H
- •1. Базові типи даних
- •1. Char - символ
- •3. Float - число з плаваючою комою одинарної точності
- •4. Double - число з плаваючою комою подвійної точності
- •2. Структура програми
- •Лекція 3. Вирази. Арифметичні операції. Математичні функції
- •2. Пріоритети операцій.
- •3. Вирази.
- •4.Арифметичні операції.
- •5.Операції присвоєння.
- •6. Операції порівняння (операції відношень).
- •7. Логічні операції.
- •8. Умовна операція.
- •Вираз1 ? вираз2: вираз3
- •Самостійна робота. Правила узгодження типів
- •Самостійна робота. Команда присвоєння суміщена з арифметичною операцією
- •Лекція 4. Потоки та функції введення-виведення даних.
- •1. Потоки введення-виведення даних
- •1.1 Команда введення даних.
- •1.2 Команда виведення даних.
- •2.Функції введення-виведення даних
- •Самостійна робота. Перенаправлення потоків введення-виведення у ms dos
- •Теоретичні відомості
- •Базові типи даних
- •Потоки введення – виведення даних
- •Математичні функції
- •Порядок виконання роботи:
- •Лекція 5. Алгоритмічний вибір альтернатив
- •2. Команда розгалуження if.
- •If (логічний вираз) команда1; else команда2;
- •If (логічний вираз) команда1;
- •5. Команда безумовного переходу goto.
- •Мітка : команда;
- •Самостійна робота. Побітові операції та операції зсуву
- •Теоретичні відомості
- •Вираз1, вираз2 або команда1, команда2
- •If (логічний вираз) команда1; else команда2;
- •If (логічний вираз) команда1;
- •Теоретичні відомості
- •Лекція 6. Алгоритмічна конструкція повторень
- •1.Команда циклу з лічильником for.
- •2. Команда циклу з передумовою (while)
- •3.Команда циклу з післяумовою do-while
- •Самостійна робота Оператори переривання роботи циклу
- •Лабораторна робота №4. Циклічні оператори (while, do…while).
- •Теоретичні відомості
- •Цикл з передумовою while
- •While ( вираз )оператор;
- •Завдання 2.
- •Лабораторна робота №5. Циклічні оператори (for).
- •Теоретичні відомості
- •Державний вищий навчальний заклад «Чернівецький політехнічний коледж» «Основи програмування та алгоритмічні мови»
- •Структура заняття:
- •Державний вищий навчальний заклад «Чернівецький політехнічний коледж» «Основи програмування та алгоритмічні мови»
- •Структура самостійної роботи
- •Структура самостійної роботи
- •Контрольні запитання і завдання
- •Державний вищий навчальний заклад «Чернівецький політехнічний коледж» «Основи програмування та алгоритмічні мови»
- •Структура заняття:
- •Державний вищий навчальний заклад «Чернівецький політехнічний коледж» «Основи програмування та алгоритмічні мови»
- •Структура заняття:
- •Державний вищий навчальний заклад «Чернівецький політехнічний коледж» «Основи програмування та алгоритмічні мови»
- •Структура самостійної роботи
- •Питання і задачі для самостійної роботи
- •Державний вищий навчальний заклад «Чернівецький політехнічний коледж» «Основи програмування та алгоритмічні мови»
- •Структура заняття:
- •Державний вищий навчальний заклад «Чернівецький політехнічний коледж» «Основи програмування та алгоритмічні мови»
- •Забезпечення заняття:
- •Зміст і хід заняття:
- •Державний вищий навчальний заклад «Чернівецький політехнічний коледж» «Основи програмування та алгоритмічні мови»
- •Структура заняття:
- •Державний вищий навчальний заклад «Чернівецький політехнічний коледж» «Основи програмування та алгоритмічні мови»
- •Забезпечення заняття:
- •Зміст і хід заняття:
- •Державний вищий навчальний заклад «Чернівецький політехнічний коледж» «Основи програмування та алгоритмічні мови»
- •Забезпечення заняття:
- •Зміст і хід заняття:
- •Державний вищий навчальний заклад «Чернівецький політехнічний коледж» «Основи програмування та алгоритмічні мови»
- •Структура заняття:
- •1) Знайти кількість і добуток усіх парних цілих чисел з проміжку від 4 до 11______
- •Державний вищий навчальний заклад «Чернівецький політехнічний коледж» «Основи програмування та алгоритмічні мови»
- •Забезпечення заняття:
- •Зміст і хід заняття:
- •Державний вищий навчальний заклад «Чернівецький політехнічний коледж» «Основи програмування та алгоритмічні мови»
- •Забезпечення заняття:
- •Зміст і хід заняття:
3 Директива #undef
Синтаксис :
#undef ідентифікатор
Визначення символічних констант і макросів можуть бути анульовані за допомогою директиви препроцесора #undef. Таким чином, область дії символічної константи або макросу починається з місця їх визначення і закінчується явним їх анулюванням директивою #undef або кінцем файлу.
Після анулювання ідентифікатор може бути знову використаний директивою #define.
Приклад :
#define WIDTH 80
/* … */
#undef WIDTH
/* … */
#define WIDTH 20
4 Директиви #if, #elif, #else, #endif
Умовна компіляція дає можливість програмісту керувати виконанням директив препроцесора і компіляцією програмного коду. Кожна умовна директива препроцесора обчислює значення цілочисельного константного виразу.
Умовна директива препроцесора #if багато в чому схожа на оператор if. Її синтаксис має вигляд :
#if умова
...
[ #elif умова
…]
[ #elif умова
…]
[ #else
…]
#endif
Умова - це цілочисельний вираз. Якщо цей вираз повертає не нуль (істинно), то фрагмент коду, що розташований між директивою #if і директивою #endif, компілюється. Якщо ж вираз повертає нуль (хибно), то цей фрагмент коду ігнорується і препроцесором, і компілятором.
В умовах, окрім звичайних виразів, можна використовувати конструкцію :
defined (ідентифікатор)
defined повертає 1, якщо вказаний ідентифікатор раніше був визначений директивою #define, і повертає 0 в протилежному випадку.
Кількість директив #elif - довільна. Якщо директива #else присутня, то між нею і директивою #endif на даному рівні вкладеності не повинно бути інших директив #elif.
Приклад 1:
#if defined(CREDIT)
credit();
#elif defined (DEBIT)
debit();
#else
printerror();
#endif
В наведеному прикладі директиви #if, #elif, #else, #endif керують викликом однієї з трьох викликів функцій. Виклик функції credit() скомпілюється, якщо визначена іменована константа CREDIT. Якщо визначена іменована константа DEBIT, то скомпілюється виклик функції debit(). Якщо жодна із наведених іменованих констант не визначена, то скомпілюється виклик функції printerror().
Приклад 2.
#if DLEVEL>5
#define SIGNAL 1
#if STACKUSE == 1
#define STACK 200
#else
#define STACK 100
#endif
#else
#define SIGNAL 0
#if STACKUSE == 1
#define STACK 100
#else
#define STACK 50
#endif
#endif
В другому прикладі показано два вкладених набори директив #if, #else, #endif. Перший набір директив оброблюється, якщо значення DLEVEL більше за 5. В протилежному випадку оброблюється другий набір.
5 Директиви #ifdef і #ifndef
Синтаксис :
#ifdef ідентифікатор
#ifndef ідентифікатор
Аналогічно директиві #if, за директивами #ifdef і #ifndef може слідувати набір директив #elif і директива #else. Набір директив повинен закінчуватися директивою #endif.
Використання директив #ifdef і #ifndef еквівалентне директиві #if, що використовує вираз з операцією defined (ідентифікатор). Ці директиви підтримуються виключно для сумісності з попередніми версіями компіляторів мови Сі. Тому замість цих директив рекомендується використовувати директиву #if з операцією defined (ідентифікатор).
Коли препроцесор оброблює директиву #ifdef, він перевіряє, чи визначений в даний момент вказаний ідентифікатор. Якщо так, то умова вважається істинною, якщо ні - хибною.
Директива #ifndef протилежна за своєю дією директиві #ifdef. Якщо ідентифікатор не був визначений директивою #define, або його дія відмінена директивою #undef, то умова вважається істинною. В протилежному випадку умова хибна.