|
Каждая спецификация заставляет функцию printf, имеющую список вывода,искать следующий элемент списка вывода, который затем преобразуется и выводится в соответствии с заданным преобразованием. Поэтому число элементов списка вывода должно соответствовать числу спецификаций форматной строки в вызове printf. Если printf содержит в качестве аргумента только форматную строку, то просто выводит эту строку.
Примечание. Те символы, которые должны быть выведены без преобразования (в том виде, в котором они записаны в форматной строке) до выводимого значения, записываются в форматной строке до спецификации формата, а те, которые должны быть выведены после значения, должны быть записаны после соответствующей спецификации преобразования.
В таблице 1 приведены спецификации преобразования.
Таблица 1. Спецификации преобразования для функции printf
Элемент специфи-кации | Значение |
флаг (необязательный элемент) | |
- | Прижать число при выводе к левому краю выделенного поля |
Заполнить лишнее пространство нулями вместо пробелов | |
+ | Всегда выводить знак числа (+ или -) |
пробел | Пробел на месте знака, если значение положительно |
# | Выводить 0 перед восьмеричным или 0x перед шестнадцатеричным значением |
ширина (необязательный элемент) | |
n | Минимальная ширина поля в n символов |
точность (необязательный элемент) | |
.n | Не более n знаков после точки для числа в форме e, E, f |
размер (необязательный элемент) | |
h | Короткое целое (short int) |
l | Длинное целое (long int) |
тип (тип преобразования) | |
d | Десятичное целое число со знаком |
i | То же, что и d |
o | Восьмеричное целое число без знака |
u | Десятичное целое число без знака |
x | Шестнадцатеричное целое число без знака, цифры в нижнем регистре |
X | То же, что х, но цифры в верхнем регистре |
f | Число со знаком в форме [-]dddd.dddd |
e | Число со знаком в форме [-]d.dddde[+/-]ddd |
g | Число со знаком в форме e или f |
E | Число со знаком в форме [-]d.ddddE[+/-]ddd |
G | Число со знаком в форме E или F |
c | Один символ |
s | Строка |
Еscape - последовательности
Обратная косая черта (\) имеет в языке Си специальное значение. Ее называют escape - символом и применяют для представления символов или чисел, которые нельзя непосредственно ввести с клавиатуры. Еscape-последовательность - это escape – символом, за которым следует escape – код. В таблице 2 приведены допустимые в Си escape-последовательности. Еscape- последовательности записываются в форматной строке операторов ввода-вывода и могут произвольно перемешиваться с любыми символами и спецификациями. Например, оператор printf("A\nBC\nDEF\n") выведет на экран символы A,B,C,D,E,F в виде:
A
BC
DEF
Это определяется наличием в форматной строке еscape- последовательности \n - переход к началу новой строки.
Таблица 2. Еscape- последовательности
Последова - тельность | Название | Значение |
\n | Новая строка | Переход к началу новой строки |
\t | Табуляция | Переход к следующей позиции табуляции |
\b | Backspase | Возврат на шаг |
\r | Возврат каретки | Возврат к началу текущей строки |
\f | Перевод страницы | Начало нового экрана |
\v | Вертикальная табулиция | Перевод курсора вниз на несколько строк |
\\ | Обратная косая черта | Вывод обратной косой черты |
\' | Апостроф | Вывод апострофа |
\0 | Нуль (пусто) | |
\" | Двойная кавычка | Вывод двойной кавычки |
\a | Подача звукового сигнала | |
Дата добавления: 2015-07-25; просмотров: 46 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Функция puts | | | Функция scanf |