Адаптации растений и животных к жизни в горах: Большое значение для жизни организмов в горах имеют степень расчленения, крутизна и экспозиционные различия склонов...
Таксономические единицы (категории) растений: Каждая система классификации состоит из определённых соподчиненных друг другу...
Топ:
Оценка эффективности инструментов коммуникационной политики: Внешние коммуникации - обмен информацией между организацией и её внешней средой...
Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов...
Интересное:
Как мы говорим и как мы слушаем: общение можно сравнить с огромным зонтиком, под которым скрыто все...
Что нужно делать при лейкемии: Прежде всего, необходимо выяснить, не страдаете ли вы каким-либо душевным недугом...
Инженерная защита территорий, зданий и сооружений от опасных геологических процессов: Изучение оползневых явлений, оценка устойчивости склонов и проектирование противооползневых сооружений — актуальнейшие задачи, стоящие перед отечественными...
Дисциплины:
2022-10-28 | 21 |
5.00
из
|
Заказать работу |
|
|
Имя 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 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!