Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
шпори програмування 20-30.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
63 Кб
Скачать
☆

29. Основні оператори: присвоєння , розгалуження, множинний вибір, цикл.

В C++, оператор присвоєння, '=', це оператор використовний для присвоєння . Як і більшість інших операторів в С++, він може бути перевантаженим.

Оператор присвоєння копіюванням, часто він називається просто «оператор присвоєння», це особливий випадок оператора, де джерело (права частина) і призначення (ліва частина) одного й того самого класу. Це одна зі спеціальних функцій членів, це означає, що цей оператор автоматично створюється компілятором, якщо його не визначив розробник. Версія створена компілятором виконує почленне копіювання, де кожний з членів копіюється за допомогою свого власного оператора присвоєння (який у свою чергу може бути визначений програмістом або компілятором).

Оператор присвоєння копіюванням відрізняється від конструктора копіювання тим, що він має очистити члени даних об'єкта по лівий бік оператора присвоєння (і також вірно обробити самоприсвоєння), тоді як конструктор копіювання надає значення неініціалізованим членам.[1] 

 Оператор розгалуження if в мові програмування Сі Оператор розгалуження призначений для виконання тих або інших дій в залежності від істинності або хибності деякої умови. Основний оператор цього блоку в Сі - if . else не має ключового слова then, як у Паскалі, проте обов'язково вимагає, щоб умова, що перевіряється, розміщувалася б у круглих дужках. Оператор, що слідує за логічним виразом, є then- частиною оператору if .else. Синтаксис оператора : if (<умова>) <оператор1>; [else <оператор2;>]   Рис. 1.6. Синтаксис оператора if

Умова хибна, якщо вона дорівнює нулю, в інших випадках вона істинна. Це означає, що навіть від'ємні значення розглядаються як істинні. До того ж, умова, що перевіряється, повинна бути скалярною, тобто зводитися до простого значення, яке можливо перевірити на рівність нулю. Взагалі не рекомендується використання змінних типу float або double в логічних виразах перевірки умов з причини недостатньої точності подібних виразів. Більш досвідчені програмісти скорочують оператори типу: if (вираз!=0) оператор; до наступного: if (вираз) оператор; Обидва логічні вирази функціонально еквівалентні, тому що будь-яке ненульове значення розцінюється як істина. Це можна довести наступними програмами: Приклад 1. /* програма виводить результат ділення двох дійсних чисел */ #include<stdio.h> #include<conio.h> void main() { float a,b,c; printf("Введiть число a :\n"); scanf("%f",&a); printf("Введiть число b :\n"); scanf("%f",&b); if (b==0) printf("Дiлення да нуль !\n"); else { c=a/b; printf("a : b == %g",c); }; }

До операторів вибору відносять оператор умовного переходу if та оператор-перемикачswitch.

Оператор умовного переходу if використовується для розгалуження процесу обчислень на два напрямки і має такий формат запису: if (вираз) оператор 1; else оператор 2;, де вираз — це вираз, який має логічне значення (true — «істина» або false — «неправда»). Реалізується оператор if таким чином: спочатку обчислюється вираз і, якщо значення виразу не дорівнює нулю («істина»), виконується оператор 1, в протилежному випадку —оператор 2 і далі управління передається оператору, що є наступним з умовниx операторівif, наприклад:  if(i<j) і++; else {

j = i-3; i++; 

}

Оператори циклу використовують для здійснення багаторазового повторення деякої послідовності дій. Кожен цикл складаєтся з тіла циклу, тобто операторів, що виконуються декіль­ка разів. Один прохід циклу називається ітерацією. У мові C++ існують три оператори циклу: while, do while, for.

Оператор циклу for реалізується таким чином:

□      виконується вираз ініціювання (виконання цієї нотаціi може бути здійснено до оператора for);

□      обчислюється вираз-умова;

□      якщо умовний вираз приймає значення «істина» — виконуються оператори циклу;

□      обчислюється вираз ітерації;

□      знову перевіряється умова;

□      як тільки умова прийме значення 0 («неправда»), керування передається оператору, що розташований за оператором циклу for.

У програмі присутні два цикли: зовнішній цикл (do while), у якому змінює свої значення змінна х, і внутрішній (for), де перебираються всі значення змінної у. Обидва ці цикли можна було б організувати за допомогою яких завгодно операторів циклу.

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