logo
01-Лабораторная работа

1.4. Форматированный ввод и вывод чисел.

Для форматированного ввода данных с консоли используется функция scanf. Для форматированного вывода данных на консоль используется функция printf. Прототипы этих функций описаны в заголовочном файле stdio.h. О заголовочных файлах и стандартных библиотеках будет рассказано позже. Пока же рассмотрим пример программы, в котором с консоли вводятся два целых числа, а затем на консоль выводится их сумма.

#include <stdio.h>

int main()

{

int x, y;

/* выводим текстовое сообщение */

printf("Input two integers: ");

/* вводим два целых числа */

scanf("%d %d", &x, &y);

/* выводим сумму этих чисел */

printf("x + y = %d\n", x + y);

return 0;

}

Немного поясним работу функций scanf и printf. Первым параметром этих функций является строка, которая будет форматироваться при вводе или выводе данных. Если в каком-то месте этой строки нужно вставить символьное представление целого числа, то на это место ставится спецификация ввода или вывода целого числа, которая в обоих случаях имеет вид %d. Следующие за строкой параметры функции scanf представляют собой адреса переменных, в которые нужно ввести целое число. Заметим, что операция взятия адреса переменной обозначается символом ‘&’. В свою очередь следующие за строкой параметры функции printf представляют собой просто целочисленные переменные или литералы, которые нужно вставить в строку для вывода на консоль.

В связи с этим примером также заметим, что управляющий символ ‘\n’ в форматируемой строке функции printf используется для перевода курсора в первую позицию на следующей строке консоли.

Подобным образом выполняется и ввод-вывод действительных чисел. Только для действительных чисел типа double используются следующие спецификации: %lf – для ввода с консоли и %f – для вывода на консоль. Следующий пример демонстрирует форматированный ввод и вывод действительных чисел.

#include <stdio.h>

int main()

{

double x = 0, y = 0;

/* выводим текстовое сообщение */

printf("Input two real numbers: ");

/* вводим два действительных числа */

scanf("%lf %lf", &x, &y);

/* выводим сумму этих чисел */

printf("x + y = %f\n", x + y);

return 0;

}

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