Процедуры ввода и вывода
Процедуры ввода и вывода
Стандартная библиотека ввода-вывода языка C подключается с помощью директивы препроцессора #include <stdio. h>
Форматный ввод данных пользователя с клавиатуры производится функцией scanf ().
scanf (CONTROL, ARG1, ARG2, …);
Данная функция осуществляет чтение символов, вводимых с клавиатуры, и преобразование их во внутреннее представление в соответствии с типом величин. В функции scanf () CONTROL и список аргументов (ARG1, ARG2, …) присутствуют обязательно.
Символьную последовательность, вводимую с клавиатуры и воспринимаемую функцией scanf (), принято называть входным потоком. Функция scanf () разделяет этот поток на отдельные вводимые величины, интерпретирует их в соответствии с указанным типом и форматом и присваивает переменным, содержащимся в списке аргументов. Список аргументов – это перечень вводимых переменных, причем перед именем каждой переменной ставится значок &. Это знак операции “взятие адреса переменной”.
CONTROL заключается в кавычки (то есть является текстовой константой) и состоит из списка спецификаций. Каждая спецификация начинается со знака %, после которого следует спецификатор.
Для ввода числовых данных используются следующие спецификаторы:
d – для целых десятичных чисел (тип int);
u – для целых десятичных чисел без знака (тип unsigned int);
f – для вещественных чисел (тип float) в форме с фиксированной точкой;
е – для вещественных чисел (тип float) в форме с плавающей точкой (с мантиссой и порядком).
Разделителем в потоке ввода между различными значениями может быть любое количество пробелов, а также другие пробельные символы: знак табуляции, конец строки. Только после нажатия на клавишу Enter вводимые значения присвоятся соответствующим переменным. До этого входной поток помещается в буфер клавиатуры и может редактироваться.
Форматный вывод на экран производится функцией printf ().
printf (CONTROL, ARG1, ARG2, …);
CONTROL заключается в кавычки (то есть является текстовой константой) и может включать в себя произвольный текст, управляющие символы и спецификаторы формата.
Список аргументов (ARG1, ARG2, …) может отсутствовать или же состоять из выражений, значения которых выводятся на экран (в частном случае из констант и переменных). Управляющие символы влияют на расположение на экране выводимых знаков. Признаком управляющего символа является значок .
Вот их список:
– перевод строки;
– горизонтальная табуляция;
– возврат курсора к началу новой строки;
a – сигнал-звонок;
– возврат на один символ (одну позицию);
f – перевод (прогон) страницы;
v – вертикальная табуляция.
Спецификатор формата определяет форму внешнего представления выводимой величины.
Вот некоторые спецификаторы формата:
%c – символ;
%s – строка;
%d – целое десятичное число (тип int);
%u – целое десятичное число без знака (тип unsigned);
%f – вещественные числа в форме с фиксированной точкой;
%е – вещественные числа в форме с плавающей точкой.
Соответствие между спецификаторами формата и элементами списка аргументов устанавливается в порядке их записи слева направо.
Использование функций ввода и вывода смотрите в примерах программ далее по тексту.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКДанный текст является ознакомительным фрагментом.
Читайте также
Планировщики ввода-вывода
Планировщики ввода-вывода Простая отправка запросов на устройство ввода-вывода в том же порядке, в котором эти запросы направляет ядро, приводит к очень плохой производительности. Одна из наиболее медленных операций, которые вообще могут быть в компьютере,— это поиск по
Операции ввода-вывода в AS/400
Операции ввода-вывода в AS/400 Теперь от аппаратной архитектуры ввода-вывода AS/400 перейдем к совместной работе OS/400, SLIC и аппаратуры при выполнении операции ввода-вывода для прикладной программы. Сначала рассмотрим объекты, поддерживающие ввод-вывод, затем — многоуровневую
Компоненты ввода-вывода
Компоненты ввода-вывода 4 Денис! Эту сноску — на поля! Таблица по старому изданию, сравнить с новым. Для верстальщика: по-моему, стоит убрать рамку — будет красивееТаблица 10.1. Язык ввода-вывода AMQ Очередь свободных сообщений BCT Таблица управления шиной BCU Устройство
Будущее ввода-вывода AS/400
Будущее ввода-вывода AS/400 Высокопроизводительные процессоры для будущих систем AS/400 ничего не дадут, если им не поставлять достаточно данных для полноценной загруженности. Давайте кратко рассмотрим будущее подсистемы ввода-вывода AS/400. Хотя этому вопроса уже уделено
Подсистема ввода/вывода
Подсистема ввода/вывода Подсистема ввода/вывода выполняет запросы файловой подсистемы и подсистемы управления процессами для доступа к периферийным устройствам (дискам, магнитным лентам, терминалам и т.д.). Она обеспечивает необходимую буферизацию данных и
Операции ввода/вывода
Операции ввода/вывода На рис. 4.14 представлена схема выполнения операций ввода/вывода с использованием буферного кэша. Важной особенностью этой подсистемы является то, что она обеспечивает независимое выполнение операций чтения или записи данных процессом как
6.2. Модели ввода-вывода
6.2. Модели ввода-вывода Прежде чем начать описание функций select и poll, мы должны вернуться назад и уяснить основные различия между пятью моделями ввода-вывода, доступными нам в Unix:? блокируемый ввод-вывод;? неблокируемый ввод-вывод;? мультиплексирование ввода-вывода
5.4.1. Потоки ввода-вывода
5.4.1. Потоки ввода-вывода Когда программа запускается на выполнение, в ее распоряжение предоставляются три потока (или канала): • стандартный ввод (standard input или stdin). По этому каналу данные передаются программе; • стандартный вывод (standard output или stdout). По этому каналу
5.2. Перенаправление ввода/вывода
5.2. Перенаправление ввода/вывода Практически все операционные системы обладают механизмом перенаправления ввода/вывода, и Linux не является исключением из этого правила. Обычно программы вводят текстовые данные с консоли (терминала) и выводят данные на консоль. При вводе
19.7.2. Перенаправление ввода/вывода
19.7.2. Перенаправление ввода/вывода Перенаправление ввода/вывода уже рассматривалось в гл. 5, поэтому я лишь напомню общий формат команд:команда > (>>) файлсписок > (>>) файлКак вы уже знаете, при использовании одного знака больше файл, в который переназначен вывод,
3.4.6. Потоки ввода-вывода
3.4.6. Потоки ввода-вывода Как я уже сказал, каждому процессу сопоставлена таблица открытых им файлов. Три первых позиции в этой таблице заняты всегда: каждый процесс открывает потоки (помните, что в UNIX файл — это и есть поток данных?) для ввода и вывода данных, а также вывода
7.2.2.3. Планировщик ввода-вывода
7.2.2.3. Планировщик ввода-вывода В ядре 2.6 появилась возможность самостоятельно выбирать планировщик ввода-вывода. Всего используется четыре плани-ровщика.• noop - самый простой планировщик ввода-вывода, практически ничего не умеет, создавался в расчете на использование
Процедуры ввода и вывода
Процедуры ввода и вывода Стандартная библиотека ввода-вывода языка C подключается с помощью директивы препроцессора #include <stdio. h>Форматный ввод данных пользователя с клавиатуры производится функцией scanf ().scanf (CONTROL, ARG1, ARG2, …);Данная функция осуществляет чтение
Устройство ввода-вывода
Устройство ввода-вывода Вообще говоря, существует много способов ведения диалога человека с ЭВМ, но мы будем предполагать, что вы вводите команды при помощи клавиатуры и читаете ответ на экране
Подпрограммы ввода-вывода
Подпрограммы ввода-вывода procedure Read(a,b,...); Вводит значения a,b,... с клавиатуры procedure Readln(a,b,...); Вводит значения a,b,... с клавиатуры и осуществляет переход на следующую строку function ReadInteger: integer; Возвращает значение типа integer, введенное с клавиатуры function ReadReal: