Функции ввода/вывода printf() и scanf()
Цель: Изучить особенности работы функций printf() и scanf().
Функция printf() позволяет выводить информацию на экран. Эта функция в библиотеке stdio.h имеет следующий синтаксис:
printf («форматная строка», список переменных);
Первый аргумент – это форматная строка, выводимая на экран, далее список переменных (может отсутствовать или состоять из выражений), значения которых также могут быть напечатаны.
Форматная строка вывода может содержать специальные управляющие символы (спецификаторы), начинающиеся с символа %. В ней можно использовать управляющие символы горизонтальной табуляции ‘\t’, перевода курсора на другую строку ‘\n’ и другие.
Основные спецификаторы:
%с //одиночный символ
%d //целочисленная переменная, тип int
%f /*вещественная переменная в форме с фиксированной точкой, тип float*/
%е /*вещественная переменная в форме с плавающей точкой, тип float*/
%s //строка символов
%% //знак процента.
Например:
printf (“hello”); //вывод строкиhello
int x=5;
float y=3.5;
printf (“x=%d, \ty=%f.”,x,y); //вывод строки x=5, y=3.5.
К спецификатору формата могут быть добавлены числовые параметры ширина поля и точность, отделяемые точкой. Например, %5.2f, %4d.
Если в строке вывода нет спецификаторов, даже при наличии в списке переменных они не будут напечатаны на экране. Количество переменных в списке должно совпадать с количеством спецификаторов, а по типу переменной он выбирается. При выводе на экран спецификаторы заменяются значениями переменных.
Для ввода с клавиатуры используют функцию scanf(). Эта функция определена в библиотеке stdio.h.
Листинг 1.
# include<stdio.h>
void main()
{ int x;
float y;
printf(«Введи х \t»);
scanf(“%d”,&x); //ввод целочисленной переменной x
printf(«Введи y \t»);
scanf(“%f”,&y); //ввод вещественной переменной y
printf(“x= %d, \n y=%f”, x, y);}
Особенность функции scanf() заключается в том, что перед именем переменной обязательно ставится знак &. В этой функции обязательно присутствуют форматная строка и список переменных.
Данная функция может работать с любым количеством переменных:
scanf(“%d %f”,&x, &y);
Разделителем в потоке ввода может быть любое количество пробелов, знак табуляции или конец строки. При нажатии клавиши enter вводимые значения присвоятся переменным.
Практическая работа
Написать программу вычисления значения функции в соответствии с заданным вариантом. Определить количество исходных переменных, их тип и тип результирующей переменной. Обратите внимание на область определения функций при вводе значений исходных переменных. Проанализировать результат работы программы.
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
Контрольные вопросы
1. Приведите пример использования функции printf() для вывода значений двух целочисленных переменных.
2. Приведите пример использования функции scanf() для ввода значений двух вещественных переменных.
3. Приведите пример использования функции printf() для вывода значений двух вещественных переменных с точностью до сотых.
Лабораторная работа № 3