Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лекции / LECS4

.DOC
Скачиваний:
41
Добавлен:
16.04.2013
Размер:
77.31 Кб
Скачать

Например, i * = 5; // i=i*5;

a / = a + b; // a=a/(a+b)

Инструкция – выражение

Выражения с запятой exp1, exp2, exp3 ... вычисляются последовательно. Результат последнего выражения и есть результат исходного (всего) выражения.

Например, i = 5;

SUM = 0, i = 1; // будет SUM = 0, i = 1

SUM = (0, i = 1); // будет SUM = 1, i = 1

a = b + (c = 3); равнозначно с = 3; a = b + c;

Инструкция выбора.

  1. if (Условие)

Инструкция 1

Следующая инструкция

Если условие истинно, то выполняется Инструкция 1, в противном случае она пропускается. Условие – это выражение или объявление с инициализацией.

Например, if (temperature >= 0 )

cout << “Температура плюсовая”;

cout << “Мороз”;

  1. if (Условие)

Инструкция 1

else

Инструкция 2

Если условие истинно, то выполняется Инструкция 1, а Инструкция 2 пропускается. Если условие ложно наоборот – выполняется Инструкция 2, а Инструкция 1 пропускается

Например,

if (tempirature >= 0)

cout << “Температура выше точки замерзания”;

else

cout << “Температура ниже нуля”;

// Следующая инструкция

  1. Инструкция switch

switch (Условия)

Инструкция

Инструкция – обычно составная, содержащая метки case и необязательную метку default.

Метка case представляет собой целое-постоянное выражение:

Таких меток может быть много.

Например,

switch (score) {

case 9: case 10 :

++ a – grades; break;

case 8:

++ b – grades; break;

case 7:

++ c – grades; break;

default:

++ fails;

}

Инструкция switch работает следующим образом.

  1. Вычисляется выражение в круглых скобках

  2. Выполняется инструкция с той меткой case, чье значение совпадает с результатом выражения-условия.

Далее выполняется следующая по порядку инструкция. Если ни одна из меток case не подошла, выполняется инструкция с меткой default.

  1. Выполнение оператора switch может быть прервано инструкцией break.

Пример:

switch (val) {

case 1: f ( ); break;

case 2: f ( ); break;

default: n ( ); break;

}

Аналогично можно сделать так:

if (val = = 1)

f ( );

else

if (val = = 2)

g ( );

else

h ( );

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

Например,

if (A > 0)

{ i = 10;

for (j = 1; j = i; j ++)

cout << j;

}

...

Объявления – инструкции

Объявление является инструкцией. Если только переменная не объявлена как static, инициализатор выполняется каждый раз, когда поток управления достигает определения. Объявление разрешается помещать в любом месте, где допустима инструкция.

Объявления можно также помещать в условия. Например,

if (double d = prim (true)) { // объявление в условие

left / = d;

double x = left* 5.0; // объявление – инструкция

break;

}

Инструкции циклов

Инструкция while

while (условие)

Инструкция

Сначала вычисляется условие. Если условие истинно, то выполняется инструкция и управление передается в начало цикла while. Как только условие станет ложным, управление передается следующей за while инструкции.

Например,

while (i <= 10)

{ SUM += 1;

++i;

}

cout << i;

Инструкция do

do

Инструкция

while (Условие)

следующая_инструкция

Сначала выполняется Инструкция, затем вычисляется условие. Если Условие истинно, то управление передается на начало инструкции do. Если условие ложно управление передается следующей_инструкции.

Например,

do {cout << “\n Введите положительное число: ”;

cin >> n;

} while (n <= 0);

(В качестве примера на доске ввести массив)

Инструкция for

for (Начальная_инструкция Условие; Выражение)

Инструкция

Следующая_инструкция

Сначала выполняется Начальная_инструкция. Она используется для инициализации переменной цикла. Затем проверяется условие. Если оно истинно, то выполняется Инструкция, вычисляется выражение и управление передается в начало цикла на проверку условия.

e1

for (e1; e2; e3) while (e2)

e4; { e4;

e3;

}

Например,

SUM = 0;

for (i = 1; i <= 10; ++i)

SUM += i;

cout << SUM; // ?? SUM

for (factorial = n; i = n-1; i >= 1; --i)

factorial *= i

for (int i = 0; i < N; ++i)

SUM += a[i];

Инструкции break и continue

Инструкции break вызывает выход из тела цикла или инструкции switch

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

cin >> x;

if (x < 0.0)

{ cout << “Все!” << endl;

break;

}

cout << sqrt (x) << endl;

}

Инструкция continue вызывает остановку текущей итерации цикла и немедленный переход к началу очередной итерации.

Например,

for (i = 0; i < MAX; ++ i)

{ cin .get (c);

if (isdigit (c))

continue;

.... // обработка символов

....

}

Инструкция goto

goto Метка;

Метка – это идентификатор

Управление по инструкции goto безусловно передается на помеченную инструкцию.

Например,

if (d = = 0.0)

goto error;

else

ratio = n/d;

.....

error: cerr << “ОШИБКА: Деление на ноль!\n”;

Соседние файлы в папке Лекции