For (выражение 1; выражение 2; выражение 3)
оператор;
Выражение 1 – для инициализации параметра (вычисляется только один раз перед началом выполнения цикла)
Выражение 2 – для проверки условия окончания цикла (выполняется перед каждым шагом цикла)
Выражение 3 – для модификации параметра (вычисляется в конце каждого выполнения тела цикла, используется для коррекции значения параметра цикла)
Пример вычисления суммы n целых чисел:
#include <iostream.h>
Void main()
{ int i, Summa ,n;
cout<<’\n’<<»Сколько целых элементов надо сложить? «;
cin>>n;
Summa=0;
for (i=1;i<=n;i++)
Summa+=i;
cout<<’\n’<<»Сумма: «<<Summa;}r (выражение Цикл с параметром [for]
For (выражение 1; выражение 2; выражение 3)
оператор;
Выражение 1 – для инициализации параметра (вычисляется только один раз перед началом выполнения цикла)
Выражение 2 – для проверки условия окончания цикла (выполняется перед каждым шагом цикла)
Выражение 3 – для модификации параметра (вычисляется в конце каждого выполнения тела цикла, используется для коррекции значения параметра цикла)
Пример вычисления суммы n целых чисел:
#include <iostream.h>
Void main()
{ int i, Summa ,n;
cout<<’\n’<<»Сколько целых элементов надо сложить? «;
cin>>n;
Summa=0;
for (i=1;i<=n;i++)
Summa+=i;
cout<<’\n’<<»Сумма: «<<Summa;} 1; выражение 2; выражение 3)
оператор;
Выражение 1 – для инициализации параметра (вычисляется только один раз перед началом выполнения цикла)
Выражение 2 – для проверки условия окончания цикла (выполняется перед каждым шагом цикла)
Выражение 3 – для модификации параметра (вычисляется в конце каждого выполнения тела цикла, используется для коррекции значения параметра цикла)
Пример вычисления суммы n целых чисел:
#include <iostream.h>
void main()
{ int i, Summa ,n;
cout<<’\n’<<»Сколько целых элементов надо сложить? «;
cin>>n;
Summa=0;
for (i=1;i<=n;i++)
Summa+=i;
cout<<’\n’<<»Сумма: «<<Summa;}
Оператор continue
Оператор continue, как и оператор break, используется только внутри операторов цикла, но в отличие от него выполнение программы продолжается не с оператора, следующего за прерванным оператором, а с начала прерванного оператора. Формат оператора следующий:
continue;
Пример:
int main() { int a,b; for (a=1,b=0; a<100; b+="a,a++)" { if (b%2) continue; ... /* обработка четных сумм */ } return 0; }
Когда сумма чисел от 1 до а становится нечетной, оператор continue передает управление на очередную итерацию цикла for, не выполняя операторы обработки четных сумм.
Оператор continue, как и оператор break, прерывает самый внутренний из объемлющих его циклов.
Оператор Goto
Использование оператора безусловного перехода goto в практике программирования на языке программирования С настоятельно не рекомендуется, так как он затрудняет понимание программ и возможность их модификаций.
Формат этого оператора следующий:
goto имя-метки; ... имя-метки: оператор;
Оператор goto передает управление на оператор, помеченный меткой имя-метки. Помеченный оператор должен находиться в той же функции, что и оператор goto, а используемая метка должна быть уникальной, т.е. одно имя-метки не может быть использовано для разных операторов программы. Имя-метки - это идентификатор.
Любой оператор в составном операторе может иметь свою метку. Используя оператор goto, можно передавать управление внутрь составного оператора. Но нужно быть осторожным при входе в составной оператор, содержащий объявления переменных с инициализацией, так как объявления располагаются перед выполняемыми операторами и значения объявленных переменных при таком переходе будут не определены.
Определение функции
Определение функции состоит из двух частей: заголовка и тела. Заголовок определяет имя функции, ее тип и формальные параметры, тело определяет действия над данными, выполняемые функцией. Возращающее функцией значение передается в вызывающюю программу опрератором return (выражение). Значение "выражения" и есть результат функции (возращаемого значения). Если в нашей программе функция физически следует за вызывающей ее функцией main, то надо в последней объявить функцию внешней с помощью описателя extern: extern int fun(); или еще проще int fun();. В противном случае при компиляции будет выдана ошибка. Всякая функция имеет вид:
[тип] имя([список формальных параметров]) описания формальных параметров; { описания; операторы; } |
Здесь квадратные скобки указываютя, что заключенная в них конструкция может отсутствовать. По умолчанию тип функции целый. Описание формальных параметров расположено между списком параметров и левой скобкой. Каждое описание заканчивается точкой с запятой. Формальные параметры функции полностью локализированы в ней и недоступны для других функций. Аргументы функции передаются по значению, а не их адреса.
Прототип функции
Прототипом функции в языке Си или C++ называется объявление функции, которое не содержит тело функции, но указывает имя функции, арность, типы аргументов и возвращаемый тип данных. В то время как определение функции описывает, что именно делает функция, прототип функции может восприниматься как описание её интерфейса.
В прототипе имена аргументов являются необязательными, тем не менее, необходимо указывать тип вместе со всеми модификаторами (например, указатель ли это или константный аргумент).
В качестве примера, рассмотрим следующий прототип функции:
int foo(int n);
Этот прототип объявляет функцию с именем «foo», которая принимает один аргумент «n» целого типа и возвращает целое число. Определение функции может располагаться где угодно в программе, но определение требуется только в случае её использования.