Смекни!
smekni.com

Мова програмування С++ (стр. 3 из 7)

Ранг Операції Напрямок виконання
1 () (виклик функції), [], ->, "." >>>
2 !, ~, +, - (унарні), ++, --, *, (тип), sizeof, (new,delete – Сі++) <<<
3 .* , ->* - Сі++ >>>
4 *, /, % (бінарні) >>>
5 +, - (бінарні) >>>
6 <<, >> >>>
7 <, <=, =>, > >>>
8 ==, != >>>
9 & (порозрядна) >>>
10 ^ >>>
11 | (порозрядна) >>>
12 && (логічна) >>>
13 || (логічна) >>>
14 ?: (тернарна) <<<
15 =, +=, -=, *=, /=, %=, &=, ^=, |=, <<=,>>= <<<
16 "," (кома) >>>

Основні матичні функції мови С/С++, опис яких міститься у файлі <math.h>, наведені у таблиці 3.4.

Таблиця 3.4

Матичний запис Функція Пояснення Приклад
arccos x acos Повертає арккосинус кута, рівного х радіан acos(x);
arcsin x asin Повертає арксинус аргументу х в радіанах asin(x);
arctg x atan Повертає арктангенс аргументу х в радіанах atan(x);
аrctg(x/у) atan2 Повертає арктангенс відношення параметрів х та у в радіанах atan2(x, y);
- ceil Заокруглює дійсне значення х до найближчого більшого цілого і повертає його як дійсне ceil(x);
cosx cos Повертає косинус кута, рівного х радіан cos(x);
chx=1/2(ex+e-x) cosh Повертає гіперболічний косинус аргументу, рівного х радіан cosh(x);
ex exp Повертає результат піднесення числа е до степені х exp(x);
|x| fabs Повертає модуль дійсного числа х fabs(x);
- floor Заокруглює дійсне число до найближчого меншого числа і повертає результат як дійсний floor(x);
- fmod Повертає залишок ділення х на у. Аналогічна операції %, але працює з дійсними числами fmod(x, y);
ln x log Повертає значення натурального логарифму х log(x);
lg x log10 Повертає значення десяткового логарифму х log10(x);
xy pow Вираховує значення числа х у степені у pow(x, y);
sinx sin Повертає синус кута, рівного х радіан sin(x);
sh x=1/2 (ex-e-x) sinh Повертає гіперболічний синус кута, рівного х радіан sinh(x);
sqrt Визначає корінь квадратний числа х sqrt(x);
tg x tan Повертає тангенс кута, рівного х радіан tan(x);
tgh x tanh Повертає гіперболічний тангенс кута, рівного х радіан tanh(x);

Таблиця 3.5 Операції присвоювання

Операція Пояснення Приклад
= Присвоїти значення виразу-операнду з правої частини операнду лівої частини Р=10.5-3*х
*= Присвоїти операнду лівої частини добуток значень обох операндів Р*=2 еквівалентно Р=Р*2
/= Присвоїти операнду лівої частини результат від ділення значення лівого операнда на значення правого Р/=(2.2-х) еквівалентноР=Р/(2.2-х)
%= Присвоїти лівому операнду залишок від ділення цілочисельного значення лівого операнда на цілочисельне значення правого операнда Р%=3 еквівалентно Р=Р%3
+= Присвоїти операнду лівої частини суму значень обох операндів А+=В еквівалентно А=А+В
-= Присвоїти операнду лівої частини різницю значень лівого і правого операндів Х-=3.4-у еквівалентно Х=Х-(3.4-у)

4. Основні оператори мови С++

4.1 СКЛАДОВІ ОПЕРАТОРИ

Складовий оператор – це два або більше оператори, що повинні виконуватися у певній частині програми як один оператор. До складових операторів належать власне складовий оператор та блок. В обох випадках - це послідовність операторів, розміщених у фігурних дужках. Блок відрізняється від складового оператора наявністю в його тілі оператора визначення об’єкту (змінної, константи, масиву тощо).

Наприклад:

{n++; summa+=n;}//це складовий оператор

{int n=0; n++;summa+=n;} //це блок

4.2 ОПЕРАТОРИ РОЗГАЛУЖЕННЯ

Оператор умовного переходу if використовується для спрямування ходу програми за однією з гілок обчислень в залежності від певної умови.

Загальна форма запису:

if (умова) оператор1;

else оператор2;

Наприклад, для знаходження коренів квадратного рівняння використовується запис:

if (d>=0)

{x1=(-b-sqrt(d))/(2*a);

x2=(-b+sqrt(d))/(2*a);

cout<< “&bsol;nx1=”<<x1<<“x2=”<<x2;

}

else cout<<“&bsol;nРозв¢язку немає”;

Якщо оператор1 та/або оператор2 містять два або більше операторів, їх беруть у фігурні дужки {}, тобто вони є складовими. Оператор if перевіряє істинність чи хибність умови. Якщо умова справджується (не рівна 0), тоді виконується оператор1, інакше, при хибності умови (==0), виконується оператор2.

Другу частину оператора (else оператор2;) можна опускати. Така його форма має назву “скороченої”. Тоді у випадку хибності умови, керування передається до оператора, що йде услід за умовним оператором.

Якщо оператор1 і оператор2 в свою чергу є операторами if , вони є вкладеними.

Загальний вигляд вкладеного оператора if: if (умова1) оператор1;

else if (умова2) оператор2;

else оператор3;

В якості умов у мовах С/С++ використовуються стандартні операції відношення: <, <=, >, >=, !=, ==. Пари наведених символів не можна відокремлювати чи переставляти.

Для об’єднання в умові декількох умов використовуються логічні операції. Наведемо їх перелік в порядку спадання пріоритету: ! (заперечення або логічне НІ), && (кон’юнкція або логічне І), || (диз’юнкція або логічне АБО). Між позначками && та || не дозволяються пробіли.

Наприклад: 0<x&&x<=100

((!x)&&(y>0)||((z==1)&&(k>0))

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

Загальна форма запису оператора вибору:

switch(вираз)

{ case consnant1: оператори; break;

сase consnantN: оператори;break;

default: оператори; },

де consnant1…consnantN - цілі або символьні константи. При виконанні оператора switch, обраховується вираз, записаний після switch і його значення послідовно порівнюється з константами, записаними після case. При першому ж співпаданні виконуються оператори, позначені даною міткою. Якщо виконувані оператори не містять оператор переходу break, далі виконуватимуться оператори усіх наступних варіантів. Якщо значення виразу, записаного після switch, не співпало з жодною константою, виконуватимуться оператори після мітки default, яка не є обов’язковою.

4.3 ОператорИ циклУ

Цикл з параметром for:

Основна форма запису:

for (вираз_1; вираз_2; вираз_3 ) оператор;

де вираз_1 – ініціалізація початкового значення параметру циклу;

вираз_2 – перевірка умови на продовження циклу;

вираз_3 – зміна параметру циклу з кожною ітерацією (корекція);

оператор – тіло циклу, простий або складовий оператор.

Цикл продовжується до тих пір, поки вираз_3 не стане рівним 0. Будь-який вираз можна опускати, залишаючи натомість “ ; ”.

Приклади використання циклу з параметром:

1) Зменшення параметра:

for ( n=10; n>0; n--)

{ <тіло циклу>}

2) Зміна кроку коректування:

for ( n=2; n>60; n+=13)

{ <тіло циклу>}

3)Корекція може здійснюватися не лише за допомогою додавання чи віднімання:

for ( d=100.0; d<150.0;d*=1.1)

{ <тіло циклу>}

for (x=1;y<=75;y=5*(x++)+10)

{ <тіло циклу>}

5) Можна використовувати декілька виразів ініціалізації або модифікації:

for (x=1, y=0; x<10;x++,y+=x)

{ <тіло циклу>}.

Цикл з передумовою while:

Основна форма запису:

while (умова)

оператор;

де оператор – це простий, складовий або порожній оператор.

Цикл виконується до тих пір, поки умова приймає значення “true”, тобто вираз у дужках повертає ненульовий результат. У циклі з передумовою спочатку перевіряється істинність умови, а потім виконується оператор тіла циклу. Тому цикл while не виконується жодного разу, якщо від початку умова буде хибною.

Цикл з післяумовою do – while:

Основна форма запису:

do

оператор;

while (умова);

де оператор – це простий, складовий чи порожній оператор.

Тіло циклу виконується до тих пір, поки умова справджується. Оскільки в циклі do–while умова перевіряється в кінці, оператор тіла циклу виконуватиметься хоча б один раз.

Для запобігання безкінечності циклу в тілі циклів while та do–while потрібно передбачити зміну параметрів, які входять до умови.


4.4 ОПЕРАТОРИ ПЕРЕХОДУ

Оператори переходу виконують безумовну передачу управління.

1) goto < мітка> - оператор безумовного переходу. Керування передається оператору з даною міткою:

<мітка>: оператор;

В мові С мітка не декларується.

2) break - оператор перериває цикл або перемикач, управління передається на перший наступний оператор;