Форматная строка – это последовательность символов в кавычках. Форматная строка содержит обычные символы, специальные символы и спецификации формата. Обычные и специальные символы копируются в выходной поток в порядке появления.
printf (“ строка1\nстрока2\n”);
На экране: строка1
строка2
Если за форматной строкой следуют аргументы, то форматная строка должна содержать спецификации формата – по одной для каждого аргумента. Спецификация формата начинается с символа %. Функция printf работает следующим образом: просматривается форматная строка, если встречается спецификация формата, значение первого аргумента (параметра), указанного после форматной строки преобразуется и выводится согласно этой спецификации и т.д. до конца форматной строки.
Пример:
printf (“x=%d\n y=%f\n “, x,y);
На экране: х = …
y = … значения
Если за % следует символ, который не является символом спецификации, он просто копируется в выходной поток.
Пример:
printf (“ x=%% ”,…);
На экране: х=%
Спецификация формата имеет следующий вид:
…% [<флаги>][<ширина>][.<точность>][h\ l\ L] <символ типа>
Замечание: Спецификация формата не содержит внутри себя пробелов.
Символ типа определяет то, как будет интерпретироваться соответствующий данному формату аргумент, как символ, строка или число.
% символ типа – самая простая спецификация (примеры см. выше)
Символ типа:
d или i – десятичное целое число со знаком
u – десятичное целое без знака
o – восьмеричное целое без знака х,Х – шестнадцатеричное целое без знака
f – с плавающей точкой в форме [-]dddd.dddd –одна или более цифр е,Е – с плавающей точкой в экспоненциальной форме [-]dddd.dddde/E[+/-]dddd
е печатается, когда порядок меньше 4 или больше [точности]. Десятичная точка печатается только в том случае, если за ней следует хотя бы одна цифра. Вместо 3.0 будет 3
g – то же, что и e или f, но более компактно, т.е. либо в экспоненциальной форме, либо нет, в зависимости от результата.
с – символ
s – строка символов
Флаги – последовательность символов, указывающих форму вывода.
Флаги:
“ - “ – выравнивание по левому краю (по умолчанию выравнивание по правому).
“ + “ - всегда выводит знак для знаковых типов (по умолчанию – только для отрицательных).
“ “ - добавляет пробел к выводимому значению, если значение со знаком и положительное. Если указаны + и пробел , то преобладает +.
Ширина – неотрицательное десятичное число, определяющее минимальное число выводимых символов. Если число меньше, чем ширина, то выводимое значение дополняется пробелами слева или справа в зависимости от установки флага. Если число символов больше, чем это поле, то печатаются все символы.
Точность – неотрицательное десятичное число, определяющее точное число символов, которые должны быть напечатаны.
Интерпретация точности в зависимости от типа:
Тип Точность
d , i , u Определяет минимальное число цифр, которые будут
напечатаны. Если число цифр больше точности, то она игнорируется.
e , E , f Определяет число цифр, которые будут напечатаны после десятичной точки, последнее значащее число округляется.
Если точность =0, то десятичная точка не печатается.
По умолчанию точность =6.
g , G Определяет максимальное число цифр, которые будут напечатаны. По умолчанию печатаются все десятичные цифры.
s Определяет максимальное число символов, которые будут напечатаны. По умолчанию символы будут печататься, пока достигается конец строки (нулевой байт - \0).
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.