Модификаторы формата

Модификаторы формата применяются для управления шириной поля, отводимого для размещения значения. Модификаторы – это одно или два числа, первое из которых задает минимальное количество позиций, отводимых под число, а второе – сколько из этих позиций отводится под дробную часть числа (точность). Если указанного количества позиций для размещения значения недостаточно, автоматически выделяется большее количество позиций:

· %-minC или %minC;

· %-min.precisionC или Xmin.precisionC.

Здесь С – спецификация формата из приведенной выше таблицы,
min – число, задающее минимальную ширину поля. Смысл модификатора precision, также задаваемого десятичным числом, зависит от спецификации формата, с которой он используется:

· при выводе строки (спецификация %s)precisionуказывает максимальное число символов для вывода;

· при выводе вещественного числа (спецификации %fили %e) precisionуказывает количество цифр после десятичной точки;

· при выводе целого числа (спецификации %dили %i), precisionуказывает минимальное количество выводимых цифр. Если число представляется меньшим числом цифр, чем указано в precision,выводятся ведущие (начальные) нули;

· при выводе вещественного числа (спецификации %d или %G) precisionуказывает максимальное количество значащих цифр, которые будут выводится.

Символ минус (-) указывает на то, что значение выравнивается по левому краю и, если нужно, дополняется пробелами справа. При отсутствии минуса значение выравнивается по правому краю и дополняется пробелами слева.

Перед спецификацией могут использоваться префиксы lи h, например, %lf, %hu.

Префикс hс типами d, i, о, х и Xуказывает на то, что тип аргумента short int,а с типом u – short unsigned int.

Префикс l с типами d, i,о, х и Xуказывает на то, что тип аргумента long int,с типом u - long unsigned int,а с типами е, Е, f, gи G– что тип аргумента double,а не float.

Пример:

#include <stdio.h>

int main(){

int int1=45,int2=13;

float f=3.621;

double db1=2.23;

char ch='z', *str="ramambahari";

printf("int1 = %d| int2 = %3d| int2 = %-4d|\n",int1, int2, int2);

printf("int1 = %X| int2 = %3x| int2 = %4o|\n", int1, int2, int2);

printf("f = %f| f = %4.2f| f = %6.1f|\n", f, f, f);

printf("f = %g| f = %e| f = %+E|\n", f, f, f);

printf("db1 = %5.2lf| db1 = %e| db1 = 4.1G|\n", db1, db1, db1);

printf("ch = %c| ch = %3c|\n", ch, ch);

printf("str = %14s|\n str = %-14s|\n str = %s|\n", str, str, str);

return 0;

}

 









Дата добавления: 2015-10-09; просмотров: 947;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.005 сек.