Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

amp;>файл или >&файл



Направить стандартный поток вывода и стандартный поток ошибок в файл. Другая форма записи: >файл 2>&1. >&-

Закрыть поток вывода перед вызовом команды 2>&-

Закрыть поток ошибок перед вызовом команды cat <<EOF

Весь текст между блоками EOF (в общем случае вместо EOF можно использовать любое слово) будет выведен на экран. Важно: перед последним EOF не должно быть пробелов!

Функция scanf

#include <stdio.h>int scanf(const char * format,...);

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

Основным отличием применения функции scanf() от функции printf() является знак & перед именем переменной, в которую записываются результаты ввода.

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

scanf(“ %d, %d ”, &n, &m);

Функция scanf() интерпретирует это так, как будто ожидает, что пользователь введет число, затем – запятую, а затем – второе число. Все происходит так, как будто требуется ввести два целых числа следующим образом:

88,221 или 88, 221 Функция scanf() возвращает число успешно считанных элементов. Если операции считывания не происходило, что бывает в том случае, когда вместо ожидаемого цифрового значения вводится какая-либо буква, то возвращаемое значение равно 0.

Для ввода данных в Фортране предусмотрен оператор READ, а для вывода – оператор WRITE. Для вывода данных на стандартное устройство чаще используется оператор PRINT, поскольку формат его записи предполагает, что устройство вывода предопределено.

Список ввода/вывода начинается сразу после закрытия круглых скобок для READ (*,*) и WRITE (*,*) или через запятую после единственной «звездочки» для READ* и WRITE*. В список могут присутствовать скаляры и массивы всех встроенных и производных типов, включая переменные, буквальные и именованные константы и выражения.

В простейшем виде спецификация формата имеет вид:

%ширина_поля.точность спецификатор

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

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

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

d - для целых значений (типов int, char, unsigned);

f - для вещественных значений (типов float, double);

e - для вещественных значений (типов float, double)с указанием порядка, т. е. в виде:

Список спецификаций определяет формат данных и их расположение во входном потоке при вводе или на строке при выводе.

Спецификации формата начинаются с символа % и заканчиваются символом, определяющим тип выводимого значения. Кроме того, спецификации формата могут содержать символы и цифры для управления видом выводимого значения (подробно см. ниже). Список вывода состоит из переменных и/или констант, значения которых должны быть выведены. Количество спецификаций формата должно быть равно количеству выводимых значений, которые указываются в списке вывода. Если это условие не будет соблюдаться, выполнение функции может привести к непредсказуемым результатам. Ввод осуществляется функцией scanf, которая имеет следующий синтаксис:

scanf (<строка описания форматов> [, <список ввода> ]);

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

· Еслисписок спецификаций будет исчерпан раньше, чем список ввода-вывода, то перебор элементов списка спецификаций будет повторен, начиная с первого элемента последней группы спецификаций, первого уровня, иными словами - с самой правой открывающей скобки первого уровня. Повторный перебор элементов списка спецификаций, не содержащего повторяемых групп спецификаций, начинается с первого элемента. [ 3 ]

· Еслисписок спецификаций будет исчерпан раньше, чем список ввода-вывода, то перебор элементов списка спецификаций будет повторен, начиная с первого элемента последней группы спецификаций первого уровня, иными словами - с самой правой открывающей скобки первого уровня. Повторный перебор элементов списка спецификаций, не содержащего повторяемых групп спецификаций, начинается с первого элемента. [ 4 ]

· Еслисписок спецификаций формата исчерпан, то спецификации повторяются от начала списка форматов. [ 5 ]

· Элементысписка спецификаций или весь список вместе с окаймляющими скобками как текстовые константы могут быть присвоены переменным или элементам массивов либо с помощью оператора DATA, либо вводом по спецификации А. [ 6 ]

· Элементысписка спецификаций или весь список вместе с окаймляющими скобками как текстовые константы могут быть присвоены переменным или элементам массивов либо с помощью оператора DATA, либо вводом по спецификации А. [ 7 ]

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

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

· В одном операторе FORMATсписок спецификаций может содержать коды различных видов. [ 10 ]

· При этом, еслисписок спецификаций закончился, а список переменных еще не исчерпан, то список спецификаций начинает разворачиваться заново, начиная с последней левой скобки. [ 11 ]

· Переход на повторный переборсписка спецификаций сопровождается переходом к новой (следующей по порядку) записи файла. [ 12 ]

· В запись переносится содержимоесписка спецификаций между апострофами. [ 13 ]

· Переход на повторный переборсписка спецификаций сопровождается переходом к новой (следукяцей по порядку) записи файла. [ 14 ]

· В запись переносится содержимоесписка спецификаций между апострофами. [ 15 ]





Дата публикования: 2015-11-01; Прочитано: 183 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.008 с)...