Этапы разработки программы. Разработка или выбор алгоритма решения поставленной задачи. Оформление документации на программу, страница 5

Форматная строка – это последовательность символов в кавычках. Форматная строка содержит обычные символы, специальные символы и спецификации формата. Обычные и специальные символы копируются в выходной поток в порядке появления.

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).