- •Тема 9. Функції користувача.......................................................................................49
- •Тема 10. Структури......................................................................................................59
- •1.1. Структура програми
- •1.2. Етапи виконання програми
- •1.3. Порядок запуску програми
- •2.1. Функції вводу/виводу мови с
- •Пріоритет виконання операцій
- •Операції присвоювання
- •4.1. Складові оператори
- •4.2. Оператори розгалуження
- •If (умова) оператор1;
- •4.3. ОператорИ циклУ
- •For (вираз_1; вираз_2; вираз_3 ) оператор;
- •4.4. Оператори переходу
- •Тема 5. Вказівники та операції над ними
- •5.1. Поняття вказівника
- •5.2. Дії над вказівниками
- •Контрольні запитання:
- •Тема 6. Робота з одновимірними масивами
- •Статичні та динамічні масиви
- •6.2. Рядки, як одновимірні масиви символів
- •Тема 7. Двовимірні масиви
- •Наприклад:
- •Тема 8. Символьна інформація та рядки
- •8.1. Збереження символьної інформації
- •8.2. Функції вводу/виводу при роботі з рядками
- •8.3. Спеціальні функції для роботи з рядками та символами
- •Тема 9. Функції користувача
- •9.1. Функції: визначення, опис, виклик
- •9.2. Передача масивів у функцію
- •9.4. Функції зі змінною кількістю параметрів
- •Тема 10. Структури
- •Контрольні запитання:
- •Список використаної літератури
4.2. Оператори розгалуження
Оператор умовного переходу if використовується для спрямування ходу програми за однією з гілок обчислень в залежності від певної умови.
Загальна форма запису:
If (умова) оператор1;
else оператор2;
Наприклад, для знаходження коренів квадратного рівняння використовується запис:
if (d>=0)
{x1=(-b-sqrt(d))/(2*a);
x2=(-b+sqrt(d))/(2*a);
cout<< “\nx1=”<<x1<<“x2=”<<x2;
}
else cout<<“\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. Будь-який вираз можна опускати, залишаючи натомість “ ; ”.
Приклади використання циклу з параметром:
-
Зменшення параметра:
for ( n=10; n>0; n--)
{ <тіло циклу>}
-
Зміна кроку коректування:
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)
{ <тіло циклу>}
-
Можна використовувати декілька виразів ініціалізації або модифікації:
for (x=1, y=0; x<10;x++,y+=x)
{ <тіло циклу>}.
Цикл з передумовою while:
Основна форма запису:
while (умова)
оператор;
де оператор – це простий, складовий або порожній оператор.
Цикл виконується до тих пір, поки умова приймає значення “true”, тобто вираз у дужках повертає ненульовий результат. У циклі з передумовою спочатку перевіряється істинність умови, а потім виконується оператор тіла циклу. Тому цикл while не виконується жодного разу, якщо від початку умова буде хибною.
Цикл з післяумовою do – while:
Основна форма запису:
do
оператор;
while (умова);
де оператор – це простий, складовий чи порожній оператор.
Тіло циклу виконується до тих пір, поки умова справджується. Оскільки в циклі do–while умова перевіряється в кінці, оператор тіла циклу виконуватиметься хоча б один раз.
Для запобігання безкінечності циклу в тілі циклів while та do–while потрібно передбачити зміну параметрів, які входять до умови.