Лабораторная работа: Организация ввода-вывода

Настоящие указания являются первой работой в серии, посвященной отдельным вопросам программирования на языке Си в оболочке ВС++2.0.

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

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

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

Здесь не рассматривается графический ввод-вывод.

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

Программы, написанные для практических и лабораторных задач, должны быть распечатаны и оформлены в соответствии со стандартными требованиями, предъявляемыми к программному обеспечению.


Теоретическая часть

1. Функция printf

Предназначена для вывода переменного числа аргументов в стандартный поток вывода stdout. Перед выводом аргументы подвергаются форматированию. Возвращает число реально выведенных символов, включая управляющие символы.

Синтаксис: int printf(const char *format [, argument, ...]);

Первый и обязательный аргумент format представляет собой строковую константу и содержит элементы двух видов:

1. Символы ASCII-таблицы, представленные их фактическим написанием (например, 1, _ , пробел, Ф, символы псевдографики), символьными константами (например, \101 - ascii-код буквы А) или их мнемокодами.

Перечислим наиболее употребительные мнемокоды:

\n – перевод строки,

\r - возврат каретки,

\t – горизонтальная табуляция,

\v - вертикальная табуляция.

Эти символы выдаются на печать. Чтобы напечатать специальные символы \ и", перед ними надо поставить символ \.

2. Спецификаторы вывода, имеющие вид

% [flags] [width] [.prec] [F|N|h|l] type .

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

2. Структура спецификаторов вывода

Таблица 1

Элемент type спецификатора

Type

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

d,i

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

О

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

U

--> ЧИТАТЬ ПОЛНОСТЬЮ <--

К-во Просмотров: 478
Бесплатно скачать Лабораторная работа: Организация ввода-вывода