- •Тема 5. Вказівними та операції над ними..................................................................31
- •Тема 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.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 потрібно передбачити зміну параметрів, які входять до умови.
4.4. Оператори переходу
Оператори переходу виконують безумовну передачу управління.
goto < мітка> - оператор безумовного переходу. Керування передається оператору з даною міткою:
<мітка>: оператор;
В мові С мітка не декларується.
break- оператор перериває цикл або перемикач, управління передається на перший наступний оператор;
while (умова)
{< оператори>
if (<вираз-умова>) break;
<оператори>}.
Тобто оператор break доцільно використовувати, коли умову продовження ітерації потрібно перевіряти в тілі циклу.
continue– припинення поточної і перехід до наступної ітерації циклу. Використовується, коли тіло циклу містить розгалуження.
3) return – здійснює повернення результату з тіла функції.
Контрольні запитання:
Назвіть основні керуючі оператори структурного програмування.
Що таке оператор “вираз”, порожній оператор?
Яка відмінність між складовим оператором та блоком?
Назвіть оператори вибору. Який синтаксис умовного оператора?
В чому помилковість наступної послідовності?
If(j>0); {int n; n=2*k;} else n=-j; j++;
6. Коли зручно використовувати перемикач? Перепишіть наступний фрагмент програми з використанням оператора switch:
if (ch==’A’)
a_grade++;
else if (ch==’B’)
b_grade++;
else if (ch==’C’)
c_grade++;
else if (ch==’D’)
d_grade++;
else f_grade++;
7. Назвіть відомі Вам оператори циклу та їх синтаксис. Які з частин циклічних операторів можна опускати?
8. Яким буде результат виконання наступних операторів циклу:
a) int i;
for (i=0; i<5; i++)
cout << “\t”<<i;
cout<<”\n”;
б) int k=8;
do
cout<<”k=”<<k<<”\n”;
while(k++<5);
9. Поясніть різницю між дією операторів break та continue на прикладах двох фрагментів програми, наведених нижче:
1) for (int i=-10, int s=1; i<10; i++)
{s/=++i; if (i==0) break; cout<<”\n”<<s;}
2) for (int i=-10, int s=1; i<10; i++)
{s/=++i; if (i==0) continue; cout<<”\n”<<s;}
10. Для чого використовується оператор передачі керування goto?