символ спецификации формата
На экране: х = …
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 – строка символов
Флаги – последовательность символов, указывающих форму вывода.
Флаги:
“ - “ – выравнивание по левому краю (по умолчанию выравнивание по правому). Если задана ширина, а выводимое значение имеет меньше символов, чем в ширине, то оно дополняется пробелами справа (по умолчанию – слева).
“ + “ - всегда выводит знак для знаковых типов (по умолчанию – только для отрицательных).
“ “ - добавляет пробел к выводимому значению, если значение со знаком и положительное. Если указаны + и пробел , то преобладает +.
Ширина – неотрицательное десятичное число, определяющее минимальное число выводимых символов. Если число меньше, чем ширина, то выводимое значение дополняется пробелами слева или справа в зависимости от установки флага. Если число символов больше, чем это поле, то печатаются все символы.
В качестве полей спецификации формата “ширина и точность” может быть указана *. Это означает, что сам аргумент из списка аргументов является значением этого поля.
Пример:
printf (“%*.*f”, 8 , 3 ,x );
ширина точность
Точность – неотрицательное десятичное число, определяющее точное число символов, которые должны быть напечатаны.
Интерпретация точности в зависимости от типа:
Тип Точность
d , i , u Определяет минимальное число цифр, которые будут
напечатаны. Если число цифр больше точности, то она игнорируется.
e , E , f Определяет число цифр, которые будут напечатаны после десятичной точки, последнее значащее число округляется.
Если точность =0, то десятичная точка не печатается.
По умолчанию точность =6.
g , G Определяет максимальное число цифр, которые будут напечатаны. По умолчанию печатаются все десятичные цифры.
s Определяет максимальное число символов, которые будут напечатаны. По умолчанию символы будут печататься, пока достигнется конец строки (нулевой байт - \0).
Спецификации размера:
h - аргумент трактуется как короткое целое.
l - аргумент трактуется как длинное целое.
L - аргумент трактуется как longint.
п.3.Форматный ввод.
Форматный ввод в Си осуществляется с помощью функции scanf из стандартного входного потока stdin.
int scanf (<форматная строка>[,<аргументы>]);
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.