// Done by TheTutor -- 10/26/01
// Перевод © 2004 Евгений Казеко
// www.gamecoder.kazeko.com
// evgeniy@kazeko.com
/* Цикл while это способ выполнять набор действий, ПОКА (WHILE) некоторое условие верно.
Эта программа выполняет очень простую задачу. Мы просто хотим чтобы пользователь ввел
ответ примера "2 + 2". Итак, наша программа будет делать следующее:
Запрашивать пользователя ввести ответ на "2 + 2". Пока не введен верный ответ,
продолжать запрашивать ввести то, чему равно 2 + 2.
*/
// Здесь мы подключаем "stdio.h" - это заголовочный файл, позволяющий получить доступ
// к функциям ввода и вывода.
#include <stdio.h>
/* Это наша "главная функция". Это ядро всех консольных программ. Обратите внимание, что
мы возвращаем из функции целое число ("int"). Правило таково: возвращаем 1, если произошла ошибка,
возвращаем 0, если все в порядке (таким образом ноль означает "нет ошибок").
*/
int main()
{
int answer = 0; /* Мы определяем целочисленную (int) переменную и устанавливаем
ее начальное значение равное нулю. Мы используем эту переменную
для того, чтобы сохранить целое число, которое мы будем читать
с клавиатуры. */
/* А теперь вот и он, цикл while! Сперва обратите внимание на ключевое слово "while"
(вы будете использовать его для реализации всех циклов while). Затем идет то,
что помещено в круглые скобки
answer != 4 Это "условное выражение" будет истинным, если "answer"
НЕ РАВНО 4. И когда мы начнем эту программу, мы абсолютно
точно будем знать, что answer не равно 4 (потому что мы
установили эту переменную в ноль, когда создали ее).
Это условное выражение будет ложным, когда answer будет
равняться 4.
Цикл while работает вот так - сначала проверяется условное выражение между ().
Если условное выражение истинно, будет выполняться весь код между {}. Например:
while(некоторое условие истинно)
{
выполнять все, что находится здесь
}
Когда мы достигаем закрывающей фигурной скобки, мы возвращаемся в начало цикла while
и снова проверяем условное выражение - если оно истинно, мы повторяем все то же самое.
Если оно ложно, мы переходим к строке кода, следующей за циклом while.
*/
// Эта строка говорит "пока answer НЕ равна 4, продолжать цикл, выполняя все между {}.
while (answer != 4)
{
printf("What is 2 + 2: "); // Вывести на экран сообщение, запрашивающее ввод ответа на "2 + 2"
scanf("%d",&answer); /* Прочитать то, что ввел пользователь. Нажатые клавиши будут преобразованы
в целое число. Если клавиша была цифровая (например вы нажали "9"),
answer будет равняться девяти, как вы и ожидали. Но если нажать,
например, клавишу "а", чему будет равна answer? Answer будет равняться
значению ASCII (то есть целочисленному значению) эквивалентному "а".
*/
printf("\n"); // Перейти на следующую строку (как будто нажали ENTER)
}
/* Единственный способ, позволяющий попасть в это место программы - это когда пользователь
введет 4 (и тогда условие цикла while "answer != 4" будет ложным и цикл завершится).
*/
printf("\nYou know your math!!!\n"); // Напечатать сообщение "Вы знаете математику!"
// *Примечание* - '\n' просто означает "перейти на следующую
// строку, как будто бы мы нажали enter в текстовом процессоре.
return 0; // Программа окончена, поэтому мы "возвращаемся из функции"
// Обратите внимание - мы возвращаем '0' чтобы сообщить "при выполнении ошибок не было"
} // конец main()
/*
| TheTutor
| thetutor@gametutorials.com
| © 2000-2002 GameTutorials
*/
// Перевод © 2004 Евгений Казеко
// www.gamecoder.kazeko.com
// evgeniy@kazeko.com
|