Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






  • Вывода и ввода информации






    Важная составляющая часть решения любой задачи – представление результатов.

    При запуске программы к ней автоматически присоединяются три потока. Стандартный поток ввода stdin обычно присоединяется к клавиатуре, а стандартный поток вывода stdout – к устройству вывода информации на экран монитора. Третий поток – стандартный поток ошибок stderr – также присоединяется к экрану. В него выводятся сообщения об ошибках.

    Функции printf() и scanf() ( заголовочный файл stdio.h) позволяют пользователю общаться с программой. Они называются функциями вывода/ввода (output/input).

    Форматированный вывод на экран осуществляется с помощью функции printf(), имеющей следующую структуру:

    printf (”форматная строка”, список_вывода);

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

    Признаком управляющего символа является значок \. Ниже приводится их список:

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

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

    \r – возврат курсора к началу новой строки;

    \b – возврат на один символ (одну позицию);

    \f – перевод (прогон) страницы;

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

    Спецификатор формата определяет форму внешнего представления выводимой величины. Вот некоторые спецификаторы формата:

    %с – символ;

    %s – строка;

    %d (%i) – целое десятичное число (тип int);

    %u – целое десятичное число без знака (тип unsigned);

    %f – вещественные числа в форме с фиксированной точкой;

    %е – вещественные числа в форме с плавающей точкой (с мантиссой и порядком);

    %ld – вывод long int;

    %lf – вывод double.

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

    Пример:

    #include < stdio.h>

    void main()

    {

    int a;

    char b;

    float x, y;

    a=2; x=3.14; y=0.0317; b=’A’;

    printf(" a=%2d\t x=%4.2f\t y=%6.2e\t b=%c", a, x, y, b);

    }

    На экране дисплея высветится:

    a= 2 x=3.14 y=3.17e-2 b=A

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

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

    Форматированный ввод с клавиатуры осуществляется с помощью оператора вызова функции scanf(), имеющего следующую структуру:

    scanf (форматная_строка, список_аргументов);

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

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

    Список аргументов – это перечень вводимых переменных, причем перед именем каждой переменной ставится значок &. Это знак операции «взятие адреса переменной».

    Форматная строка заключается в кавычки (как и для printf) и состоит из списка спецификаций. Каждая спецификация начинается со знака %, после которого могут следовать

    *ширина_поля модификатор спецификатор

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

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






    © 2023 :: MyLektsii.ru :: Мои Лекции
    Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
    Копирование текстов разрешено только с указанием индексируемой ссылки на источник.