русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Форматный вывод - функция PRINTF


Дата добавления: 2015-01-16; просмотров: 510; Нарушение авторских прав


Две функции: PRINTF для вывода и SCANF для ввода (следу-ющий раздел) позволяют преобразовывать численные величины всимвольное представлEние и обратно. Они также позволяют ге-нерировать и интерпретировать форматные строки. Мы уже всюдув предыдущих главах неформально использовали функцию PRINTF;здесь приводится более полное и точное описание. Функция PRINTF(CONTROL, ARG1, ARG2, ...) преобразует, определяет формат и печатает свои аргументы встандартный вывод под управлением строки CONTROL. Управляю-щая строка содержит два типа объектов: обычные символы, ко-торые просто копируются в выходной поток, и спецификациипреобразований, каждая из которых вызывает преобразование ипечать очередного аргумента PRINTF. Каждая спецификация преобразования начинается с символа% и заканчивается символом преобразования. Между % и симво-лом преобразования могут находиться:- знак минус, который указывает о выравнивании преобразован- ного аргумента по левому краю его поля.- Строка цифр, задающая минимальную ширину поля. Преобразо- ванное число будет напечатано в поле по крайней мере этой ширины, а если необходимо, то и в более широком. Если пре- образованный аргумент имеет меньше символов, чем указанная ширина поля, то он будет дополнен слева (или справа, если было указано выравнивание по левому краю)заполняющими сим- волами до этой ширины. Заполняющим символом обычно являет- ся пробел, а если ширина поля указывается с лидирующим ну- лем, то этим символом будет нуль (лидирующий нуль в данном случае не означает восьмеричной ширины поля).- Точка, которая отделяет ширину поля от следующей строки цифр.- Строка цифр (точность), которая указывает максимальное число символов строки, которые должны быть напечатаны, или число печатаемых справа от десятичной точки цифр для пере- менных типа FLOAT или DOUBLE.- Модификатор длины L, который указывает, что соответствую- щий элемент данных имеет тип LONG, а не INT. Ниже приводятся символы преобразования и их смысл: D - аргумент преобразуется к десятичному виду.O - Аргумент преобразуется в беззнаковую восьмеричную форму (без лидирующего нуля).X - Аргумент преобразуется в беззнаковую шестнадцатеричную форму (без лидирующих 0X).U - Аргумент преобразуется в беззнаковую десятичную форму.C - Аргумент рассматривается как отдельный символ.S - Аргумент является строкой: символы строки печатаются до тех пор, пока не будет достигнут нулевой символ или не бу- дет напечатано количество символов, указанное в специфика- ции точности.E - Аргумент, рассматриваемый как переменная типа FLOAT или DOUBLE, преобразуется в десятичную форму в виде [-]M.NNNNNNE[+-]XX, где длина строки из N определяется указанной точностью. Точность по умолчанию равна 6.F - Аргумент, рассматриваемый как переменная типа FLOAT или DOUBLE, преобразуется в десятичную форму в виде [-]MMM.NNNNN, где длина строки из N определяется указанной точностью. Точность по умолчанию равна 6. отметим, что эта точность не определяет количество печатаемых в формате F значащих цифр. G - Используется или формат %E или %F, какой короче; незна- чащие нули не печатаются.Если идущий за % символ не является символом преобразования,то печатается сам этот символ; следовательно,символ % можнонапечатать, указав %%. Большинство из форматных преобразований очевидно и былопроиллюстрировано в предыдущих главах. Единственным исключе-нием является то, как точность взаимодействует со строками.Следующая таблица демонстрирует влияние задания различныхспецификаций на печать "HELLO, WORLD" (12 символов). Мы по-местили двоеточия вокруг каждого поля для того, чтобы вымогли видеть его протяженность. :%10S: :HELLO, WORLD::%10-S: :HELLO, WORLD::%20S: : HELLO, WORLD::%-20S: :HELLO, WORLD ::%20.10S: : HELLO, WOR::%-20.10S: :HELLO, WOR ::%.10S: :HELLO, WOR: Предостережение: PRINTF использует свой первый аргументдля определения числа последующих аргументов и их типов. Ес-ли количество аргументов окажется недостаточным или они бу-дут иметь несоответственные типы, то возникнет путаница и выполучите бессмысленные результаты. Упражнение 7-1 -------------- Напишите программу, которая будет печатать разумным об-разом произвольный ввод. Как минимум она должна печататьнеграфические символы в восьмеричном или шестнадцатеричномвиде (в соответствии с принятыми у вас обычаями) и склады-вать длинные строки.


<== предыдущая лекция | следующая лекция ==>
Стандартный ввод и вывод - функции GETCHAR и PUTCHAR | Форматный ввод - функция SCANF


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.302 сек.