Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Отображение специальных символов на экране монитора

Читайте также:
  1. Вставка символов
  2. Выбор монитора, мыши и клавиатуры
  3. Выделение символов
  4. Глава 6. ПРИСВОЕНИЕ СПЕЦИАЛЬНЫХ ЗВАНИЙ
  5. Графическое отображение издержек в краткосрочном и долгосрочном периоде.
  6. Графическое отображение рассчитанного потенциала предприятия.
  7. Документальное оформление результатов применения специальных химических веществ

Вы можете использовать escape-последовательности для вывода на дисплей специальных символов. Программисты часто используют их для вывода символов, изображение которых невозможно получить иным способом:

Escape-последо-вательность Функция
\' отображает одинарную кавычку
\" отображает двойную кавычку
\\ отображает обратную косую черту

 

Например, вы желаете вывести на экран текст:

Мы зовем ее "Наташа"

который содержит кавычки с именем «Наташа». Если вы попробуете отобразить эту строку с помощью инструкции

puts("Мы зовем ее "Наташа"");

то получите от компилятора сообщение об ошибке. Вспомните, параметр, передаваемый функции puts(), должен начинаться и заканчиваться кавычками, чтобы компилятор Си знал, где начинается и где заканчивается строка. В приведенном выше ошибочном примере, компилятор будет интерпретировать параметр как «Мы зовем ее» с дополнительными символами «Наташа""», которые расположены снаружи по отношению к паре двойных кавычек, но внутри пары скобок, содержащих параметр для вызова функции puts(). Для компилятора в такой строке оказывается слишком много информации.

Приведем теперь правильную запись этой инструкции:

puts("Мы зовем ее \"Наташа\"");


Рис.3. Отображение символов «кавычки»

На рис.3 показано, каким образом компилятор интерпретирует эту строку.

Кроме кавычек и обратной косой черты, вы можете использовать управляющие коды для отображения различных графических символов. IBM PC и совместимые компьютеры могут отображать набор символов, известных как расширенный набор ASCII-символов. Он включает в себя все буквы, цифры и знаки препинания, которые можно ввести с клавиатуры, а также некоторые графические символы и буквырусского алфавита. Каждый символ в наборе имеет собственный номер, например, номер 3 соответствует символу «сердечко» (по карточной терминологии — «черви»). Чтобы отобразить символ на экране, надо поместить соответствующий ему номер (в виде трех цифр) после знака обратной косой черты:

putchar('\003');

В результате выполнения этой инструкции на дисплей выводится символ «сердечко». Для того чтобы отобразить символы всех карточных мастей, используйте следующую программу:

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 | Нарушение авторских прав


Читайте в этой же книге: Лабораторная работа 2 | Форматированный вывод | Выбор правильных средств вывода информации | Проектирование программы |
<== предыдущая страница | следующая страница ==>
Управляющие коды| Вывод чисел

mybiblioteka.su - 2015-2024 год. (0.008 сек.)