Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Пособие_2_изд_испр.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
2.27 Mб
Скачать

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

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

Рекомендация по вводу-выводу числовых значений. Для ввода-вывода целых значений следует использовать спецификацию d. Для ввода значений с плавающей точкой любой величины достаточно спецификации f. Если значения с плавающей точкой по модулю невелики(или немалы), разумно применять спецификацию f, в противном случае – спецификацию 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

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

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

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

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

Пример.

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");