Функция PRINTF – форматированный вывод — КиберПедия 

Адаптации растений и животных к жизни в горах: Большое значение для жизни организмов в горах имеют степень расчленения, крутизна и экспозиционные различия склонов...

Таксономические единицы (категории) растений: Каждая система классификации состоит из определённых соподчиненных друг другу...

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

2022-10-28 21
Функция PRINTF – форматированный вывод 0.00 из 5.00 0 оценок
Заказать работу

 

Имя PRINTF является сокращением от PRINT Formated (форматированный вывод). При помощи этой функции можно сделать все, что можно сделать при помощи WRITE/WRITELN в Паскале, и еще кое-что сверх того.

Ограничение: функция PRINTF осуществляет вывод ТОЛЬКО в стандартный файл вывода stdout (в Паскале стандартный файл вывода называется output). По умолчанию стандартный файл вывода связан с дисплеем, то есть вывод в stdout – это вывод на экран. Для вывода в другие файлы используется функция FPRINTF (File PRINT Formatted).

Функция PRINTF имеет произвольное количество параметров (WRITE/WRITELN в Паскале также имеют произвольное количество параметров). Первый параметр функции PRINTF – форматная строка. Заметим, что в Си строки заключаются в кавычки (в Паскале – в апострофы). Пример форматной строки: “Привет, мир!\n”. В форматной строке могут быть как обычные символы, так и специальные последовательности символов, начинающиеся со знака процент, например %d, %s. Такие последовательности называются спецификаторами преобразования. Пример использования функции printf со спецификаторами:

1> printf(“%s”,”Привет, мир!\n”);

2> printf(“%s\n”,”Привет, мир!”);

3> printf(“%d * %d = %d”, 5, 7, (5 * 7));

4> printf(“Символ ‘%c’ имеет код %d\n\n”, ‘0’, ‘0’);

Первая строка примера выведет на экран: «Привет, мир!!!» и переведет курсор на новую строку.

Вторая строка эквивалентна первой – она также выведет на экран «Привет, мир!!!» и переведет курсор на новую строку.

Третья строка выведет: «5 * 7 = 35», и курсор останется за последним выведенным символом.

Четвертая строка выведет: «Символ ‘0’ имеет код 48» и переместит курсор на две строки вниз.

В данные методические указания по причине экономии места подробное описание функции PRINTF не включено. За справками читателя отсылаем к [1] и [2], и к встроенной системе помощи по Си.

 

Некоторые спецификаторы преобразования для функции PRINTF:

Код Формат
%c Символ (char)
%s Строка (char *)
%d Десятичное целое со знаком (int)
%ld Длинное десятичное целое со знаком (long)
%u Десятичное целое без знака (unsigned)
%lu Длинное десятичное целое без знака (unsigned long)
%x Шестнадцатеричное без знака (буквы в нижнем регистре) (unsigned)
%lx Длинное шестнадцатеричное без знака (буквы в нижнем регистре) (unsigned long)
%X Шестнадцатеричное без знака (буквы в верхнем регистре) (unsigned)
%lX Длинное шестнадцатеричное без знака (буквы в верхнем регистре) (unsigned long)
%o Восьмеричное без знака (unsigned)
%lo Длинное восьмеричное без знака (unsigned long)
%f Десятичное с плавающей точкой (float)
%lf Десятичное с плавающей точкой (double)
%Lf Десятичное с плавающей точкой (long double)
%e Экспоненциальное представление (‘e’ в нижнем регистре) (float)
%E Экспоненциальное представление (‘e’ в верхнем регистре) (float)
%le Экспоненциальное представление (‘e’ в нижнем регистре) (double)
%lE Экспоненциальное представление (‘e’ в верхнем регистре) (double)
%Le Экспоненциальное представление (‘e’ в нижнем регистре) (long double)
%LE Экспоненциальное представление (‘e’ в верхнем регистре) (long double)
%p Выводит указатель (void *)
%% Выводит знак %

В скобках указан тип параметра, к которому будет преобразован параметр.

Параметры функции PRINTF должны следовать в порядке, определенном форматной строкой. Количество параметров, следующих за форматной строкой, должно совпадать с количеством спецификаторов.

Кроме типа параметров, в форматной строке можно задавать минимальную ширину поля, точность и выравнивание. Пример:

printf(“%10.2f * %5d = %-10.2f”, 1.5, 3, (1.5 * 3));

На экран будет выведено «1.50 * 3 = 4.50»

printf(“%-3d * %05d = %6d”, 5, 3, (5 * 3));

На экран будет выведено «5 * 00003 = 15»

По умолчанию выравнивание производится по правому краю (“%5d %10.2f”). Если сразу за знаком ‘%’ поставить ‘–‘, выравнивание будет производиться по левому краю (“%-3d”, “%-10.2f”). Минимальная ширина поля вывода задается после знака «%» либо после «%-» (если задано левое выравнивание). Если значение минимальной ширины начинается со знака 0, то выводятся лидирующие 0. Точность для вещественных чисел задается числом после точки “%10.2f”.

 

Если все выше написанное для Вас является чистым бредом, то не стоит расстраиваться: авторы этой методички сами прошли через такой этап. Использовать printf для простейших случаев Вы можете «по аналогии», взяв в качестве основы примеры из этой методички. Более сложное использование Вы освоите со временем.

 

 

Циклы В ЯЗЫКЕ СИ

 

«Привет, мир!» 100 раз

 

Напишем программу, 100 раз выводящую на экран фразу «Привет, мир!!!». Ясно, что лучшим решением будет использование цикла. Решим эту задачу с использованием всех трех циклов по очереди – while, do … while (repeat... until), for.


Поделиться с друзьями:

История развития пистолетов-пулеметов: Предпосылкой для возникновения пистолетов-пулеметов послужила давняя тенденция тяготения винтовок...

Эмиссия газов от очистных сооружений канализации: В последние годы внимание мирового сообщества сосредоточено на экологических проблемах...

Механическое удерживание земляных масс: Механическое удерживание земляных масс на склоне обеспечивают контрфорсными сооружениями различных конструкций...

История создания датчика движения: Первый прибор для обнаружения движения был изобретен немецким физиком Генрихом Герцем...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.008 с.