C печатает их, но, возможно, ваш терминал не отображает их . Это различие важно, поскольку терминал отвечает за интерпретацию выходных данных вашей программы, печать букв, перемещение курсора, изменение цветов и т. Д.
По историческому соглашению первые 32 символа таблицы ASCII считаются «управляющими символами», некоторые из которых могут быть напечатаны, некоторые, например, backspace, которые перемещают курсор, другие, например, BEL, которые могут издавать звуковой сигнал вашего терминала.
Различные терминалы могут отображать их по-разному, или не отображать all.
Стоит отметить, что ASCII предшествовал современным «стеклянным» терминалам и что эти коды использовались для перемещения печатающей головки на странице. В ранних машинах для связи с ними использовались телетайпы , и при переводе строки на одну строку бумага проворачивалась, возврат каретки перемещал курсор назад к началу строки, очень похоже на физический возврат каретки . на пишущей машинке, которая переместит «каретку» обратно в первый столбец.
Это были довольно сложные электромеханические устройства, в которых не было никакой современной схемы, но они все еще могли обрабатывать данные ASCII, по крайней мере для тех, кто использует ASCII, поскольку существуют другие наборы символов, такие как EBCDI C, которые сосуществовали с ASCII.
Поскольку эти символы никогда не предназначались для печати, поэтому они не У него нет стандартного визуального представления в ASCII.
При использовании "расширенного ASCII", используемого в DOS, для них определены символы , поскольку в противном случае это выглядит как пустая трата. У них нет значений управляющего кода, обычно вы записываете их непосредственно в буфер символов консоли, чтобы увидеть их.