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

Материал из Викиучебника — открытых книг для открытого мира
Содержимое удалено Содержимое добавлено
мНет описания правки
Поставил теги <source>
Строка 19: Строка 19:
Выражение <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">
#include <stdio.h>
#include <stdio.h>
void main ()
void main ()
Строка 28: Строка 29:
} while (ch != 27);
} while (ch != 27);
}
}
</source>




== Задания ==
== Задания ==

Версия от 16:09, 5 июня 2007

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


  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>
 void main ()
 {
    int ch;
    do { 
       ch = getchar();
        printf ("Вы нажали %c. ASCII код = %d\n", ch, ch);
     } while (ch != 27);
 }

Задания

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

Приложение

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

[[Изображение::ASCII.gif]]