Главная » Статьи » Программирование » С/С++ |
Форматы для вывода данных
Целые числа Первым параметром при вызове функций scanf и printf должна стоять символьная строка, определяющая формат ввода или данных. Для функции scanf, которая выполняет ввод данных, достаточно просто указать один из форматов %d, %f или %c для ввода целого числа, вещественного числа или символа, соответственно. В то же время форматная строка в функции printf позволяет управлять выводом на экран, а именно, задать размер поля, которое отводится для данного числа. Ниже показаны примеры форматирования при выводе целого числа 1234. Чтобы увидеть поле, которое отводится для числа, оно ограничено слева и справа скобками.
Для вывода символов используются такие же приемы форматирования, но формат %d заменяется на %c.
Вещественные числа Для вывода (и для ввода) вещественных чисел могут использоваться три формата: %f, %e и %g. В таблице показаны примеры использования формата %f.
Формат %e применяется в научных расчетах для вывода очень больших или очень маленьких чисел, например, размера атома или расстояния до Солнца. С представлением числа в так называемом стандартном виде (с выделенной мантиссой и порядком). Например, число 123.45 может быть записано в стандартном виде как 2 10 2345 . 1 45 . 123 Ч =. Здесь 1.2345 – мантисса (она всегда находится в интервале от 1 до 10), а 2 – порядок (мантисса умножается на 10 в этой степени). При выводе по формату %e также можно задать число позиций, которые отводятся для вывода числа, и число цифр в дробной части мантиссы. Порядок всегда указывается в виде двух цифр, перед которыми стоит буква e и знак порядка (плюс или минус).
Формат %g применяется для того, чтобы удалить лишние нули в конце дробной части числа и автоматически выбрать формат (в стандартном виде или с фиксированной точкой). Для очень больших или очень маленьких чисел выбирается формат с плавающей точкой (в стандартном виде). В этом формате можно задать общее число позиций на число и количество значащих цифр.
| |
Просмотров: 1088 | | |
Всего комментариев: 0 | |