Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Конспект_студ1.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
499 Кб
Скачать
☆

Область дії ідентифікатора

int а; // 1 глобальна змінна а

int main()

{

int b; // 2 локальна змінна b

extern int x; // 3 змінна х визначена у іншому

місці

static int с; // 4 локальна статична змінна с

а = 1; //5 присвоювання глобальної

змінної

int а; //6 локальна змінна а

а = 2; //7 присвоювання локальної змінної

::а = 3; //8 присвоювання глобальної

змінної

return 0;

}

int x = 4; // 9 визначення і ініціалізація х

В даному прикладі глобальна змінна а визначена поза всіма блоками. Пам'ять під неї виділяється в сегменті даних на початку роботи програми, областю дії є вся програма. Область видимості — вся програма, окрім рядків 6-8, оскільки в першій з них визначається локальна змінна з тим же ім'ям, область дії якої починається з точки її опису і закінчується при виході з блоку. Змінні b і с— локальні, область їх видимості — блок, але час життя різний: пам'ять під b виділяється в стеку при вході в блок і звільняється при виході з нього, а змінна з розташовується в сегменті даних і існує весь час, поки працює програма.

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

Ім'я змінної повинне бути унікальним в своїй області дії (наприклад, в одному блоці не може бути два змінних з однаковими іменами).

Вирази.

Програма оперує з даними. Власне, це і є мета будь-якої програми - перетворити вхідну інформацію у вихідну. Числа можна складати, віднімати, умножати, ділити. Тобто з різних величин можна складати вирази, результат обчислення яких - нова величина.

Вирази - це змінні, функції і константи, звані операндами, об'єднані знаками операцій.

У мові С++ у змінних і констант є тип. Є тип і у результату виразу. Наприклад

  • операції складання (+), множення (*), віднімання (-) і ділення (/), застосовані до цілих чисел, дають в результаті ціле значення. Ті ж операції можна застосувати до дійсних чисел і набути речовинного значення.

  • Операції порівняння: більше (>), менше (<), рівно (==), не рівно (!=) порівнюють значення чисел і видають логічне значення: істина (true) або неправда (false).

Порядок обчислення виразів

У кожної операції є пріоритет. Якщо у виразі декілька операцій, то першою буде виконана операція з вищим пріоритетом. Якщо ж операції одного і того ж пріоритету, вони виконуються зліва направо.

Наприклад, у виразі 2 + 3*6спочатку буде виконане множення, а потім складання, відповідно значення цього виразу число 20.

У виразі х = у+3 спочатку виконується складання, а потім привласнення, оскільки пріоритет операції привласнення нижче складання.

Для даного правила існує виключення: якщо у виразі декілька операцій привласнення, то вони виконуються справа наліво. Н-р, у виразі

х = у = 2 спочатку виконається операція привласнення значення 2 змінній у. Потім результат цієї операції - значення 2 - буде привласнено змінною х.

Для того, щоб змінити послідовність обчислення виразів, можна скористатися круглими дужками. Значенням (2 + 3) * 6 буде 30.

Дужки можуть бути вкладеними, відповідно самі внутрішні виконуються найпершими!

(2 + (3 * (4 + 5) ) - 2)

Операції мови С++

Операція

Дія

Тип операндів

Тип результату

+складання - віднімання *множення,

/ ділення

складання віднімання,

множення і ділення чисел

Цілі або дійсні числа, байти

Відповідає типу найбільш "довгого" операнду, тобто операнду, за допомогою якого можна виразити найбільше число

% залишок

Залишок від ділення першого операнду на другий

Цілі числа або байти, перетворені в цілі числа

Ціле число

- мінус

Зміна знаку числа

Знакові числа і байти

Співпадає з типом операнда

+ плюс

Унарний плюс, результат операції - незмінений операнд

Будь-які числа і байти

Співпадає з типом операнда

++ збільшити на одиницю, префіксна форма

Збільшити значення операнду на одиницю, результат — нове, збільшене значення операнду

Цілі числа

Тип результату співпадає з типом операнду

-- зменшити на одиницю, префіксна форма

Зменшити значення операнду на одиницю, результат — нове, зменшене значення операнду

Цілі числа

Тип результату співпадає з типом операнду

++ збільшити на одиницю, постфіксна форма

Збільшити значення операнда на одиницю, результат - старе, незмінене значення операнду

Цілі числа

Тип результату співпадає з типом операнду

- -зменшити на одиницю, постфіксна форма

Зменшити значення операнда на одиницю, результат - старе, незмінене значення операнда

Цілі числа

Тип результату співпадає з типом операнда

==, != рівно, не рівно

Порівняння двох операндів на рівність або нерівність

Тип операндів може бути будь-якій, але або один і той же, або такі, що між ними визначено порівняння на рівність і нерівність

Логічне значення

>, <, <=, >= -менше, більше, менше або дорівнює, більше або дорівнює

Порівняння двох операндів

Тип операндів може бути будь-якій, але або один і той же вбудований, або такі, що між ними визначено відповідне порівняння

Логічне значення

&& логічне І

Кон’юнкция двох логічних умов

Логічні значення

Логічне значення

|| логічне АБО

Диз'юнкція двох логічних значень

Логічні значення

Логічне значення

! логічне НІ

Логічне заперечення

Логічне значення

Логічне значення

& бітове І

Побітове виконання операції І

Цілі числа

Ціле число

| бітове АБО

Побітове виконання операції АБО

Цілі числа

Ціле число

^ бітове ВИКЛЮЧАЮЧЕ АБО

Побітове виконання операції ВИКЛЮЧАЮЧЕ АБО

Цілі числа

Ціле число

~ бітове НІ

Зміна кожного біта в числі на протилежний

Цілі числа

Ціле число

« зрушення вліво

Побітове зрушення лівого операнду на кількість розрядів, відповідну значенню правого операнду

Цілі числа

Ціле число

» зрушення управо

Побітове зрушення лівого операнду на кількість розрядів, відповідну значенню правого операнду

Цілі числа

Ціле число

? : умовний вираз

Трьохарна операція; якщо значення першого операнду - істина, то результат - другий операнд; якщо неправда - результат - третій операнд

Перший операнд логічне значення, другий і третій операнди можуть мати будь-який, але один і той же тип

Тип другого і третього операндів

, послідовність

Виконати вираз до коми, потім вираз після коми

Довільні

Тип другого виразу

= присвоювання

Присвоїти значення правого операнда лівому

Довільні, але для типу лівого операнда повинна існувати операція присвоєння з типом правого операнда

Тип лівого операнда

+=, -=, *=, /=, %=, |=, &=, ^=, «=, »= виконати операцію і присвоїти

Виконати відповідну операцію з лівим операндом і правим операндом і присвоїти результат лівому операнду

Типи операндів повинні бути такими, що, по-перше, відповідна арифметична операція визначена для них, а по-друге, результат може бути присвоєний лівому операнду

Тип лівого операнда