Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
объявления и иницализация переменных.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
94 Кб
Скачать
☆

I nt main(){

double item;

item = 10.12304;

printf("%f\n", item);

printf("%10f\n", item);

printf("%012f\n", item);

return 0;}

Вот что выводится при выполнении этой программы:

10.123040

10.123040

00010.123040

Модификатор ширины поля чаще всего используется при создании таблиц, в которых столбцы должны быть выровнены по вертикали.

Н апример, следующая программа выводит таблицу квадратов и кубов чисел от 1 до 18:

#include <stdio.h>

Int main()

{

int i;

/* вывод таблицы квадратов и кубов */

for(i=1; i<19; i++)

printf("%8d%8d%8d\n",i,i*i,i*i*i);

return 0;

}

Вывод:

1 1 1

2 4 8

3 9 27

4 16 64

5 25 125

6 36 216

7 49 343

8 64 512

9 81 729

10 100 1000

11 121 1331

12 144 1728

13 169 2197

14 196 2744

15 225 3375

16 256 4096

17 289 4913

18 324 5832

Модификатор точности следует за модификатором ширины поля (если таковой имеется). Он состоит из точки и расположенного за ней целого числа. Когда модификатор точности применяется к данным с плавающей точкой, для преобразования которых используются спецификаторы преобразования %f, %e или %E, то он определяет количество выводимых десятичных разрядов. Например, %10.4f означает, что ширина поля вывода будет не менее 10 символов, причем для десятичных разрядов после точки будет отведено четыре позиции. Если модификатор точности применяется к %g или %G, то он определяет количество значащих цифр. Примененный к строкам, модификатор точности определяет максимальную длину поля. Например, %5.7s означает, что длина выводимой строки будет составлять минимум пять и максимум семь символов. Если строка окажется длиннее, чем максимальная длина поля, то конечные символы выводиться не будут. Если модификатор точности применяется к целым типам, то он определяет минимальное количество цифр, которые будут выведены для каждого из чисел. Чтобы получилось требуемое количество цифр, добавляется некоторое количество ведущих нулей. В следующей программе показано, как можно использовать модификатор точности:

Int main(void){

printf("%.4f\n", 123.1234567);

printf("%3.8d\n", 1000);

printf("%10.15s\n", "Это простая проверка.");

return 0;}

Вот что выводится при выполнении этой программы:

123.1235

00001000

Это простая про

По умолчанию весь вывод выравнивается по правому краю. То есть если ширина поля больше ширины выводимых данных, то эти данные располагаются по правому краю поля. Вывод по левому краю можно назначить принудительно, поместив знак минус прямо за %. Например, %-l0.2f означает, что число с плавающей точкой и с двумя десятичными разрядами будет выровнено по левому краю 10-символьного поля.

В следующей программе показано, как применяется выравнивание по левому краю:

#include <stdio.h>