Оператори в мові з
Назва роботи: Оператори в мові С ++
Предметна область: Інформатика, кібернетика та програмування
Опис: Оператори в мові С ++ Математичні оператори У мові С ++ оператори керують послідовністю виконання виразів, повертають результати обчислень або нічого не роблять (порожні оператори). Оператори послідовної дії виконують о.
Розмір файлу: 130.5 KB
Роботу скачали: 46 чол.
Оператори в мові С ++
У мові С ++ оператори керують послідовністю виконання виразів. повертають результати обчислень або нічого не роблять (порожні оператори). Оператори послідовної дії виконують певні дії над операндами # 150; одне за іншим, як показано на схемі рис. 3.1.
Мал. 3.1. Позначення операторів послідовної дії на блок-схемі алгоритму програми
Всі вирази мови С ++ закінчуються крапкою з комою. Порожні оператори являють собою просто крапку з комою. Найпростіший приклад вираження # 150; це операція присвоєння значення:
Тут a і b # 150; операнди, а x # 150; результат операції. На відміну від алгебри, цей вислів не означає, що x дорівнює a + b. Цей вираз слід розуміти так: дамо результат підсумовування значень змінних a і b змінної x. Незважаючи на те, що в цьому виразі одночасно виконуються дві дії (обчислення суми і привласнення значення), після нього встановлюється тільки один символ крапки з комою.
Оператор присвоєння (=) присвоює результати операцій, що виконуються над операндами, розташованими праворуч від знака рівності, операнду, що знаходиться зліва від нього.
Арифметичні оператори. Існують п'ять арифметичних операторів. складання (+), віднімання (-), множення (*), цілочисельного ділення (/) і ділення по модулю (%).
Віднімання беззнакових чисел може піднести сюрприз, якщо отримана різниця виявиться негативним числом.
Цілочисельне ділення дещо відрізняється від звичайного. У разі цілочисельного ділення числа 21 на число 4 (21/4) у відповіді виходить 5. Щоб отримати залишок, число 21 необхідно розділити по модулю на 4 (21% 4), в результаті отримаємо залишок 1.
Для отримання дрібного результату потрібно використовувати речові числа. Наприклад, вираз 21.0 / 4.0 дасть дробовий відповідь 5.25. Якщо ділене і дільник мають дійсний тип, то результат також буде мати дійсний тип. Але якщо результат присвоюється цілочисельний змінної, то значення буде усечено.
Дуже часто в програмах до змінних додається (або віднімається) одиниця. У мові С ++ збільшення значення на одиницю називається инкрементом. а зменшення # 150; декрементом. Для цих дій передбачені спеціальні оператори.
Оператор инкремента (++) збільшує значення змінної на одиницю, а оператор декремента (-) зменшує його на одиницю. Так, якщо змінну Counter необхідно збільшити на одиницю, то можна використовувати такий вираз:
Counter ++; // Збільшити значення Counter на одиницю
Цей оператор еквівалентний тому детальному:
Counter = Counter +1;
Можна було б подумати, що мова С ++ отримав своє ім'я після застосування оператора збільшення до імені мови його попередника С. Так і є: С ++ є інкрементного збільшенням мови С.
Як оператор інкремента (++), так і оператор декремента (-) існують в двох варіантах: префіксному і Постфіксний. Префіксний варіант записується перед ім'ям змінної (++ myAge), а постфіксний # 150; після нього (myAge ++). У простому вираженні варіант використання не має великого значення, але в складному, при виконанні збільшення однієї змінної з наступним присвоєнням результату іншої змінної, це має велике значення.
Префіксний оператор обчислюється до присвоєння. а постфіксний # 150; після. Розглянемо наступний приклад. Припустимо, що целочисленная змінна x має значення 5. Вираз int a = ++ x; повідомляє компілятору, що змінну x необхідно збільшити на одиницю (зробивши рівній 6), а потім привласнити це значення змінної а. Отже, значення змінної а тепер дорівнює 6 і значення змінної x теж одно 6.
Якщо потім написати int b = x ++. то компілятор отримає команду спочатку привласнити змінної b поточне значення змінної x (рівне 6), а потім збільшити змінну x на одиницю. У цьому випадку значення змінної b дорівнюватиме 6, а змінної x # 150; 7.
У мові C ++, як і в будь-якому іншому мовою високого рівня, використовуються математичні функції. Декларації математичних функцій містяться в файлі
В даному випадку прийнято: a = 81, b = 9, c = 65536. Генерируемая послідовність чисел T [i] залежить від ключа T [0]. який вводиться користувачем. Результати роботи програми зведені в табл. 3.2.
Необхідно зауважити, що в програмі з лістингу 3.1 можна було б обійтися і без файлу
T [i +1] = fmod (x. C);
ми повинні були б записати
Втім, якщо вам будуть потрібні використовувати в програмі випадкові числа, то для цього не обов'язково писати власні функції. Можна скористатися бібліотечної функцією rand () з бібліотеки
Лістинг 3.2. Використання бібліотечної функції rand () для генерації псевдовипадкових чисел
using namespace std;
for (int i = 0; i<10; i++)

Якщо запустити цю програму кілька разів, то вийде один і той же результат. Значить, ми знову маємо справу з псевдовипадковими, а не з істинно випадковими, числами.
Логічний оператор AND (І) оцінює два операнда, і якщо обидва вони істинні (true), то результатом оператора AND також буде true. Оператор AND в тексті програми позначається як: « ». приклад:
if ((x == 5) (y == 5))
Це логічне вираз поверне значення true. якщо обидві змінні (x і y) рівні 5, і значення false. якщо хоча б одна з них не дорівнює 5.
Логічний оператор OR (АБО) також оцінює два операнда. Якщо хоча б один з них має значення true. то результатом цього оператора також буде true. Оператор OR в тексті програми позначається як: «|| ».
Це логічне вираз поверне значення true. якщо значення якої змінної x. або змінної y. або обидва вони рівні 5.
Логічний оператор NOT (НЕ) оцінює тільки один операнд. Результат оператора NOT протилежний значення операнда. Оператор NOT в тексті програми позначається як знак оклику: «. », Наприклад:
Це логічне вираз поверне значення true тільки в тому випадку, якщо x не дорівнює 5. Це ж вираз можна записати і по-іншому
Існує шість операторів відносини, вони представлені в табл. 3.3.
- Оператори переходів по умові
Умовний оператор if. Цей оператор дозволяє перевірити умова (наприклад, чи рівні дві змінні) і в залежності від результату виконати ту чи іншу ділянку коду. На блок-схемі алгоритму програми цей оператор позначається наступним чином
Мал. 3.2. Позначення умовного оператора if на блок-схемі алгоритму програми
Найпростіша форма оператора if має вигляд:
Вираз в дужках може бути будь-яким, але зазвичай воно містить оператори відносини. Якщо цей вислів повертає значення false. то наступний оператор опускається. Якщо ж воно повертає значення true. то оператор виконується.
Блок операторів, укладених у фігурні дужки, еквівалентний єдиному оператору. Тому умовний оператор можна використовувати також наступним чином:
Досить часто в програмах потрібно, щоб при виконанні умови (тобто коли воно поверне значення true) програма виконувала один блок коду, а при його невиконанні (тобто коли умова поверне значення false) # 150; інший. У цьому випадку використовується ключове слово else. як показано в прикладі.
Замість оператора if можна використовувати так званий потрійний умовний оператор. Це єдиний оператор в мові С ++, який працює відразу з трьома операндами. Він записується в наступній формі
(Вираз 1). (Вираз 2). (Вираз 3)
Цей рядок можна прочитати так: «Якщо вираз 1 істинно, повернути значення виразу 2. в іншому випадку повернути значення виразу 3». Як правило, це значення присвоюється змінної. Наприклад, рядок програмного коду
еквівалентна наступного виразу
проте вона набагато коротше.
Оператор switch. У деяких ситуаціях застосування оператора if може привести до виникнення дуже складних конструкцій з великою кількістю вкладених операторів. Мова С ++ має альтернативним рішенням цієї проблеми # 150; оператором switch. Цей оператор має наступний синтаксис:
case значення Один: оператор;
case значення Два: оператор;
case значення N. оператор;
Вираз в дужках оператора switch є будь-яке припустиме вираз мови С ++, а оператор # 150; це будь-який допустимий оператор або блок операторів. Вираз повертає (або може бути однозначно перетворено в) цілочисельне значення. Тому використання логічних операцій або виразів порівняння тут неприпустимо.
Перехід здійснюється до тієї рядку оператора switch. де після ключового слова case знаходиться значення. відповідне результату виразу. З цього рядка виконання операторів триває до тих пір, поки оператор switch не завершиться, або поки не зустрінеться оператор break. Якщо жодне значення case не відповідає результату виразу, виконуються оператори, такі за ключовим словом default. а в разі його відсутності оператор switch завершується.
Лістинг 3.3. Приклад використання оператора switch
1: #include
4: using namespace std;
5: unsigned short int number;
6: cout <<“Enter a number between 1 and 5: “;
7: cin >> number;
8: switch (number)
10: case 0: cout <<“Too small, sorry!”;
12: case 5: cout <<“Good job! “ < 13: case 4: cout <<“Nice Pick! “ < 14: case 3: cout <<“Excellent! “ < 15: case 2: cout <<“Masterful! “ < 16: case 1: cout <<“Incredible! “ < 18: default: cout <<“Too large! ” < 21: cout < Залежно від цього кокові форми діляться на: монококкі або мікрококи клітини коків розташовуються поодинці; диплококки коки розташовуються попарно так як поділ клітин відбувається в одній площині; стрептококи коки розташовуються у вигляді ланцюжків нагадують нитки бус поділ клітин відбувається в одній площині причому клітини після поділу не відокремлюються один від одного; Мал. У бацил розмір суперечки менше товщини палички і тому форма клітини не змінюється. Спори у клостридії по діаметру більше товщини клітини і тому при. Найбільш відома і широко використовується класифікація бактерій Берги. Укладачі Короткого визначника бактерій Берги Дев'яте видання якого випущено в 1980 р Згідно з цією класифікацією царство прокариот в залежності від ставлення до світла розділене на 2 відділи: відділ ціанобактерій фотосинтезирующие і відділ скотобактерій нефотосинтезуючі. Звіт про проходження практики Лянторское родовище знаходиться на пізній стадії розробки характеризується високою обводненість видобутої нафти. В даний час цими установками обладнано близько 10 експлуатаційного фонду свердловин і цей спосіб видобутку нафти ще тривалий час залишиться найпоширенішим. Цех видобутку нафти і газу ЦДНГ 7 є структурним підрозділом нафтогазовидобувного управління Лянторнефть. ЦДНГ 7 здійснює видобуток збір і всередині промисловий транспорт нафти і газу.