Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
26-30.docx
Скачиваний:
5
Добавлен:
21.09.2019
Размер:
37.14 Кб
Скачать

26. Типи даних. Константи на С++.

Тип даних — характеристика, яку явно чи неявно надано об'єкту (змінній, функції, полю запису, константі, масиву тощо). Тип даних визначає множину припустимих значень, формат їхнього збереження, розмір виділеної пам'яті та набір операцій, які можна робити над даними. Основні типи даних. Визначення основних (базових) типів даних здійснюється за допомогою ключових слів. Для типів із плаваючою точкою (дійсних) використовуються ключові слова float, double, long double, для цілих типів – char, int, short, long з службовими словами signed та unsigned, які вказують, що ціла змінна вважається знаковою або беззнаковою. Операція sizeof обчислює розмір у байтах ділянки пам'яті, яка зайнята змінною зазначеного типу або типом даних.

Вбудовані типи – це типи які підтримує мова програмування.

Вбудовані типи бувають :прості і похідні які утворюються від базових.

До простих простих типів відносяться

 bool

 int

 char

 float

 double

До похідних типів відносяться

 масиви (int a[5])

 вказівники (int*a)

Існує також порожнійій тип void ((не має

значення).

У С++ прості типи можуть бути

модернізовані за допомогою ключових слів:

 short

 long

 signed

 unsigned

Константа – це  величина, яка не змінюється протягом виконання всієї програми

Цілі константи:

1389, 196, 0, -1024  

Дійсні константи:

2.1324, 1.65e-28,  .123E21.

Константи у восьмирічній системі

012, 0765

Константи у шістнадцятирічній системі

0x12, 0x1ABC, 0xFFF

Символьні константи:

‘A’, ‘5’, ‘\n’,’\0xdddd’

Рядкові константи

“Рядкові константи”, “Hello !”, “12345”, “C++”.

Іменовані константи

Загальний вигляд іменованої константи:

const int a=10;

const pi=3.14.15926;

27. Робота із вказівниками

Вказівни́к — тип даних в комп'ютерних мовах програмування. Значення вказівника посилається на інше значення, що записане будь-де в пам'яті комп'ютера (фактично містить його адресу).

Вказівник — це символічне представлення адреси. Він використовується для непрямої адресації змінних і об'єктів.

В мові С++ є операція визначення адреси — &, за допомогою якої визначається адреса комірки пам’яті, що містить задану змінну. Наприклад, якщо vr — ім’я змінної, то &vr — адреса цієї змінної.

В С++ також існують і змінні типу вказівник. Значенням змінної типу вказівник є адреса змінної або об'єкта. Нехай змінна типу вказівник має ім'я ptr, тоді в якості значення їй можна присвоїти адресу за допомогою наступного оператора:

ptr=&vr;

В мові С++ при роботі з вказівниками велике значення має операція непрямої адресації — *. Операція * дозволяє звертатися до змінної не напряму, а через вказівник, який містить адресу цієї змінної. Ця операція є одномісною і має асоціативність зліва направо. Цю операцію не слід плутати з бінарною операцією множення. Нехай ptr — вказівник, тоді *ptr — це значення змінної, на яку вказує ptr.

Опис змінних типу вказівник здійснюється за допомогою операторів наступної форми:

<тип> *<ім'я вказівника на змінну заданого типу>;

Приклад1. Опис вказівників.

int *ptri; //вказівник на змінну цілого типу

char *ptrc; //вказівник на змінну символьного типу

float *ptrf; //вказівник на змінну з плаваючою точкою

Такий спосіб оголошення вказівників виник внаслідок того, що змінні різних типів займають різну кількість комірок пам'яті. При цьому для деяких операцій з вказівниками необхідно знати об'єм відведеної пам'яті. Операція * в деякому розумінні є оберненою до операції &.

28. Основні і наслідувані атрибути.

Атрибут – це змінна зв’язана з класом або об’єктом.

Набір атрибутів назив функціонально незалежними якщо жоден з атрибутів цього набору не може бути обчислений через інші атрибути.

Атрибути функціонально незалежного набору називають основними а інші похідними. Як правило у наборі всяких даних які виділяють тільки функціонально незалежний набір. Дані цього набору визначають як атрибути, а інші дані реалізують як властивості описуючи методи доступу до них у виді обчислень. Іноді однак має сенс доповнити функціонально незалежний набір атрибутів декількома похідними атрибутами якщо це сильно вплине на якість програми (збільшить швидкодію). У цьому випадку реалізація методів-селекторів ускладнюється оскільки в кожному з них потрібно реалізувати обчислення завдань похідних атрибутів.

29. Оператори й операції

У мові C/C++ реалізовані наступні конструкції програмування:

1) Прості оператори.

2) Оператор-вираження – будь-яке вираження, що завершується крапкою з ко-

ми. Дія такого оператора полягає в обчисленні вираження.

Приклади

x++;

a*=b;

3) Порожній оператор – оператор, що складається тільки із символу крапка з

комою. Використовується там, де за синтаксисом потрібен оператор, але по

логіці програми він повинний бути відсутнім.

4) Складений оператор – група операторів, укладених у фігурні дужки. Примі-

тка – Кожен оператор завершується символом ; після закриваючої фігурної

дужки крапку з комою не ставлять.

5) Блок – складений оператор, що містить визначення. Величини, визначені в

блоці діють тільки в межах цього блоку.

Операции C++

Приоритет

Операция

Описание

17

::

контекст

16

->

операция непрямого доступа к членам класса

16

.

операция точки (доступ к полю)

16

[]

индекс массива

16

()

вызов функции

15

++ --

инкремент и декремент

15

~

поразрядное НЕ

15

!

логическое НЕ

15

-

унарный минус

15

*

операция разыменования

15

new delete

выделение памяти из кучи

14

.*

доступ к указателю-члену

13

* / %

умножение, деление и взятие остатка

12

+ -

сложение и вычитание

11

>> <<

поразрядный сдвиг вправо и влево

10

> >= <= <

условные операции

9

== !=

операции проверки на равенство

8

&

поразрядное И

7

^

поразрядное исключающее ИЛИ

6

|

поразрядное ИЛИ

5

&&

логическое И

4

||

логическое ИЛИ

3

?:

условная операция

2

= *= /= %= += -=

операции присваивания

2

<<= >>=

поразрядные операции сдвига с присваиванием

2

&= |= ^=

поразрядные логическоие операции с присваиванием

1

,

запятая

Обратите внимание, что многие операции обладают одинаковы приоритетом.

Ниже подробно рассмотрены операции, используемые наиболее часто.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]