Программирование >>  Перегруженные имена функций и идентификаторы 

1 ... 21 22 23 [ 24 ] 25 26 27 ... 210


Оператор-выражение

Синтаксис:

expression;

Выражение <expression> вычисляется в соответствии с правилами Выражения и присваивания .

В Си присваивания являются выражениями. Значением выражения является значение, которое присваивается.

Оператор for

Синтаксис:

for ([<init-expression>];[<cond-expression>];[<loop-exp>]) statement

Тело оператора for выполняется нуль и более раз, до тех пор, пока условное выражение <cond-expression> не станет ложным. Выражения инициализации <init-expression> и цикла <loop-expression> могут быть использованы для инициализации и модификации величин во время выполнения оператора for.

Первым шагом при выполнении оператора for является вычисление выражения инициализации, если оно имеется. Затем вычисление условного выражения с тремя возможными результатами:

1. Если условное выражение истинно (не равно нулю), то выполняется тело оператора. Затем вычисляется выражение цикла (если оно есть). Процесс повторяется снова с вычислением условного выражения.

2. Если условное выражение опущено, то его значение принимается за истину и процесс выполнения продолжается, как показано выше. В этом случае оператор for может завершиться только при выполнении в теле оператора операторов break, goto, return.

3. Если условное выражение ложно, то выполнение оператора for заканчивается и управление передается следующему оператору в программе.

Оператор for может завершиться при выполнении операторов break, return, goto в теле оператора.

Оператор goto передает управление непосредственно на оператор, помеченный <name>. Помеченный оператор выполняется сразу после выполнения оператора goto. Если



оператор с данной меткой отсутствует или существует более одного оператора, помеченных одной и той же меткой, то это приводит к ошибочному результату. Метка оператора имеет отношение только к оператору goto. Если помеченный оператор встречается в любом другом контексте, то он выполняется без учета метки.

Пример:

if (errorcode>0) goto exit;

exit:return (errorcode);

В примере оператор goto передает управление на оператор, помеченный меткой exit, когда происходит ошибка.

Формат меток

Метка - это простой идентификатор. Каждая метка должна быть отлична от других меток в той же самой функции.

Оператор if

Синтаксис:

if (<expression>) <statement 1>

[else

<statement 2>]

Тело оператора if выполняется селективно, в зависимости от значения выражения <expression>. Сначала вычисляется выражение. Если значение выражения истина (не нуль), то выполняется оператор <statement 1>. Если выражение ложно, то выполняется оператор <statement 2>, непосредственно следующий за ключевым словом else. Если выражение <expression> ложно и предложение else ... опущено, то управление передается на выполнение оператора, следующего за оператором if.

Пример:

if (i>0)

y=x/i; else



x=i; y=f(x);

Вложения

Си не поддерживает оператор else if, но тот же самый эффект достигается посредством сложенных операторов if. Оператор if может быть вложен в предложение if или предложение else другого оператора if. Когда операторы if вкладываются, то используются фигурные скобки, чтобы сгруппировать составные операторы, которые проясняют ситуацию.

Если фигурные скобки отсутствуют, то компилятор может принять неверное решение, сочетая каждое else с более близким if, у которого отсутствует else.

Пример:

example 1 if (i>0) /* without braces */ if (j>i) x=j; else x=i;

example 2 if (i>0) /* with braces */ if (j>1) x=j;

else x=i;

Оператор null

Синтаксис:

Оператор null - это оператор, состоящий только из точки с запятой. Он может появиться в любом месте, где требуется оператор. Когда выполняется оператор null, ничего не происходит.

Пример:

for (i=0; i<10; line [i++]=0)



1 ... 21 22 23 [ 24 ] 25 26 27 ... 210

© 2006 - 2025 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика