
- •Технология программирования линейных процессов
- •Постановка задачи
- •Формирование математической модели
- •Выбор метода решения
- •Составление алгоритма решения
- •Программирование задачи
- •Ключевые слова
- •Константы
- •Целые константы
- •Вещественные константы
- •Текстовые константы
- •Переменные
- •Правила записи и использования оператора
- •Функции. Вызовы функций
- •Арифметические выражения
- •Правила записи и вычисления арифметических выражений
- •Оператор присваивания
- •Правила составления и использования
- •Операторы ввода-вывода
- •Оператор ввода
- •Правила составления и выполнения оператора ввода
- •Оператор вывода на дисплей
- •Правила составления и выполнения оператора вывода
- •Оператор вывода в поток
- •Организация ввода-вывода переменных
- •Ввод переменных
- •Вывод переменных
- •Заголовок программы
- •Тело программы
- •Поэлементная структура простейшей программы
- •Предмашинная подготовка задачи определения площади круга
- •Постановка задачи
- •Создание математической модели задачи
- •Выбор метода решения
- •Составление алгоритма решения
- •Программирование задачи
- •Заключение
- •Вопросы для контроля
Оператор вывода на дисплей
Оператор используется для организации форматного вывода численных значений переменных на экран дисплея.
Структура оператора:
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 – другой (вещественная, двенадцатиразрядная, с экспонентой, с четырьмя разрядами после запятой в мантиссе).
Следовательно, оператор вывода предписывает последовательную печать значений выводимых переменных на одной или нескольких строках экрана дисплея в соответствии с указаниями управляющей строки.
Правила составления и выполнения оператора вывода
-
Количество, типы и порядок расположения спецификаторов в управляющей строке должны соответствовать количеству, типам и последовательности переменных в их списке.
-
Если переменных больше, чем спецификаторов, лишние (последние) игнорируются. Если переменных меньше – ошибка, результат непредсказуем.
-
Параметр «длина» определяет минимальное число выводимых цифр (символов). Если в целой части вычисленного значения переменной их меньше, чем задано параметром, левые незначащие разряды заполняются пробелами до заданной длины.
-
Если количество символов в целой части выводимого значения больше планируемого параметром «длина» или он не задан, выводятся все цифры (символы) с учетом предписаний поля «точность».
-
Для целых (символьных) переменных поле «точность» (при отсутствии параметра «длина») определяет количество выводимых цифр (символов). Его использование может привести к усечению или округлению выводимого значения.
-
Если параметр «точность» не задан, для спецификаторов е (Е) и f его значение равно шести, а для s – нулю.
-
По спецификатору типа е(Е) численное значение выводится в нормализованном виде, т.е. с одним разрядом целой части.
-
В управляющей строке наряду со спецификаторами возможно указывать требуемые пользователю совокупности символов, облегчающие чтение и увеличивающие информативность выводимых численных значений (имена переменных, пробелы, символы управления печатью).
-
Если управляющая строка по размеру превышает стандартную ширину страницы, она должна быть оформлена с переносом.
-
Внимание! При переносе управляющей (символьной) строки требуется оформление каждой её части в виде отдельной символьной строки.
Пример организации вывода переменных на экран дисплея:
printf(“%10d%9.1f%11.1e”, i, r, z);
Оператор осуществляет вывод строки:
– – – – – – – – 18 – – 12000.0 – – – – 3.6е-03
-
Внимание! Здесь и в дальнейшем информация, выдаваемая ЭВМ, подчёркивается.