Лабораторная работа: Организация ввода-вывода
Настоящие указания являются первой работой в серии, посвященной отдельным вопросам программирования на языке Си в оболочке ВС++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
Бесплатно скачать Лабораторная работа: Организация ввода-вывода
|