Язык Си в примерах/ASCII-коды символов: различия между версиями

Материал из Викиучебника — открытых книг для открытого мира
Содержимое удалено Содержимое добавлено
неверный код
м робот косметические изменения
Строка 17: Строка 17:
не будет нажата клавиша ESC.
не будет нажата клавиша ESC.


Выражение <tt>ch != 27</tt> означает логическое <tt> ch <math>\ne \;</math> 27 </tt>.
Выражение <tt>ch != 27</tt> означает логическое <tt> ch <math>\ne \;</math> 27 </tt>.


<source lang="c">
<source lang="c">
Строка 38: Строка 38:
== Приложение ==
== Приложение ==
* Расширенная кодовая страница ASCII: <br />
* Расширенная кодовая страница ASCII: <br />
[[Image:Ascii Table-nocolor.svg]]
[[Файл:Ascii Table-nocolor.svg]]

Версия от 18:59, 9 сентября 2009

Язык Си в примерах


  1. Компиляция программ
  2. Простейшая программа «Hello World»
  3. Учимся складывать
  4. Максимум
  5. Таблица умножения
  6. ASCII-коды символов
  7. Верхний регистр
  8. Скобочки
  9. Факториал
  10. Степень числа
  11. Треугольник Паскаля
  12. Корень уравнения
  13. Система счисления
  14. Сортировка
  15. Библиотека complex
  16. Сортировка на основе qsort
  17. RPN-калькулятор
  18. RPN-калькулятор на Bison
  19. Простая грамматика
  20. Задача «Расчёт сопротивления схемы»
  21. Простая реализация конечного автомата
  22. Использование аргументов командной строки
  23. Чтение и печать без использования stdio
  24. Декодирование звукозаписи в формате ADX
  25. Другие примеры

В языке 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);
}

Задания

  1. Напишите программу, которая печатает все символы и их ASCII-коды.
  2. Попробуйте напечатать как символ число больше 255. Что получается?

Приложение

  • Расширенная кодовая страница ASCII: