Студопедия Главная Случайная страница Задать вопрос

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

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





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

Общий вид записи оператора

printf("список форматов",cпиcoк имен переменных и выражений);

Например:

printf ("Результат: %d + %d = %d \n", a, b, c );

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

%d - вывод целого числа

%f - вывод вещественного числа

%с - вывод одного символа

%s - вывод символьной строки

\n - переход в начало новой строки экрана

все остальные символы (кроме некоторых других специальных команд) просто выводятся на экран.

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

printf ( "Результат: %d + %d = %d \n", a, 5, a+5 );

Так же, как и для функции scanf, надо следить за совпадением типов форматов и типов переменных, а также количества форматов вывода и переменных.

Пример1:

#include "stdafx.h"

int main(){ int i; float f; double d;.......... printf("%d %f %lf", i+1, f, f*d);..........}

Пример 2:

Операторы

printf("Выходные данные:\n");

printf("K=%d y=%f", 8+5, 7.0/10);

выводят на экран результаты в следующем виде:

Выходные данные:

К=13 у=0.7

Управление выводом данных

При стандартной форме вывода вещественные числа отображаются на экране с шестью знаками после запятой. Мантисса выводится в нормализованном виде, т.е. с одной значащей цифрой в целой части и десятью цифрами в дробной части. На порядок отводится четыре позиции: первая позиция - под букву Е, вторая позиция - под знак порядка, третья и четвертая позиции - под цифры порядка.

Если программиста не устраивает стандартная форма вывода, он может использовать специальный форматированный вывод, в котором предусмотрены следующие параметры:

1. Ширина поля, определяющая число позиций на экране, отводимых для вывода всего числа, включая целую, дробную час­ти, знак и десятичную точку.

2. Точность представления вещественного числа, опреде­ляющая число позиций в дробной части.

Вещественное число с указанием форматов всегда выводится в десятичной форме. Для целого числа используется только фор­мат ширины поля.

В операторах вывода параметры форматов записываются после знака % и отделяются друг от друга точкой. На­пример, при записи оператора

printf("K=%3d у=%5.2f",8+3,7.0/10);

результаты отображаются на экране в следующем виде:

К= 11 у = 0.70

В приведенном примере в форматах %3d и %5.2f параметры 3 и 5 задают ширину поля, 2 - точность выводимого числа, т.е. значение выражения 7./10 будет выведено на экран с двумя значащими цифрами после запятой.






Дата добавления: 2014-11-12; просмотров: 217. Нарушение авторских прав

Studopedia.info - Студопедия - 2014-2017 год . (0.024 сек.) русская версия | украинская версия