Урок 7. Функция getchar и оператор goto

Сегодня мы рассмотрим функцию getchar и оператор goto.

Каждому символу сопоставлено число от 0 до 255, которое называется ASCII-кодом символа. Например, символу ‘g’ соответствует число 103, и так для каждого символа.

Таблица ASCII-кодов:
ascii-codes

Для того, чтобы считывать один символ есть функция getchar из библиотеки stdio. Рассмотрим использование функции getchar на следующем примере:

#include 
 
int main () {
int gt; 
gt = getchar ();
printf ("Вы нажали %c ASCII код = %d\n", gt, gt);
return 0;
}

Рассмотрим каждый шаг выполнения программы отдельно начиная с четвертой строки:

1. Объявляем переменную. Переход к новой строке
2. Переменной gt присваиваем значение getchar. Когда программа дойдет до этой строки, то она будет ожидать нажатия клавиши, ASCII-код которой будет записан в двух формах (символьной и числовой) в переменную.
3. Выводим параметры нажатой клавиши в виде текста (для этого используем %с) и в виде числа (а для этого используем %d). Переход к следующей строке.
4. Завершение работы программы.

На этом закончим рассмотрение getchar и перейдем к goto. Оператор goto (go to переводится как — перейти к) позволяет ввернуться к любой части программы. Пример:

#include 
 
int main () {
int gt; 
ubuntu:gt = getchar ();
printf ("Вы нажали %c ASCII код = %d\n", gt, gt);
goto ubuntu;
return 0;
}

Рассмотрим механизм работы с четвертой строки:

1. Объявляем переменную. Переход к новой строке
2. Переменной gt присваиваем значение getchar. На слово ubuntu в начале строки внимание не обращаем пока. Переход к следующей строке
3. Выводим параметры нажатой клавиши. Переход к следующей строке
4. В седьмой строке мы объявили переменную goto и метку ubuntu. Когда программа перейдет к седьмой строке, то она автоматически вернется к первой метке ubuntu (пятая строка). И так до бесконечности.