Ты уже написал несколько программ, использовал переменные, отображал на экране сообщения – ты молодец! И, наверное, заметил, что, если хочешь вычислить результат (например, площадь прямоугольника, который имеет другие длины сторон), необходимо изменить значения переменных в программе. И это не очень удобно – почему любой, кто использует твои программы, может внести в них изменения?! А если после модификации они перестанут правильно работать?!
Давайте познакомимся с двумя новыми понятиями: ввод и вывод:
Когда в программировании говорится о вводе, имеется в виду ввод (также используется термин чтение) данных в программу. Они могут быть введены с помощью клавиатуры, или из файла данных.
Когда говорят о выводе, имеется в виду вывод данных (результатов) на экран или в файл.
Для ввода и вывода данных в C и C++ используются различные функции. Давайте посмотрим, какие функции используются в C:
Функции getchar() и putchar(). Эти функции используются для ввода и отображения одного символа. Чтобы их использовать, необходимо объявить заранее переменную типа char – чтобы зарезервировать в памяти место, куда можно записать считанное значение. Кроме того, не забывай об операции присваивания =, – с ее помощью значение, введенное с клавиатуры, присваивается переменной! Функция getchar() используется в соответствии со следующей моделью:
<имя переменной> = getchar();
Для функции putchar() используется следующая модель:
putchar(<<имя переменной>);
Функции scanf() и printf(). Эти функции универсальны. Они могут быть использованы для ввода и вывода данных любого типа. Так же как и для предыдущих функций, необходимо заранее объявить все переменные, значения которых будут считываться или выводиться.
Функция printf() используется в соответствии со следующей моделью:
printf(”сообщения + спецификаторы формата”, список переменных);
Что означает “спецификатор формата“? Спецификатор формата – это сочетание символов % с последующей буквой.Например, спецификаторы %d и %f – используются для вывода чисел. Существует множество различных спецификаторов формата. В этом курсе мы будем использовать только самые важные из них:
%d – для отображения целого числа
%f – для отображения вещественного числа
%c – для отображения одного символа
%s – для отображения строки символов
Более того, функция printf использует и управляющие последовательности. Управляющая последовательность описывает действие, которое должно быть выполнено. Сейчас мы поговорим только о двух из них:
n – переход в новую строку (эквивалент нажатия клавиши ENTER) и
t – горизонтальная табуляция (эквивалент нажатия клавиши SPAСЕ до восьми раз)
После списка спецификаторов формата, размещенных между ” “, следует список переменных, значения которых будут отображаться. Список переменных и список спецификаторов формата связаны порядком элементов: первый спецификатор формата в списке соответствует первой переменной, второй спецификатор соответствует второй переменной и так далее!
При выводе, значение переменной представляется в соответствии со своим спецификатором формата. Внимание! Тип выводимой переменной должен быть совместимым с типом спецификатора формата.
Данная программа выведет:
– строку со значениям переменных a и b (строка 19 программы);
– строку со значениями вещественных переменных x и y (строка 20 программы)
– строку с произведением значений переменных a и b (строка 21 программы)
– строку со средним значением переменных (строка 22)
Функция scanf() работает по принципу, аналогичному функции printf(), с той лишь разницей, что переменным, ассоциированным списку спецификаторов формата, присваиваются значения, введенные с клавиатуры.
Присвоение значения считаной переменной выполняется с помощью операции адресации &.
Таким образом, оператор вызова функции имеет следующее значение: ”считай значение указанного типа и запиши его по адресу переменной с заданным именем”
scanf(”%<спецификатор формата>”, &<имя переменной>);