Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ответы пиоа.doc
Скачиваний:
134
Добавлен:
25.01.2017
Размер:
218.62 Кб
Скачать

51. Организация цикла с помощью оператора do-while.

Оператор do-while формально записывается следующим образом:

do {тело_цикла} while (выражение); Основным отличием между циклами while и do - while является то, что тело в цикле do - while выполняется по крайней мере один раз. Тело цикла будет выполняться до тех пор, пока выражение в скобках не примет ложное значение. Если оно ложно при входе в цикл, то его тело выполняется ровно один раз. Допускается вложенность одних циклов в другие, т.е. в теле любого цикла могут появляться операторы for, while и do - while. В теле цикла могут использоваться новые операторы break и continue. Оператор break обеспечивает немедленный выход из цикла, оператор continue вызывает прекращение очередной и начало следующей итерации. Пример: В примере цикл do итерируется минимум один раз и повторяет итерации, пока i меньше 5. do { i+=1; document.write(i); } while (i<5);

52. Операторы множественного выбора и операторы break и continue языка си.

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

switch (выражение) {

case значение1: операторы1; break;

case значение1: операторы1; break;

case значение1: операторы1; break;

...

default операторы_в_любом_другом_случае;

}

При выполнении оператора switch вычисляется выражение в скобках и его значение сравнивается со всеми вариантами case (со "значением1", "значением2" и т.д.). Если мы обнаружили равенство, выполняются соответствующие операторы. Если ни одно из значений в case не равно значению выражения, выполняются операторы после default. Или вообще ничего не делается, если часть с default отсутствует.

int a;

printf("Введите число ");

scanf("%i", &a);

// оператор множественного выбора

switch (a) {

case 0:

printf("Это был ноль\n");

break;

default:

printf("Это был не ноль\n");

}

Если мы введем 0, получим на экране:Это был ноль. Если введем любое другое число, получим надпись:Это был не ноль. Оператор break позволяет досрочно выходить из циклов и используется в операторах switch..case. То есть это оператор прерывание цикла. Допустим, есть у нас некоторый бесконечный цикл while и при определенном условии его нужно завершить.

int a = 0;

while(1){

if(a>15)

break;

a++;

}

ShowMessage(a);

Как только переменная ‘a’ станет больше 15, то цикл завершится, то есть программа выдаст число 16. Если у вас вложенные циклы то он прекратит именно тот, в котором вы прописали данный оператор. Оператор continue это нечто похожее на оператор break. Также используется в циклах, только если break прерывает весь цикл, то continue просто переходит незамедлительно на следующую итерацию данного цикла.

int a[6]={-6,3,-1,4,7,-7};

int n,s;

n=6; s=0;

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

{

if(a[i]<=0)

continue;

ShowMessage(a[i]);

}

В результате выполнения этого блока кода, на экран выведутся числа, которые больше нуля.

Соседние файлы в предмете Основы алгоритмизации и программирования