Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Интегрирование Глава 3.doc
Скачиваний:
3
Добавлен:
12.11.2018
Размер:
986.62 Кб
Скачать

Оператор вывода на дисплей

Оператор используется для организации форматного вывода численных значений переменных на экран дисплея.

Структура оператора:

printf(“управляющая строка” [, П1, …, Пi, ..., Пn] );

, где printf – имя функции («напечатать»);

“управляющая строка” – список спецификаторов выводимых переменных, оформленный в виде символьной строки;

П1 Пi Пn – список идентификаторов выводимых переменных;

, , – разделители аргументов в списке функции printf;

( ) – ограничители аргументов функции printf;

[ ] – признак необязательности содержимого;

; – символ оператора.

Структура спецификатора вывода (упрощённая):

%[длина][.точность]тип,

, где % – признак спецификатора;

длина – целая константа без знака, определяющая общий размер поля выводимой переменной (количество разрядов численного значения с учетом разделителя, знаков и буквы Е (е), если они имеются);

точность – целая константа без знака, определяющая число разрядов дробной части мантиссы численного значения переменной;

. – разделитель длины и точности;

тип – буквенное обозначение типа переменной;

[ ] – признак необязательности содержимого.

Обозначения типа, используемые при выводе, представлены в табл. 3.8.

Таблица 3.8

Тип

переменной

Обозначение типа

Формат вывода

int

d

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

long

ld

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

unsigned

u

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

int

o

Восьмеричное целое без знака

int

x

Шестнадцатеричное целое без знака

double

f (lf)

Вещественное со знаком в формате:

[-]dddd.dddddd Количество цифр перед десятичной точкой зависит от величины числа, а число разрядов после нее соответствует заданной точности или равно шести

double

e (E)

Вещественное со знаком в формате:

[-]d.dddddde[+][-]d[dd]

char

c

Одиночный символ

cтрока

s

Последовательность символов до первого нулевого (\0)

При выводе спецификатор позволяет задавать формат численного значения выводимой переменной с указанием планируемой точности. Так, спецификатор %8.3f задаёт один конкретный вариант формата (вещественная, восьмиразрядная, без экспоненты, с тремя разрядами после запятой), а спецификатор %12.4e – другой (вещественная, двенадцатиразрядная, с экспонентой, с четырьмя разрядами после запятой в мантиссе).

Следовательно, оператор вывода предписывает последовательную печать значений выводимых переменных на одной или нескольких строках экрана дисплея в соответствии с указаниями управляющей строки.

Правила составления и выполнения оператора вывода

  1. Количество, типы и порядок расположения спецификаторов в управляющей строке должны соответствовать количеству, типам и последовательности переменных в их списке.

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

  3. Параметр «длина» определяет минимальное число выводимых цифр (символов). Если в целой части вычисленного значения переменной их меньше, чем задано параметром, левые незначащие разряды заполняются пробелами до заданной длины.

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

  5. Для целых (символьных) переменных поле «точность» (при отсутствии параметра «длина») определяет количество выводимых цифр (символов). Его использование может привести к усечению или округлению выводимого значения.

  6. Если параметр «точность» не задан, для спецификаторов е (Е) и f его значение равно шести, а для s – нулю.

  7. По спецификатору типа е(Е) численное значение выводится в нормализованном виде, т.е. с одним разрядом целой части.

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

  9. Если управляющая строка по размеру превышает стандартную ширину страницы, она должна быть оформлена с переносом.

  • Внимание! При переносе управляющей (символьной) строки требуется оформление каждой её части в виде отдельной символьной строки.

Пример организации вывода переменных на экран дисплея:

printf(“%10d%9.1f%11.1e”, i, r, z);

Оператор осуществляет вывод строки:

– – – – – – – – 18 – – 12000.0 – – – – 3.6е-03

  • Внимание! Здесь и в дальнейшем информация, выдаваемая ЭВМ, подчёркивается.