Основы программирования на C++, PASCAL
. Это знак операции «взятие адреса переменной». Подробнее смысл этого действия будет объяснен позже, а пока примем это правило формально.
Форматная строка заключается в кавычки (как и для printf) и состоит из списка спецификаций. Каждая спецификация начинается со знака %, после которого могут следовать
*ширина поля модификатор спецификатор
Из них обязательным элементом является лишь спецификатор. Для ввода числовых данных используются следующие спецификаторы:
d — для целых десятичных чисел (тип int);
u — для целых десятичных чисел без знака (тип unsigned int);
f — для вещественных чисел (тип float) в форме с фиксированной точкой;
е — для вещественных чисел (тип float) в форме с плавающей точкой.
Звездочка в спецификации позволяет пропустить во входном потоке определенное количество символов. Ширина поля — целое положительное число, позволяющее определить число символов из входного потока, принадлежащих значению соответствующей вводимой переменной. Как и в спецификациях вывода для функции printf(), в спецификациях ввода функции scanf() допустимо использование модификаторов h, l, L. Они применяются при вводе значений модифицированных типов:
hd — для ввода значений типа short int;
ld — для ввода значений типа long int;
lf, le — для ввода значений типа double в форме с фиксированной и плавающей точкой;
Lf, Le — для ввода значений типа long double в форме с фиксированной и плавающей точкой.
В программе из примера 1 все три величины а, b, c можно ввести одним оператором:
scanf("%f%f%f",&a,&b,&c);
Если последовательность ввода будет такой:
5 3.2 2.4 <Enter>
то переменные получат следующие значения: а = 5,0, b = 3,2, с = 2,4. Разделителем в потоке ввода между различными значениями может быть любое количество пробелов, а также другие пробельные символы: знак табуляции, конец строки. Только после нажатия на клавишу Enter вводимые значения присвоятся соответствующим переменным. До этого входной поток помещается в буфер клавиатуры и может редактироваться.
Потоковый ввод-вывод в Си++. Программируя на языке Си++, можно пользоваться средствами ввода-вывода стандартной библиотеки Си, подключаемой с помощью заголовочного файла stdio.h, как это делалось выше. Однако в Си++ имеются свои специфические средства ввода-вывода