Читайте также:
|
|
Вы можете использовать escape-последовательности для вывода на дисплей специальных символов. Программисты часто используют их для вывода символов, изображение которых невозможно получить иным способом:
Escape-последо-вательность | Функция |
\' | отображает одинарную кавычку |
\" | отображает двойную кавычку |
\\ | отображает обратную косую черту |
Например, вы желаете вывести на экран текст:
Мы зовем ее "Наташа"который содержит кавычки с именем «Наташа». Если вы попробуете отобразить эту строку с помощью инструкции
puts("Мы зовем ее "Наташа"");то получите от компилятора сообщение об ошибке. Вспомните, параметр, передаваемый функции puts(), должен начинаться и заканчиваться кавычками, чтобы компилятор Си знал, где начинается и где заканчивается строка. В приведенном выше ошибочном примере, компилятор будет интерпретировать параметр как «Мы зовем ее» с дополнительными символами «Наташа""», которые расположены снаружи по отношению к паре двойных кавычек, но внутри пары скобок, содержащих параметр для вызова функции puts(). Для компилятора в такой строке оказывается слишком много информации.
Приведем теперь правильную запись этой инструкции:
puts("Мы зовем ее \"Наташа\"");
Рис.3. Отображение символов «кавычки»
На рис.3 показано, каким образом компилятор интерпретирует эту строку.
Кроме кавычек и обратной косой черты, вы можете использовать управляющие коды для отображения различных графических символов. IBM PC и совместимые компьютеры могут отображать набор символов, известных как расширенный набор ASCII-символов. Он включает в себя все буквы, цифры и знаки препинания, которые можно ввести с клавиатуры, а также некоторые графические символы и буквырусского алфавита. Каждый символ в наборе имеет собственный номер, например, номер 3 соответствует символу «сердечко» (по карточной терминологии — «черви»). Чтобы отобразить символ на экране, надо поместить соответствующий ему номер (в виде трех цифр) после знака обратной косой черты:
В результате выполнения этой инструкции на дисплей выводится символ «сердечко». Для того чтобы отобразить символы всех карточных мастей, используйте следующую программу:
main(){puts("Черви \003\n");puts("Бубны \004\n");puts("Трефы \005\n");puts("Пики \006\n");}Функция puts() выведет на экран названия всех карточных мастей и соответствующие им графические символы (рис.4). В табл.1 приведены некоторые символы, которые могут быть изображены только путем использования их кодов.
Рис.4. Отображение графических символов по их кодам
Для отображения графических символов можно использовать и функцию putchar() за счет двойственности символьных переменных. Если вы определили переменную типа int, ей, понятное дело, можно присвоить числовое значение:
intcount;count=5;Если затем вы используете эту переменную как параметр, передаваемый функции putchar()
putchar(count);символ, ассоциированный со значением переменной, будет отображен на экране.
Таблица 1. Некоторые используемые коды символов.
Один из символов в наборе ASCII не появляется на экране, зато при попытке вывести его раздается звонок! Использование escape-последовательности \007 приводит к подаче звукового сигнала встроенным динамиком вашего компьютера. Приведенная ниже программа дважды подает звуковой сигнал, привлекая внимание к сообщению на экране:
#define BELL '\007' /* BELL легчезапомнить, чем \007 */main(){putchar(BELL); /*Подача звукового сигнала*/putchar(BELL); /*Подача звукового сигнала*/puts("Вниманию покупателей!\n");puts("В отделе спортивных товаров \ проводится сезонная распродажа\n");}Директива #define определяет константу BELL со значением \007. И хотя для определения константы вам пришлось ввести с клавиатуры четыре символа, компилятор воспримет ее как обычную символьную константу. Сигнал динамика слышится тогда, когда вы пытаетесь вывести константу BELL на дисплей с помощью функции putchar().
Многогранная функция printf()
Функции puts() и putchar() используются довольно часто, но, к сожалению, их возможности несколько ограничены. Ни одна из них не может обеспечить вывод числовых данных, и обе они имеют только один аргумент (параметр). Это означает, что обе функции могут отобразить только один объект.
Языки Си и Си++ имеют более многостороннюю функцию, называемую printf(). Она позволяет выводить на дисплей данные всех типов и работать со списком из нескольких аргументов. Кроме того, при вызове функции printf() можно определить способ форматирования данных.
В простейшем случае функцию printf() можно использовать вместо функции puts() для вывода строки:
#define MESSAGE "Привет!"main(){printf(MESSAGE);printf("Добро пожаловать в мой мир, а теперь … пока!");}Так же как и puts(), функция printf() будет выводить на экран строки, заключенные в кавычки, и значения строковых констант и переменных.
Дата добавления: 2015-07-11; просмотров: 703 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Управляющие коды | | | Вывод чисел |