- •Тема 1. Обєктно - орієнтовне програмування 4
- •Тема 2. Основні концепції парадигми програмування 14
- •Тема 7. Універсальна мова моделювання (Unified Modelling Language або uml) 88
- •Тема 8. Бібліотека стандартних шаблонів stl (Standard Template Library) 91
- •Тема 9. Шаблони проектування stl (Standard Template Library) 104
- •Лекція № 1 Тема 1. Обєктно - орієнтовне програмування План лекції
- •Зміст лекції Вступ.
- •1.1. Поняття те визначення ооп.
- •1.2. Об' єктно - орієнтована методологія (оом).
- •1.3. Об' єктно - орієнтовані мови програмування.
- •1.4. Системи і середовища програмування топ.
- •Лекція № 2 Тема 2. Основні концепції парадигми програмування План лекції
- •Зміст лекції
- •2.1. Парадигми програмування: об' єктно - орієнтована парадигма.
- •2.2. Основні концепції топ.
- •2.3. Моделювання. Об' єктна декомпозиція.
- •2.4. Ідеї топ. Топ принцип - поліморфізм.
- •2.5. Інкапсуляція. Наслідування.
- •2.6. Об' єктний рефакторинг.
- •2.7. Системи і середовища програм.
- •Лекція № 3
- •План лекції
- •Зміст лекції
- •3.1. Абстракції даних
- •3.4. Типи, що перераховують
- •3.5. Вирази
- •3.6. Інструкції
- •Лекція № 4
- •План лекції
- •Зміст лекції
- •4.2. Структура програми, функція main без параметрів.
- •4.3. Основні типи даних.
- •4.4. Константи, змінні, вирази та пріоритет операцій.
- •4.5. Базові конструкції структурного програмування - галуження, цикл, передача управління.
- •4.6. Загальні та бітові логічні операції.
- •4.7. Тернарний опертор.
- •4.8. Вказівники і посилання; масиви.
- •Лекція № 5
- •План лекції
- •Зміст лекції
- •5.1. Користувацькі типи - typedef, enum, struct, union. Функції.
- •5.2. Передача параметрів та повернення значень з функцій.
- •5.3. Рекурсія, перевантаження функцій, функція main з параметрами.
- •5.4. Глобальні і локальні визначення, простори імен та їх використання.
- •5.5. Директиви препроцесора.
- •5.6. Стандартний ввід/вивід - бібліотека stdio.H.
- •5.7. Основи потокового введенню/виводу - бібліотека iostream.H.
- •Лекція № 6
- •План лекції
- •Зміст лекції
- •6.2. Екземпляри класів або об' єкти.
- •6.3. Поля (атрибути) та методи.
- •6.4. Специфікатори доступу (private, protected, public).
- •6.5. Вказівник this.
- •6.6. Перевантаження методів.
- •6.7. Конструктори і деструктори класів.
- •6.8. Перевантаження конструкторів.
- •6.9. Конструктори копіювання та перетворення.
- •6.10. Закон Деметри
- •Лекція № 7 Тема 7. Універсальна мова моделювання (Unified Modelling Language або uml) План лекції
- •2.Основні поняття та принципи.
- •3.Зв'язки між класами (асоціація, агрегація, композиція, узагальнення).
- •4.Uml: діаграми класів. Uml: діаграми взаємодії. Uml: діаграми послідовності. Зміст лекції
- •7.1. Сфера застосування.
- •7.2. Основні поняття та принципи.
- •7.3. Зв'язки між класами (асоціація, агрегація, композиція, узагальнення).
- •7.4. Uml: діаграми класів. Uml: діаграми взаємодії. Uml: діаграми послідовності.
- •Лекція № 8 Тема 8. Бібліотека стандартних шаблонів stl (Standard Template Library)
- •План лекції
- •Зміст лекції
- •8.1. Бібліотека стандартних шаблонів - stl (призначення, основні можливості, сфера застосування).
- •8.2. Стандартні потоки і потокові класи.
- •8.3. Стрічки (основні операції та функції; переваги порівняно із c - стрічками).
- •8.4. Поняття про контейнери, ітератори, функціональні об' єкти та алгоритми stl.
- •Лекція № 9 Тема 9. Шаблони проектування stl (Standard Template Library) План лекції
- •1.Шаблони проектування (designpatterns).
- •Зміст лекції
- •9.1. Шаблони проектування (designpatterns).
- •9.2. Класифікація шаблонів проектування stl (creational, structural, behavior, concurrencypatterns).
- •9.3. Можливості застосування шаблонів проектування stl.
5.6. Стандартний ввід/вивід - бібліотека stdio.H.
Стандартна бібліотека мови Сі
Стандартною бібліотекою мови Сі (також відома як libc) називається частина стандарту ANSI C, присвячена заголовним файлам і бібліотечним підпрограмам. Є описом реалізації загальних операцій, таких як обробка введення/виводу і рядків, в мові програмування Сі. Стандартна бібліотека мови Сі - це опис програмного інтерфейсу, а не справжня бібліотека, придатна для використання в процесі компіляції.
Заголовні файли стандартною бібліотекою мови Сі
Стандартна бібліотека мови Сі включає наступні заголовні файли: assert.h, complex.h, ctype.h, errno.h, fenv.h, float.h, inttypes.h, iso646.h, limits.h, locale.h, math.h, setjmp.h, signal.h, stdarg.h, stdbool.h, stddef.h, stdint.h, stdio.h, stdlib.h, string.h, tgmath.h, time.h, wchar.h, wctype.h - всього 24 заголовні файли.
З них три заголовні файли iso646.h, wchar.h і wctype.h були додані в Додатку 1 (скорочено NA1) - доповненні до Стандарту мови Сі, ратифікованому в 1995. А шість заголовних файлів complex.h, fenv.h, inttypes.h, stdbool.h, stdint.h і tgmath.h були додані в C99, версії Стандарту мови Сі, опублікованому в 1999 році.
assert.h - Містить макрос тверджень, використовуваний для виявлення логічних і деяких інших типів помилок у відлагоджуваній версії програми.
complex.h - Набір функцій для роботи з комплексними числами. (З'явилося в C99)
ctype.h - Містить функції, використовувані для класифікації символів за їх типами або для конвертації між верхнім і нижнім регістрами незалежно від використовуваного кодування (зазвичай ASCII або одне з її розширень, хоча є і реалізації, використовуючі EBCDIC).
errno.h - Для перевірки кодів помилок, повертаних бібліотечними функціями.
fenv.h - Для управління середовищем, що використовує числа з плаваючою комою. (З'явилося в C99)
float.h - Містить заздалегідь визначені константи, що описують специфіку реалізації властивостей бібліотеки для роботи з числами з плаваючою комою, як, наприклад, мінімальна різниця між двома різними числами з плаваючою точкою (_EPSILON), максимальне число цифр точності (_DIG) і область допустимих чисел (_MIN, _MAX).
inttypes.h - Для точної конвертації цілих типів. (З'явилося в C99)
iso646.h - Для програмування в кодуванні ISO 646. (З'явилося в NA1)
limits.h - Містить заздалегідь задані константи, що визначають специфіку реалізації властивостей цілих типів, як, наприклад, область допустимих значень (_MIN, _MAX).
locale.h - Для setlocale() і пов'язаних констант. Використовується для вибору відповідної мови.
math.h - Для обчислення основних математичних функцій. Це заголовний файл стандартної бібліотеки мови програмування З, розроблений для виконання простих математичних операцій. Більшість функцій притягають використання чисел з плаваючою точкою. C++ також реалізує ці функції для забезпечення сумісності, усі вони містяться в заголовному файлі cmath. Усі ці функції приймають double, якщо не визначено інакше. Для роботи з типами float і long double використовуються функції з постфіксами f і l відповідно. Усі функції, що приймають або повертають кут, працюють з радіанами.
setjmp.h - Оголошує макроси setjmp і longjmp, використовувані для переходів
signal.h - Для управління різними винятковими умовами
stdarg.h - Це заголовний файл стандартної бібліотеки мови програмування СІ, що надає засоби для перебору аргументів функції, кількість і типи яких заздалегідь не відомі. Вміст stdarg.h часто використовують у функціях з довільною кількістю змінних (приміром, printf, scanf).
stdbool.h - Для булевих типів даних. (З'явилося в C99)
stdint.h - Для визначення різних типів цілих чисел. (З'явилося в C99)
stddef.h - Це заголовний файл стандартної бібліотеки мови програмування З, що визначає макроси NULL і offsetof, а також типи ptrdiff_t, wchar_t, і size_t.
wchar_t - це реалізація широкосимвольного типу, зумовленого в С++, але що вимагає включення "stddef.h" або "wchar.h" в мові програмування Сі.
stdio.h - Реалізує основні можливості введення і виводу в мові Сі. Цей файл містить дуже важливу функцію printf.
stdlib.h - Для виконання безлічі операцій, включаючи конвертацію, генерацію псевдовипадкових чисел, виділення пам'яті, контроль процесів, оточення, сигналів, пошуку і сортування.
string.h - Для роботи з різними видами рядків.
tgmath.h - Для типових математичних функцій. (З'явилося в C99)
time.h - Для конвертації між різними форматами часу і дати.
wchar.h - Для обробки "широких" потоків і декількох видів рядків за допомогою "широких" символів (підтримка набору мов). (З'явилося в NA1)
wctype.h - Для класифікації "широких" символів. (З'явилося в NA1)
wchar.h
wchar.h - заголовний файл стандартної бібліотеки мови програмування Сі, частина стандарту розширення можливостей мови 1995 року. Містить функції для роботи з багатобайтовими і широкими символами.
Функції
int wcscasecmp(const wchar_t *s1, const wchar_t *s2) - широкосимвольный еквівалент функції strcasecmp.
int strcasecmp(const char *s1, const char *s2) - порівнює два рядки s1 і s2, ігноруючи регістр символів. Повертає негативне, нульове або позитивне значення int, якщо s1 відповідно менше, співпадає або більше s2.
int strncasecmp(const char *s1, const char *s2, size_t n) - майже аналогічна strcasecmp, за винятком того, що порівнює тільки перші N символів s1.
int wcscmp(const wchar_t *s1, const wchar_t *s2) - широкосимвольный еквівалент функції strcmp.
stdio.h
stdio.h (від англ. standard input/output header - стандартний заголовний файл введення/виводу) заголовний файл стандартної бібліотеки мови Сі, що містить визначення макросів, константи і оголошення функцій і типів, використовуваних для різних операцій стандартного введення і виводу. Функціональність успадкована від "портативного пакету введення/виводу" ("portable I/O package"), написаного Майком Леском з Bell Labs на початку 1970-х. У C++ заради сумісності, також використовує stdio.h разом з схожим по функціональності заголовним файлом cstdio.
Функції
Функції, оголошені в stdio.h, є дуже популярними завдяки тому, що будучи частиною Стандартної бібліотеки мови Сі, вони гарантують роботу на будь-якій платформі, що підтримує Сі. Додатки на окремих платформах можуть, проте, мати причини для використання функцій введення/виведення самої платформи замість функцій stdio.h.
Функції, оголошені в stdio.h призначені або для операцій з файлами або для операцій введення-виводу.
Функція стандартного виведення printf()
Функція printf() є функцією стандартного виводу. За допомогою цієї функції можна вивести на екран монітора рядок символів, число, значення змінної.
Функція printf() має прототип у файлі stdio.h
int printf(char *рядок, що управляє, ..);
У разі успіху функція printf() повертає число виведених символів.
Рядок, що управляє, містить два типи інформації : символи, які безпосередньо виводяться на екран, і специфікатори формату, що визначають, як виводити аргументи.
Функція printf() це функція форматованого виводу. Це означає, що в параметрах функції необхідно вказати формат даних, які виводитимуться. Формат даних вказується специфікаторами формату. Специфікатор формату починається з символу % за яким йде код формату. %з символ
%%d ціле десяткове число
%%i ціле десяткове число
%%e десяткове число у вигляді x.xx e+xx
%%E десяткове число у вигляді x.xx E+xx
%%f десяткове число з плаваючою комою xx.xxxx
%%F десяткове число з плаваючою комою xx.xxxx
%%g %f або %e, що коротше
%%G %F або %E, що коротше
%%o вісімкове число
%%s рядок символів
%%u беззнакове десяткове число
%%x шістнадцятиричне число
%%X шістнадцятиричне число
%% %% символ %
%%p покажчик
%%n покажчик
Крім того, до команд формату можуть бути застосовані модифікатори l і h.%ld друк long int
%%hu друк short unsigned
%%Lf друк long double
У специфікаторі формату, після символу % може бути вказана точність (число цифр після коми). Точність задається таким чином: %.n<код формату>. Де n - число цифр після коми, а <код формату> - один з кодів приведених вище.
Наприклад, якщо у нас є змінна x=10.3563 типу float і ми хочемо вивести її значення з точністю до 3-х цифр після коми, то ми повинні написати:
printf("Змінна x = %.3f", x);
Результат:
Змінна x = 10.356
