Вывод символов

Для вывода отдельного символа используйте %с. В результате соответствующий аргумент будет выведен на экран без изменения.

Для вывода строки используйте %s.

Вывод чисел

Числа в десятичном формате со знаком отображаются с помощью спецификатора преобразования %d или %i. Эти спецификаторы преобразования эквивалентны; оба поддерживаются в силу сложившихся привычек программистов, например, из-за желания поддерживать те же спецификаторы, которые применяются в функции scanf().

Для вывода целого значения без знака используйте %u.

Спецификатор преобразования %f дает возможность выводить числа в формате с плавающей точкой. Соответствующий аргумент должен иметь тип double.

Спецификаторы преобразования %e и %E в функции printf() позволяют отображать аргумент типа double в экспоненциальном формате. В общем виде числа в таком формате выглядят следующим образом:

x.dddddE+/-yy

Чтобы отобразить букву E в верхнем регистре, используйте спецификатор преобразования %E; в противном случае используйте спецификатор преобразования %e.

Спецификатор преобразования %g или %G указывает, что функции printf() необходимо выбрать один из спецификаторов: %f или %e. В результате printf() выберет тот спецификатор преобразования, который позволяет сделать самый короткий вывод. Если нужно, чтобы при выборе экспоненциального формата буква E отображалась на верхнем регистре, используйте спецификатор преобразования %G; в противном случае используйте спецификатор преобразования %g.

Применение спецификатора преобразования %g показано в следующей программе:

#include <stdio.h>

int main(void)

{

double f;

for(f=1.0; f<1.0e+10; f=f*10)

printf("%g ", f);

return 0;

}

В результате выполнения получится следующее:

1 10 100 1000 10000 100000 1e+06 1e+07 1e+08 1e+09

Целые числа без знака можно выводить в восьмеричном или шестнадцатеричном формате, используя спецификатор преобразования %o или %x. Так как в шестнадцатеричной системе для представления чисел от 10 до 15 используются буквы от А до F, то эти буквы можно выводить на верхнем или на нижнем регистре. Как показано ниже, в первом случае используется спецификатор преобразования %X, а во втором — спецификатор преобразования %x:

#include <stdio.h>

int main(void)

{

unsigned num;

for(num=0; num < 16; num++) {

printf("%o ", num);

printf("%x ", num);

printf("%X\n", num);

}

return 0;

}

Вот что вывела эта программа:

0 0 0

1 1 1

2 2 2

3 3 3

4 4 4

5 5 5

6 6 6

7 7 7

10 8 8

11 9 9

12 a A

13 b B

14 c C

15 d D

16 e E

17 f F


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: