logo
Шпора по информатике / 002

10.6 Применение функции printf для форматирования

В языке Си функция printf является стандартной функцией для вывода

данных на экран. Её можно использовать и в программах на С++ . Для работы

с ней нужен заголовочный файл <stdio.h> . Достоинство этой функции

состоит в том, что, в отличие от вывода в поток cout, она позволяет явно

указывать формат выводимых данных, т.е. их вид и расположение. Но работа

с ней сложнее, чем с потоком cout. Для её вызова нужен оператор

printf (" ........\n " , список вывода ); (10.9)

Первым параметром является управляющая строка, которая записывается

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

В управляющей строке указывается любой выводимый текст и дескрипторы

для значений. Дескриптор означает “описатель” .

Пример: printf ( “ x = % f y= % f \n”, x, y );

При выводе указанная в кавычках строка копируется, а вместо

знаков процента % в управляющей строке вставляются значения

из списка вывода. Дескрипторы i, f, c характеризуют тип

выводимых значений: i или d используются для целых чисел, f -для

вещественных, с - для символов. Между знаком % и дескриптором может быть

указано количество позиций для чисел или символов,а также количество цифр в

дробной части , например, % 7i , % 11.2f.

Пример: printf ( “ x = %9.2 f y= %9.2 f \n”, x, y ); (10.10)

Если в выделенные позиции число или строка не помещаются, то поле

автоматически расширяется. Есть и другие возможности управления

формой вывода. Напомним, что в арифметических выражениях

символ % означает операцию получения остатка от деления.

Управляющий символ \n -это символ "новая строка" (один символ !).

Перед закрывающей кавычкой его ставят почти всегда для переxода на новую

строку. Если этого не сделать, то следующий вывод, например, сообщение системы,

не будет выводиться с новой строки, т.е. \n - это подготовка следующего вывода.

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

разделяются запятыми. Каждому элементу из списка вывода соответствуют в управляющей строке знак % и дескриптор, т.е. количество знаков % равно длине списка. Можно вызывать printf и без списка вывода.

Пример для функции вывода:

printf (" мой результат: a = %i b= %f %c \n", aa, bb, simvl);

Здесь список вывода сoстоит из трех элементов, т.е. выводятся значения

aa, bb, simvl и эти значения будут отображены вместо первого, второго и

третьего % в управляющей строке.

Форматный вывод в файл, аналогичный printf, выполняет функция языка С

fprintf

В заключение этого раздела отметим, что для современных компиляторов

библиотека стандартных функций языка С переписана в стиле С++ с целью

ускорения выполнения. Использование старой библиотеки при этом также

возможно. Для применения модифицированной библиотеки нужно изменить

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

программы оператор

usimg namespace std;

Имена заголовочных файлов изменяются следующим образом: в начале старого

имени добавляется буква 'c' и удаляется расширение .h . Пример:

# include < math.h > - это стиль языка С,

# include < сmath > - это новый стиль для языка С++.

- - - - - Контрольная работа. Создать массив с фамилией автора.

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

** сpp1 ** 25.04.2004

Лекция 11 Графика в С++