Оператор continue

Оператор continue — осуществляет прерывание текущей итерации цикла и переход к следующей итерации. При этом все операторы до конца тела цикла пропускаются. В цикле for оператор continueвызывает выполнение операторов приращения и проверки условия цикла. В циклах while и do-while оператор continue передает управление операторам проверки условий цикла. В следующем примере программа подсчитывает количество пробелов в строке, введенной пользователем:

/* Подсчет количества пробелов */#include <stdio.h> int main(void){ char s[80], *str; int space; printf("Введите строку: "); gets(s); str = s; for(space=0; *str; str++) { if(*str != ' ') continue; space++; } printf("%d пробелов\n", space); return 0;}

Каждый символ строки сравнивается с пробелом. Если сравниваемый символ не является пробелом, оператор continue передает управление в конец цикла for и выполняется следующая итерация. Если символ является пробелом, значение переменной space увеличивается на 1.

В следующем примере оператор continue применяется для выхода из цикла while путем передачи управления на условие цикла:

void code(void){ char done, ch; done = 0; while(!done) { ch = getchar(); if(ch=='$') { done = 1; continue; } putchar(ch+1); /* печать следующего в алфавитном порядке символа */ }}

Функция codeпредназначена для кодирования сообщения путем замены каждого символа символом, код которого на 1 больше кода исходного символа в коде ASCII. Например, символ А заменяется символом В (если это латинские символы.). Функция прекращает работу при вводе символа$. При этом переменной done присваивается значение 1 и оператор continue передает управление на условие цикла, что и прекращает выполнение цикла.

 

Задача. Ввести натуральное число и найти сумму его цифр. Организовать ввод числа так, что-

бы нельзя было ввести отрицательное число или ноль.

Любая программа должна обеспечивать защиту от неверного ввода данных (иногда такую

защиту называют «защитой от дурака» — fool proof). Поскольку пользователь может вводить

данные неверно сколько угодно раз, то надо использовать цикл с условием. С другой стороны,

один раз обязательно надо ввести число, поэтому нужен цикл с постусловием.

В отличие от предыдущей программы, теперь надо при каждом делении определять оста-

ток (последняя цифра числа равна остатку от деления его на 10) и суммировать все остатки в

специальной переменной.

#include <stdio.h>

#include <conio.h>

Main()

{

int N, sum; // sum - сумма цифр числа

sum = 0; // сначала сумму обнуляем

do { // начало цикла

printf ( "\nВведите натуральное число:" );

scanf ( "%d", &N );

}

while ( N <= 0 ); // условие цикла «пока N <= 0»

while ( N > 0 ) {

sum += N % 10;

N /= 10;

}

printf ( "Сумма цифр этого числа равна %d\n", sum );








Дата добавления: 2015-04-25; просмотров: 822;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.007 сек.