яд:
for (i = 0; i
...
Усередині дужок є три вирази, що розділяються крапкою з комою. Перший вираз - ініціалізація = 0
виконується один раз перед тим, як увійти в цикл. Друге - перевірка умови продовження циклу
Умова обчислюється, і якщо воно істинне, виконується тіло циклу. Потім здійснюється прирощення кроку:
i + +// i = i +1;
і умова обчислюється знову. Цикл закінчується, коли умова стає помилковим. p align="justify"> Контрольні питання:
. Формат оператора циклу з передумовою.
. Формат оператора циклу з передумовою
. Яким чином виконується оператор for?
Лекція № 9
Тема: Функції
План:
1. Функції введення і виведення. Опис, визначення функції.
2. Приклади функцій. Оголошення і визначення функцій
. повертається. Параметри функції. Рекурсивні функції.
. Функція main (). Функції стандартної бібліотеки.
Функції є центральне питання програмування на Turbo C + +. Такі мови програмування, як Паскаль, роблять відмінність між процедурами та функціями. У Turbo C + + функції відіграють обидві ролі. p align="justify"> Оголошення і визначення функцій
Функція - це іменована послідовність описів і операторів, що виконує будь-яке закінчила дію. Функція може приймати параметри і повертати значення. p align="justify"> Будь-яка програма на C + + складається з функцій, одна з яких повинна мати ім'я main (з неї починається виконання програми). Функція починає виконуватися в момент виклику. Будь-яка функція повинна бути оголошена і визначена. Як і для інших величин, оголошень може бути кілька, а визначення тільки одне. Оголошення функції повинне знаходитися в тексті раніше її виклику. Для того, щоб компілятор міг здійснити перевірку правильності виклику. p align="justify"> Оголошення функції (прототип, заголовок, сигнатура) задає її ім'я, тип значення і список переданих параметрів.
Визначення функції містить, крім оголошення, тіло функції, що представляє собою послідовність операторів і описів у фігурних дужках:
[клас] тип ім'я ([спісок_параметров]) [throw (виключення)] {тіло функції}
повертається
Механізм повернення з функції в викликала її функцію реалізується оператором
return [вираз];
Функція може містити декілька операторів return (це визначається потребами алгоритму). Якщо функція описана як void, вираз не вказується. Оператор return можна опускати для функції типу void, якщо повернення з неї відбувається перед закриває фігурною дужкою, і для функції main. У цій книзі для економії місця оператор return у функції main не вказаний, тому при компіляції прикладів видається попередження. Вираз, вказане після return, неявно перетвориться до типу повертається функцією значення і передається в точку виклику функції. p align="justify"> Параметри функції
Механізм параметрів є основним способом обміну інформацією між викликав і викликає функціями. Параметри, перераховані в заголовку опису функції, називаються формальними, а записані в операторі виклику функції - фактичними. p align="justify"> При виклику функції в першу чергу обчислюються висловлювання, які стоять на місці фактичних параметрів; потім в стеку виділяється пам'ять під формальні параметри функції відповідно до їх типом, і кожному з них присвоюється значення відповідного фактичного параметра. При цьому перевіряється відповідність типів і при необхідності виконуються їх перетворення. При невідповідності типів видається діагностичне повідомлення. p align="justify"> Рекурсивні функції
рекурсивно називається функція, яка викликає саму себе. Така рекурсія називається прямою. Існує ще непряма рекурсія, коли дві або більше функцій викликають один одного. Якщо функція викликає себе, в стеку створюється копія значень її параметрів, як і при виклику звичайної функції, після чого управління передається першому виконуваного оператору функції. При повторному виклику цей процес повторюється. Ясно, що для завершення обчислень кожна рекурсивна функція повинна містити хоча б одну нерекурсівние гілка алгоритму, що закінчується оператором повернення. При завершенні функції відповідна частина стека звільняється, і управління передається викликає...