Мегаобучалка Главная | О нас | Обратная связь


Операторы прерывания выполнения блока break, continue



2016-01-26 676 Обсуждений (0)
Операторы прерывания выполнения блока break, continue 0.00 из 5.00 0 оценок




В теле любого цикла можно использовать операторы break и continue. Оператор break позволяет выйти из цикла, не завершая его. Оператор continue позволяет пропустить часть операторов тела цикла и начать новую итерацию.

Пример. Вывести числа от 0 до 99 ниже главной диагонали.

for(i=0; i<10; i++) {

for(j=0; j<10; j++) {

if(j>i)

break;

printf("%2d ",i*10+j);

}

printf("\n");

}

Пример: Вывести числа от 0 до 99 исключая числа, оканчивающиеся на 5 или 8.

for(i=0; i<10; i++) {

for(j=0; j<10; j++) {

if((j==8) || (j==5)))

continue;

printf("%2d ",i*10+j);

}

printf("\n");

}

При вложенных циклах действия операторов break и continue распространяется только на саму внутреннюю структуру, в которой они содержатся.

Оператор return.

По окончании выполнения вызываемой функции осуществляется возврат значения в точку ее вызова. Это значение присваивается переменной, тип которой должен соответствовать типу возвращаемого значения функции. Функция может передать в вызывающую программу только одно значение. Для передачи возвращаемого значения в вызывающую функцию используется оператор return в форме

return(ВозвращаемоеЗначение);

Действие оператора следующее: значение выражения, заключенного в скобки, вычисляется и передается в вызывающую функцию. Возвращаемое значение может использоваться в вызывающей программе как часть некоторого выражения.

Оператор return также завершает выполнение функции и передает управление следующему оператору в вызывающей функции. Оператор return не обязательно должен находиться в конце тела функции.

Функции могут и не возвращать значения, а просто выполнять некоторые вычисления. В этом случае указывается пустой тип возвращаемого значения void, а оператор return может либо отсутствовать, либо не возвращать никакое значение:

return (0);

Функции. Прототип функции. Определение функции. Вызов функции.

Функция — это самостоятельная единица программы, которая спроектирована для реализации конкретной подзадачи.

Функция является подпрограммой, которая может содержаться в основной программе, а может быть создана отдельно (в библиотеке). Каждая функция выполняет в программе определенные действия.

Прототип функции.

Прототипом функции в языке Си называется объявление функции, не содержащее тела функции, но указывающее имя функции, типы аргументов и возвращаемый тип данных. В то время как определение функции описывает, что именно делает функция, прототип функции может восприниматься как описание её интерфейса.

В общем виде прототип функции должен выглядеть таким образом:

тип имя_функции(тип имя_парам1, тип имя_парам2, ..., имя_парамN);

Использование имен параметров не обязательно. Однако они дают возможность компилятору при наличии ошибки указать имена, для которых обнаружено несоответствие типов.

пример объявления функции:

/ / Объявление прототипа функции с двумя целыми параметрами

/ / функция принимает два аргумента и возвращает их сумму

int sum(int num1, int num2);

В языках C, функции должны быть объявлены до момента их вызова. Вы можете объявить функцию, при этом функция может возвращать значение или — нет, имя функции присваивает программист, типы данных параметров указываются в соответствии с передаваемыми в функцию значениями. Имена аргументов, при объявления прототипов являются необязательными:

int sum(int , int ); // тот же прототип функции

Определение функции.

Определение функций

returnDataType functionName( dataType argName1, dataType argName2, ..., dataType argNameN)

{

// тело функции

}

Рассмотрим определение функции на примере функции sum.

// определение функции, которая суммирует два целых числа и возвращает их сумму

int sum(int num1, int num2)

{

return (num1 + num2);

}

В языке C , функции не должны быть определены до момента их использования, но они должны быть ранее объявлены. Но даже после всего этого, в конце концов, эта функция должна быть определена. После этого прототип функции и ее определение связываются, и эта функция может быть использована.

Если функция ранее была объявлена, она должна быть определена с тем же возвращаемым значением и типами данных, в противном случае, будет создана новая, перегруженная функция. Заметьте, что имена параметров функции не должны быть одинаковыми.

// объявление функции суммирования

int sum(int, int);

// определение функции суммирования

int sum(int num1, int num2)

{

return (num1 + num2);

}

Вызов Функции.

После того, как функция была объявлена и определена, её можно использовать, для этого её нужно вызвать. Вызов функции выполняется следующим образом:

funcName( arg1, arg2, ... );

где,

funcName — имя функции;

arg1..2 — аргументы функции (значения или переменные)

Примечание: функции могут не иметь параметров, тогда в круглых скобочках ничего писать не надо.

пример:

// вызов функции синуса

sin( 60 );

Вызов функции выполняется записью её имени, а затем круглых скобочек (). Если функция принимает аргументы, то в круглых скобках передаются аргументы, в порядке, указанном в объявлении функции.

Массивы.

Массив – совокупность данных одного типа имеющих одно и то же имя, расположенных в памяти последовательно один за другим и пронумерованных целыми числами (индексами).

Объявляются:

int a[10];

Элементы нумеруются начиная с нуля. Возможно объявление двумерных массивов:

Float b[5][2];

a[5]=16;

Вывести на экран: printf(«%d»,a[5]);

Инициализация массивов.

Int a[4]={ 0,5,10,0};

a[0]=0;

a[1]=5;

a[2]=10;

a[3]=0;

int b[100]={0};

Имя массива без индекса является адресом первого элемента массива.

Char a[5]=”524m”;

Обнулить строковой массив:

Char b[5]=” ”;

Тип данных Указатель.

Предназначен для работы с адресами переменных и других объектов, в частности для передачи адресов переменных в функции.

Указатель является переменной в которой содержится адрес.

Указатель на данные.

Int *p – объявление указателя на данные типа integer.

Int a;

P=&a; - занесение в указатель p адреса переменной a

Void *pv; - для адресации любого объекта

Int *p;

Float *pf;

Pv=pf;

Char *pc;

Pc=(char*)pf;

Указатель на функцию.

Int_(*f1)(int,float); где int – Тип возвращаемого значения, (*f1) – указатель на функцию, (int,float) – тип передаваемого в функцию параметра.

Int sum_i_f(int,float); - прототип функции на которую может указывать указатель f1

F1=sum_i_f; - занесение в указатель f1 адреса функции sum_i_f

Имя функции без круглых скобок и параметров – адрес функции

Вызов функции по указателю

(*f1)(10,3,14);



2016-01-26 676 Обсуждений (0)
Операторы прерывания выполнения блока break, continue 0.00 из 5.00 0 оценок









Обсуждение в статье: Операторы прерывания выполнения блока break, continue

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:
Как выбрать специалиста по управлению гостиницей: Понятно, что управление гостиницей невозможно без специальных знаний. Соответственно, важна квалификация...
Почему человек чувствует себя несчастным?: Для начала определим, что такое несчастье. Несчастьем мы будем считать психологическое состояние...



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (676)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.012 сек.)