- •12. Класи пам'яті даних 100
- •13. Робота з файлами 106
- •14. Посилання 111
- •Склад мови
- •Алфавіт мови
- •Лексеми
- •Ключові слова
- •Ідентифікатори
- •Константи
- •Символьні рядки
- •Знаки операцій, роздільники, коментарі
- •Типи даних
- •Класифікація типів даних
- •Цілочислові типи
- •Дійсні типи
- •Оголошення змінних і констант
- •Переліки
- •Структура програми
- •Функція main
- •Область дії змінної
- •Введення і виведення даних
- •Функції стандартної математичної бібліотеки
- •Вирази і операції
- •Поняття виразу, операнда, операції
- •Порядок виконання операцій
- •Арифметичні операції
- •Порозрядні операції
- •Операції порівняння
- •Логічні операції
- •Операції присвоєння
- •Умовна операція
- •Операція визначення розміру sizeof
- •Узгодження типів у виразах
- •Умовні оператори
- •Оператори
- •Умовний оператор if
- •Оператор вибору switch
- •Оператори циклу
- •Цикл з параметром. Оператор for
- •Цикл з передумовою. Оператор while
- •Цикл з постумовою. Оператор do while
- •Оператори переходу
- •Використання псевдовипадкових чисел
- •Одновимірні масиви
- •Багатовимірні масиви
- •Символьні рядки
- •Вказівники
- •Оголошення вказівника, операції, пов’язані з вказівниками
- •Адресна арифметика
- •Void – вказівники, типізація вказівників
- •Звертання до елементів масивів через вказівники
- •Масиви символьних рядків і масиви вказівників
- •Динамічне виділення пам’яті
- •Структури і об’єднання
- •Оголошення і ініціалізація структур
- •Звертання до елементів структур
- •Перейменування типів
- •Об’єднання
- •Поля бітів
- •Директиви препроцесора
- •Призначення директив препроцесора
- •Директива включення #include
- •Директиви макропідстановок #define I #undef
- •Директиви умовної компіляції
- •Директиви #ifdef, #ifndef
- •Функції
- •Структура функції
- •Виклик функцій. Прототипи функцій
- •Взаємодія фактичних і формальних параметрів функцій
- •Inline – функції
- •Масиви і символьні рядки як параметри функцій
- •Використання кваліфікатора const в оголошеннях параметрів
- •Багатовимірні масиви як параметри функцій
- •Опрацювання структур у функціях
- •Вказівники на функції
- •Рекурсивні функції
- •Класи пам'яті даних
- •Клас пам'яті, час існування і видимість об’єкта
- •Область дії глобальних і локальних змінних
- •Специфікатори класів пам'яті
- •Специфікатори глобальних змінних
- •Багатофайлові програми
- •Робота з файлами
- •Звертання до файлів
- •Послідовний запис до файлу і послідовне читання з файлу
- •Файли з довільним доступом
- •Посилання
- •Призначення посилань
- •Передача аргументів функцій як посилань
Лексеми
Найменшими змістовними елементами програми, що мають самостійне призначення, є лексичні одиниці (лексеми). Лексеми мови С++ поділяють на 6 груп: ключові слова, ідентифікатори, константи, символьні рядки, знаки операцій та роздільники.
Ключові слова
Ключові (службові, зарезервовані) слова – це набір визначених слів, що використовуються для встановлення типів даних, класів пам'яті даних, формування операторів тощо. Кожне ключове слово має своє призначення, застосовувати ключові слова для іншої мети (зокрема як імена змінних і функцій) заборонено. Перелік ключових слів:
asm auto break case catch
char class const continue default
do double else enum extern
float for friend goto if
inline int long new operator
private protected public register return
short signed sizeof static struct
switch template this throw try
typedef typeid union unsigned virtual
void volatile while
В ключових словах великі і малі літери вважаються різними. Тому їх треба записувати так, як вони вказані вище, наприклад, int, а не Int або INT. Int і INT не є ключовими словами, але їх не варто використовувати в якості імен змінних або функцій.
Ідентифікатори
Імена змінних, макросів, меток, функцій та інших об’єктів програми називають ідентифікаторами. Ідентифікатори формують з символів першої групи, тобто з малих і великих латинських літер, цифр і знака підкреслення. Ідентифікатор не може починатися з цифри. В ідентифікаторах розрізняються великі та малі літери, тому а і А вважаються двома різними ідентифікаторами.
Константи
Константи (літерали) – це об’єкти програми, значення яких змінювати не можна. Константи належать до арифметичних даних. Стандарт мови поділяє константи на цілочислові, дійсні, символьні та перелікові.
Цілочислові константи використовуються для позначення цілих чисел зі знаком або без знака. Можуть бути записані у десятковій, вісімковій або шістнадцятковій формі. Вісімкові константи завжди починаються цифрою 0, за якою записують вісімкові цифри значення константи (від 0 до 7). Шістнадцяткові константи починаються префіксом 0х або 0Х, за яким вказують шістнадцяткові цифри числа (цифри 0…9, літери a…f, A…F). Наприклад, число 12 можна записати як 014 (вісімкова форма) або 0хС (шістнадцяткова форма).
Дійсні константи застосовують для позначення чисел, які мають як цілу, так і дробову частину, тобто дійсних чисел. Дійсні константи можна записувати у двох форматах: з фіксованою і плаваючою крапкою. Константи з фіксованою крапкою містять цілу і дробову частини числа, які відокремлені одна від одної крапкою. У константах з плаваючою крапкою додатково вказується десятковий порядок числа, який записується після літери е або Е (від експонента). Наприклад, константа 2.3е-4 відповідає дійсному числу 2,3 × 10-4.
Символьні константи використовуються у програмі для звернення до окремих символів. Символьна константа позначається одним символом, записаним у апострофах або ескейп – послідовністю, теж записаною у апострофах. У символьних константах можна використовувати всі символи активної кодової таблиці. Наприклад, ‘a0’, ‘\n’, ‘\’’, ‘\xA1’.
