
- •2. Види констант та константні вирази.
- •3. Вирази та операції, пріоритет операцій та порядок обчислення виразів.
- •3. Логічні операції.
- •4. Побітові операції.
- •6. Операції інкременту та декременту.
- •7. Умовна операція (умовний вираз).
- •4. Основні інструкції :
- •5. Адресація; вказівники та динамічні змінні; адресна арифметика; динамічний розподіл пам’яті в мові с.
- •6. Масиви та їх зв’язок з вказівниками; символьні масиви; двовимірні масиви.
- •7. Стандартний форматований ввід та вивід інформації в с.
- •1. Форматований стандартний вивід в с.
- •2. Форматований стандартний ввід в с.
- •9. Функції в мові с:
- •12. Об’єднання.
- •13. Організація файлів та робота з ними в мові с.
- •14. Основні директиви препроцесора, макровизначення та проблема їх використання.
- •15. Загальна структура програми в мові с.
- •16. Аргументи функції main().
- •17. Структура програми мовою с.
- •19. Вбудовані функції.
- •20. Параметри функцій за замовчуванням.
- •21. Змінні типу посилань.
- •22. Операції new та delete.
- •23. Перевантаження функцій.
- •26. Дані-члени та функції-члени класу, вказівник this.
- •27. Статичні члени класу – дані та методи.
- •28. Конструктори та деструктор класу, конструктор копіювання.
- •29. Спадкування: базовий та похідний клас, віртуальні функції, поліморфізм, абстрактний клас.
- •30. Перевантаження операторів.
- •1. Дружні функції.
- •2. Вказівник this.
- •31. Шаблони функцій та класів.
- •1. Шаблони функцій.
- •2. Шаблони класів.
- •32. Файлові потоки; стандартні потоки введення-виведення, форматування.
- •33. Контейнерні типи даних.
1. ОСНОВНІ СТАНДАРТНІ ТИПИ МОВ С ТА С++.
В С (С++) будь-яка змінна програми має бути описана раніше ніж бути використаною. Як правило (але не обов’язково), описи (або декларації) всіх змінних поміщають на початку функції.
Декларація має вид: <тип> <список змінних>; або <тип> < змінна> = < початкове значення>;
Присвоїти подібним чином початкове значення можна лише змінній стандартного типу. Присвоєння відбувається на етапі компіляції програми. Основні стандартні типи містяться в таблиці:
Тип |
Кількість байтів |
Діапазон значень |
int (цілий) |
2 |
-32767..32768 |
unsigned (цілий без знаку) |
2 |
0..65535 |
short (короткий цілий) |
2 |
Аналогічний типу int |
long (довгий цілий) |
4 |
|
float (дійсний) |
4 |
|
double (довгий дійсний) |
8 |
|
char (символьний) |
1 |
-127..128 |
unsigned char (без знаку) |
1 |
0..255 |
Зауваження. 1. Таким чином символьний тип є підмножиною цілого типу. Значенням змінної символьного типу є її код в кодовій таблиці символів.
2. При визначенні констант до ідентифікатора будь-якої з них можна приписати літери u (unsigned) або l (long).
Приклади декларацій змінних:
int i = 0, size_of_array = 10;
float x, y, z;
char ch = ‘A’;
unsigned score = 0;
unsigned long lnum = 0L;
2. Види констант та константні вирази.
Константи в мовах С та С++ бувають чотирьох типів.
1. Цілі константи задаються в десятковій, вісімковій або шістнадцятковій системах числення:
А) десяткові константи складаються із десяткових цифр від 0 до 9, причому перша не може бути нулем, наприклад: 100, 1024, -1, 0;
Б) вісімкові константи завжди починаються з 0 і включають цифри від 0 до 7, наприклад: 017, 0124;
В) шістнадцяткові константи починаються з 0, за яким має знаходитись символ Х або х, а потім одна або більше шістнадцяткових цифр (тобто цифри від 0 до 9 та латинські літери від A до F або від a до f), наприклад: 0X17, 0XA1; 0x12b.
2. Дійсні константи мають десяткову крапку або експоненційну частину, або те і інше, наприклад: 1.2, 1е-10, -1.5е+05.
3. Символьна (інколи літерна) константи – це один символ, узятий в одинарні лапки, наприклад ‘a’ або ‘0’. Така константа має ціле значення, яке збігається з кодом даного символу в таблиці ASCII. Деякі символьні константи використовуються як керуючі символи для позначення, наприклад, нового рядка – ‘\n’ або табуляції – ‘\t’. Ці керуючі символи ще називаються esc-послідовностями і зображуються двома літерами, перша з яких обернена похила риска (слеш). Будь-який символ кодової таблиці можна в свою чергу задати у вигляді esc-послідовності з вісімковим або шістнадцятковим кодом, наприклад, ‘\0’ – це символ з нульовим кодом (так звана null-літера), а не цифра 0; ‘\013’ – це те саме, що ‘\v’ – символ вертикальної табуляції. Символи слеш, одинарні та подвійні лапки із зрозумілих міркувань теж зображуються у вигляді esc-послідовностей :‘\\’ – слеш; ’\’’ – одинарні лапки; ‘\”’ – подвійні лапки.
4. Стрінгова (рядкова або текстова) константа – це нуль або більше символів, узятих в подвійні лапки, наприклад “String constant”, “” – порожній стрінг. У внутрішньому поданні стрінгова константа займає на одну одиницю пам’яті більше, ніж кількість символів в стрінгу, бо останнім символом автоматично записується null-літера \0, яка завершує будь-який стрінг. Тому зрозуміло, що ‘x’ та “x” – різні речі.
3. Вирази та операції, пріоритет операцій та порядок обчислення виразів.
Вираз – це конструкція з лексем мови. Елементи виразу називаються операндами, а дії над ними – операціями. Операції бувають унарними, якщо виконуються над одним операндом, та бінарними, якщо мають два операнди. Крім того, вони об’єднуються в наступні групи операції.
1. Арифметичні операції (+,-,*,/,%(взяття залишку від ділення- тільки для двох цілих операндів)).
2. Операції відношення (==; !=; <– ; >;<=; >=;).Всі операції відношення визначають цілий результат. Він рівний 1, якщо результатом перевірки є істина, і 0 у супротивному випадку.
3. Логічні операції.
Логічні операції виконуються над операндами цілих, дійсних, символьного типів. Операнд трактується як “хибність”, якщо він рівний 0 і як “істина” у супротивному випадку. Логічні операції позначаються символами: (&&–логічне множення або логічне “І”); (||–логічне додавання або логічне “АБО”); (! –логічне заперечення); Приклади: x && y еквівалентно (x != 0) && (y != 0); !(x || y) еквівалентно (x = 0) && (y = 0);
!x еквівалентно (x == 0);