Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lab1-pz.doc
Скачиваний:
2
Добавлен:
01.05.2019
Размер:
73.73 Кб
Скачать

Cпецификатор точности

указывает на минимальное количество символов, которое должно появиться при обработке типов d, i, o, u, x, X;

указывает на минимальное количество символов, которое должно появиться после десятичной запятой (точки) при обработке типов a, A, e, E, f, F;

максимальное количество значащих символов для типов g и G;

максимальное число символов, которые будут выведены для типа s;

Точность задаётся в виде точки с последующим десятичным числом или звёздочкой (*), если число или звёздочка отсутствует (присутствует только точка), то предполагается, что число равно нулю. Точка для указания точности используется даже в том случае, если при выводе чисел с плавающей запятой выводится запятая.

Если после точки указан символ «звёздочка», то при обработке строки форматирования значение для поля читается из списка аргументов. (При этом, если символ звёздочка и в поле ширины и в поле точности, сначала указывается ширина, потом точность и лишь потом значение для вывода). Например, printf( "%0*.*f", 8, 4, 2.5 ); выведет текст 002.5000.

Спецификатор размера

Специификатор

%d, %i, %o, %u, %x, %X

%n

Примечание

отсутствует

int или unsigned int

указатель на int

l

long int или unsigned long int

указатель на long int

hh

Аргумент имеет тип int или unsigned int, но принудительно приводится к типу signed char или unsigned char, соответственно

указатель на signed char

формально существуют только в языке Си начиная со второго стандарта (1999)

h

Аргумент имеет тип int или unsigned int, но принудительно приводится к типу short int или unsigned short int, соответственно

указатель на short int

ll

long long int или unsigned long long int

указатель на long long int

j

intmax_t или uintmax_t

указатель на intmax_t

z

size_t (или эквивалентный по размеру знаковый тип)

указатель на эквивалентный по размеру size_t знаковый тип

t

ptrdiff_t (или эквивалентный по размеру беззнаковый тип)

указатель на ptrdiff_t

Спецификатор типа

Тип указывает не только на тип величины (с точки зрения языка программирования Си), но и на конкретное представление выводимой величины (например, числа могут выводить в десятичном или шестнадцатеричном виде). Записывается в виде одного символа. В отличие от остальных полей является обязательным. Максимальный поддерживаемый размер вывода от единичной управляющей последовательности составляет по стандартам как минимум 4095 символов; на практике большинство компиляторов поддерживают существенно большие объёмы данных.

Значения типов:

d, i — десятичное знаковое число, размер по-умолчанию, sizeof( int ). По-умолчанию записывается с правым выравниванием, знак пишется только для отрицательных чисел;

o — восьмеричное беззнаковое число, размер по-умолчанию sizeof( int );

u — десятичное беззнаковое число, размер по-умолчанию sizeof( int );

x и X — шестнадцатеричное число, x использует маленькие буквы (abcdef), X большие (ABCDEF), размер по-умолчанию sizeof( int );

f и F — числа с плавающей запятой. По-умолчанию выводятся с точностью 6, если число по модулю меньше единицы, перед десятичной точкой пишется 0. Величины ±∞ представляются в форме [-]inf или [-]infinity, Величина Nan представляется как [-]nan или [-]nan(любой текст далее). Использование F выводит указанные величины заглавными буквами (-INF, NAN). Аргумент по-умолчанию имеет размер double.

e и E — числа с плавающей запятой в экспоненциальной форме записи (вида 1.1e+44); e выводит символ «e» в нижнем регистре, E — в верхнем (3.14E+0);

g и G — число с плавающей запятой; форма представления зависит от значения величины (f или e);

a и A — число с плавающей запятой в шестнадцатеричном виде;

c — вывод символа с кодом, соответствующим переданному аргументу; переданное число приводится к типу unsigned char (или wint t, если был указан модификатор длины l);

s — вывод строки с нулевым завершающим байтом; если модификатор длины — l, выводится строка wchar_t*;

p — вывод указателя, внешний вид может существенно различаться в зависимости от внутреннего представления в компиляторе и платформе (например, 16 битная платформа MS-DOS использует форму записи вида FFEC:1003, 32-битная платформа с плоской адресацией использует адрес вида 00FA0030);

n — запись по указателю, переданному в качестве аргумента, количества символов, записанных на момент появления командной последовательности, содержащей n;

% — символ для вывода знака процента (%), используется для возможности вывода символов процента в строке printf, всегда используется в виде %%.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]