Форматный вывод
Форматный вывод числовых результатов на стандартное устройство вывода (stdout), которым по умолчанию является экран дисплея, осуществляется с помощью функции printf.
Общий вид записи оператора
printf("список форматов",cпиcoк имен переменных и выражений);
Например:
printf ("Результат: %d + %d = %d \n", a, b, c );
Содержание скобок при вызове функции printf очень похоже на функцию scanf. Сначала идет символьная (управляющая) строка — форматы вывода, — в которой можно использовать специальные символы:
%d - вывод целого числа
%f - вывод вещественного числа
%e - вывод вещественного числа в экспоненциальной форме
%с - вывод одного символа
%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.700000
Управление выводом данных
При стандартной форме вывода вещественные числа отображаются на экране с шестью знаками после запятой. При выводе числа в экспоненциальном формате мантисса выводится в нормализованном виде, т.е. с одной значащей цифрой в целой части и шестью цифрами в дробной части. На порядок отводится пять позиций: первая позиция - под букву e, вторая позиция - под знак порядка, третья, четвертая и пятая позиции - под цифры порядка.
Если программиста не устраивает стандартная форма вывода, он может использовать специальный форматированный вывод, в котором предусмотрены следующие параметры:
1. Ширина поля, определяющая число позиций на экране, отводимых для вывода всего числа, включая целую, дробную части, знак и десятичную точку.
2. Точность представления вещественного числа, определяющая число позиций в дробной части.
Вещественное число с указанием форматов всегда выводится в десятичной форме. Для целого числа используется только формат ширины поля.
В операторах вывода параметры форматов записываются после знака % и отделяются друг от друга точкой. Например, при записи оператора
printf("K=%3d у=%5.2f",8+3,7.0/10);
результаты отображаются на экране в следующем виде:
К= 11 у = 0.70
В приведенном примере в форматах %3d и %5.2f параметры 3 и 5 задают ширину поля, 2 - точность выводимого числа, т.е. значение выражения 7./10 будет выведено на экран с двумя значащими цифрами после запятой.
Дата добавления: 2015-02-10; просмотров: 924;