Назначение и описание функции
Функция позволяет ввести информация с клавиатуры. Функция определяется в библиотеке <stdio.h>. Синтаксис:
scanf(<управляющая строка>, <список адресов переменных>);
где <управляющая строка> - строка, которая может содержать только спецификации формата, перечень допустимых значений спецификаций тот же самый, что и для функции printf() (см. табл. 3.1.);
<список адресов переменных> – содержит перечисленные через запятую адреса переменных, вводимых функцией. Адрес переменной указывается символом & и далее идет идентификатор переменной, например, адрес переменной flag обозначается символами &flag. Для массивов и строк указывать символ & не обязательно.
Замечание: При использовании функции scanf() в управляющей строке нежелательно использовать никаких лишних символов (даже пробелов), кроме спецификаций. Нельзя использовать и специальные символы.
Примеры:
1) Ввести с клавиатуры переменные population и age типов длинное целое и вещественное число:
scanf(“%ld%f”, &population, &age);
2) Ввести с клавиатуры целую переменную kod в шестнадцатеричном формате, строку name и вещественную переменную двойной точности precision:
scanf(“%x%s%lf”, &kod, name, &precision);
При вводе нескольких переменных разделителями между ними являются клавиши пробела, табуляции и ENTER.
Пример 3.1
Рассмотрим программу, в которой вычисляется значение функции y=sin(x) для двух введенных с клавиатуры значений аргумента. При этом вывод на экран необходимо выполнить в виде следующей таблицы (ширина поля каждой переменной 8 позиций, точность – 4 знака):
x | y |
xx.xxxx | xx.xxxx |
xx.xxxx | xx.xxxx |
Листинг 3.1
/* Программа вычисления функции y=sin(x) */
#include <stdio.h>
#include <math.h>
void main()
{
float x1,x2,y1,y2;
printf(“введите два значения аргумента:\n”);
scanf(“%f%f”,&x1,&x2);
printf(“\n| x | y |”);
printf(“\n|––––––––|––––––––|\n”);
y1=sin(x1);
y2=sin(x2);
printf(“|%8.4f|%8.4f|\n”,x1,y1);
printf(“|%8.4f|%8.4f|\n”,x2,y2);
}
Функции консольного ввода-вывода cscanf() и cprintf()
Консольная библиотека <conio.h> имеет очень похожие функции ввода-вывода. Отличие состоит в том, что с помощью консольных функций можно задать атрибуты вводимых/выводимых символов: задать положение курсора, изменить цвета фона и символов. Поэтому, например, не имеет смысла использовать некоторые специальные символы при выводе данных на экран (перевод строки, горизонтальная табуляция и т.п.). Синтаксис функций cscanf() и cprintf() идентичен аналогичным функциям библиотеки <stdio.h>.
Дата добавления: 2016-07-27; просмотров: 1674;