Полезные примеры
1. Организация выхода из бесконечного цикла по нажатии клавиши Esc
while (1) { // Бесконечный цикл
...
if (kbhit() && getch()==27 ) break;
...
}
Функция kbhit() возвращает значение > 0, если нажата любая клавиша, а функция getch() возвращает код нажатой клавиши (код клавиши Esc равен 27). В результате выполнения оператора if, если будет нажата клавиша Esc, выполнится оператор break и произойдет выход из цикла.
Приведенный пример – распространенный прием программирования.
2. Организации паузы в работе программы с помощью цикла, выполняющегося до тех пор, пока не нажата любая клавиша
...
while (!kbhit());
...
7.3. Оператор цикла с постусловием do – while
Цикл с постусловием реализует структурную схему, приведенную на рис. 7.1, б.
Общий вид записи такой конструкции
do
код цикла;
while (выражение);
Код цикла будет выполняться до тех пор, пока выражение истинно. Все, что говорилось выше, справедливо и здесь, за исключением того, что данный цикл всегда выполняется хотя бы один раз, даже если изначально выражение ложно.
Здесь сначала выполняется код цикла, после чего проверяется, надо ли его выполнять еще раз.
Следующая программа будет «вас приветствовать» до тех пор, пока будем вводить символ Y или y (Yes). После введения любого другого символа цикл завершит свою работу.
#include <stdio.h>
void main(void)
{
char answer;
do {
puts(" Hello! => ");
scanf(" %c ", &answer);
}
while ((answer=='y')||(answer=='Y'));
}
Результат выполнения программы:
Hello! => Y
Hello! => y
Hello! => d
Дата добавления: 2014-12-30; просмотров: 695;