|
|||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Функция форматированного выводаДостаточно часто для вывода информации из ЭВМ в программах используется функция printf (). Она переводит данные из внутреннего кода в символьное представление и выводит полученные изображения символов результатов на экран дисплея. При этом у программиста имеется возможность форматировать данные, т.е. влиять на их представление на экране дисплея. Возможность форматирования условно отмечена в самом имени функции с помощью литеры f в конце ее названия (print formatted). Оператор вызова функции printf () можно представить так: printf (форматная_строка, список_аргументов); Форматная строка ограничена двойными кавычками (см. строковые константы, §1.2) и может включать произвольный текст, управляющие символы и спецификации преобразования данных. Список аргументов (с предшествующей запятой) может отсутствовать. Именно такой вариант использован в классической первой программе на языке Си [1, 2]: Директива #include <stdio.h> включает в текст программы описание (прототип) библиотечной функции printf () (Если удалить из текста программы эту препроцессорную директиву, то появятся сообщения об ошибках и исполнимый код программы не будет создан. Среди параметров функции printf () есть в этом примере только форматная строка (список аргументов отсутствует). В форматной строке два управляющих символа '\n' - "перевод строки". Между ними текст, который выводится на экран дисплея: Первый символ '\n' обеспечивает вывод этой фразы с начала новой строки. Второй управляющий символ '\n' переведет курсор к началу следующей строки, где и начнется вывод других сообщений (не связанных с программой) на экран дисплея. Итак, произвольный текст (не спецификации преобразования и не управляющие символы) непосредственно без изменений выводится на экран. Управляющие символы (перевод строки, табуляция и т.д.) позволяют влиять на размещение выводимой информации на экране дисплея. Спецификации преобразования данных предназначены для управления формой внешнего представления значений аргументов функции printf (). Обобщенный формат спецификации преобразования имеет вид: %флажки ширина_поля. точность модификатор спецификатор Среди элементов спецификации преобразования обязательными являются только два - символ '% ' и спецификатор. В задачах вычислительного характера этой главы будем использовать спецификаторы: d - для целых десятичных чисел (тип int); u - для целых десятичных чисел без знака (тип unsigned); f -для вещественных чисел в форме с фиксированной точкой (типы float и double); е - для вещественных чисел в форме с плавающей точкой (с мантиссой и порядком) - для типов double и float. В список аргументов функции printf () включают объекты, значения которых должны быть выведены из программы. Это выражения и их частные случаи - переменные и константы. Количество аргументов и их типы должны соответствовать последовательности спецификаций преобразования в форматной строке. Например, если вещественная переменная summa имеет значение 2102.3, то при таком вызове функции на экран с новой строки будет выведено: . После выполнения операторов на экране получится такая строка:
Здесь обратите внимание на управляющий символ 't' (табуляция). С его помощью выводимые значения в строке результата отделены друг от друга. Для вывода числовых значений в спецификации преобразования весьма полезны " ширина_поля" и "точность". Ширина_поля - целое положительное число, определяющее длину (в позициях на экране) представления выводимого значения. Точность - целое положительное число, определяющее количество цифр в дробной части внешнего представления вещественного числа (с фиксированной точкой) или его мантиссы (при использовании формы с плавающей точкой). Пример с теми же переменными: Результат на экране: В качестве модификаторов в спецификации преобразования используются символы: h - для вывода значений типа short int; l - для вывода значений типа long; L - для вывода значений типа long double. Примеры на использование модификаторов здесь приводить не будем, но они нам понадобятся в следующей программе, где будут продемонстрированы их возможности. Хотя в разделе, посвященном символам и строковым константам (§1.2), упоминалось о возможностях записи управляющих последовательностей и эскейп-последовательностей внутри строк, остановимся еще раз на этом вопросе в связи с форматной строкой. При необходимости вывести на экран (на печать) парные кавычки или апострофы их представляют с помощью соответствующих последовательностей: \" или '\', т.е. заменяют парами литер. Обратная косая черта '\' для однократного вывода на экран должна быть дважды включена в форматную строку. При необходимости вывести символ % его в форматную строку включают дважды: % %. Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.006 сек.) |