ASCII коды символов
В языке C есть тип
char
для символов.
Каждому символу сопоставлено число от 0 до 255, которое называется ASCII-кодом символа.
Например, символу 'A' соответствует число 65. Символами можно оперировать,
как числами и, наоборот, переменные типа
int
можно интепретировать
как символы (сравнивать с символами или печатать как символы).
Для того, чтобы считывать один символ есть
функция
getchar
из библиотеки
stdio
.
Логика приведенной ниже программы следующая.
Считывается символ и печатается в двух форматах: как символ (формат
"%c"
)
и как число (формат
"%d"
). Это делается до тех пор,
пока символ (а точнее его ASCII код) не будет равен 27, то есть пока
не будет нажата клавиша ESC.
Выражение
ch != 27
означает логическое
ch ≠ 27
.
#include <stdio.h>
int main ()
{
int ch;
do {
ch = getchar();
printf ("Вы нажали %c. ASCII код = %d\n", ch, ch);
} while (ch != 27);
return 0;
}
Задания
- Напишите программу, которая печатает все символы и их ASCII-коды.
- Попробуйте напечатать как символ число больше 255. Что получается?
Приложение
- Расширенная кодовая страница ASCII: