Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции.docx
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
933 Кб
Скачать
☆

6.1.1.4. Спецификация g (универсальная спецификация)

С помощью этой спецификации можно вводить и выводить любые числовые значения. Формат спецификации g аналогичен формату спецификации e. Эту спецификацию удобно использовать для вывода значений с плавающей точкой, когда неизвестен диапазон выводимых значений. Если значение лежит в диапазоне 104<=|x|<10D, где D – параметр спецификации, то оно будет выводиться по спецификации f, если значение вне указанного диапазона, то по спецификации e. Это дает возможность всегда получать внешнее представление значения приемлемой длины. При этом конечные нули не выводятся. Если использовать заглавную букву G, то при выводе в показательной форме будет применяться заглавная буква E в представлении порядка.

Пример.

Значение в памяти Спецификация Внешнее представление

0.000485456 .5g 0.00048546

4.456e-5 .5g 4.456e-05

4.456 .5g 4.456

4.456e4 .5g 44560

4.456e6 .5g 4.456e+06

0.0004456 .5g 0.0004456

4.456e6 .5G 4.456E+06

Рекомендация по вводу-выводу числовых значений. Для ввода-вывода целых значений следует использовать спецификацию d. Для ввода значений с плавающей точкой любой величины достаточно спецификации f. Если значения с плавающей точкой по модулю невелики(или немалы), разумно применять спецификацию f, в противном случае – спецификацию g. Спецификацию e можно вообще не использовать.

6.1.2. Вывод символьной информации

Ввод. Будет рассмотрен в другом разделе.

Вывод. Также излагаются не все возможности. Цель данного раздела – дать средства для формирования пояснительных надписей.

Символы управляющей строки, не входящие в спецификации, выводятся в порядке их следования. Для вывода символа "%" записывают "%%".

Пример.

printf("Число успешных сеансов составляет %d%%\n",kol);

printf("Рост:%.1f[см] Вес:%.3f[кг]\n", height, weight);

На экране получим:

Число успешных сеансов составляет 72%

Рост:181.5[см] Вес:75.600[кг]

Иногда требуется вывести несколько пробелов подряд для того, чтобы выровнять столбцы таблицы и т.п. Для этого можно использовать спецификацию вида: %[W]c, которая описывает 1 символ. Выводимый символ слева дополняется пробелами до W.

Пример. printf("L=%d%5cM=%d\n", l, ' ', m);

На экране получим: L=15 M=12

Пример.

Вычислить и напечатать таблицу: y=exp(-x)cos(*x) x->[0; 0.75]

Шаг dx=0.05

Макет

X

Y

x.xx

-0.xxxxx

............................................

x.xx

-0.xxxxx

1 часть. Шапка. Располагается до цикла расчета таблицы функции.

printf("+------+----------+\n");

printf("| X | Y |\n");

printf("+------+----------+\n");

2 часть. В теле цикла расчета.

printf("|%5.2f |%9.5f |\n", x, y);

3 часть. После завершения цикла.

printf("+------+----------+\n");