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

3.2.14. Форматированный вывод данных в c

Функции ввода-вывода определены в головном файле stdio.h.

Функция форматированного вывода printf() стандартной библиотеки C формирует и выводит задаваемые аргументами значения на дисплей как символьные строки. Функция имеет переменное число аргументов и вызывается следующим образом:

printf("строка-формата" [, аргумент-1 [, аргумент-2,...]]);

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

Простая спецификация формата содержит только символ "%" и символ выводимого типа. Основные символы типов приведены в табл. 3.2.8.

Табл. 3.2.8. Основные символы типов в спецификациях формата языка C

Сим-вол

типа

Тип

аргумента

Вид печати

d

int

Десятичное целое число.

i

int signed

Десятичное целое число со знаком.

u

int unsigned

Десятичное целое число без знака.

o

int

Восьмеричное число без знака (без 0 в начале числа).

x, X

int

Шестнадцатеричное число без знака (без 0x или 0X в начале числа).

c

int или char

Единичный символ после преобразования в unsigned char.

s

char *

Строка символов.

f

float или double

Десятичное число с точкой и со знаком "-" (если число отрицательное).

e, E

float или double

Десятичное число в экспоненциальной форме (целая часть, дробная часть и, после e или E показатель степени со знаком).

g, G

float; double

В зависимости от величины и точности числа выводится либо по типу f, либо по типам e или E.

%

%

Выводится символ "%".

Если число спецификаций формата больше числа аргументов, излишние спецификации игнорируются. В обратном случае результат вывода не определен.

Функция printf() возвращает целое число типа int – количество выведенных символов или отрицательное значение, если возникла ошибка ввода-вывода, однако, как правило, возвращаемое значение этой функции не используется.

Примеры вывода с использованием функции printf():

1. printf("\nВведите x:");

Будет выведено:

Введите x:

2. printf("\nx=%d y=%f z=%e", x, y, z);

Если значения x=5, y=0,8 и z=-0,5, будет выведено:

x=5 y=0.8 z=-0.5e+00

3. printf("\nЗадач: %d\nИз них правильно решено: %d (%f%%)",

total,right_answered,(float)right_answered*100/total);

Если значения total=12, right_answered=4, будет выведено:

Задач: 12

Из них правильно решено: 4 (33.333333%)

4. int outerror;

outerror = printf("\nsum=%d", sum);

if(outerror < 0) /* Если ошибка при выводе sum, */

return 1; /* выход из программы */