Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Основы алгоритмизации и программирование.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
1.73 Mб
Скачать

2.6.2.2Оператор бесформатного ввода с клавиатуры.

Бесформатный ввод данных с клавиатуры в переменные имеет вид (синтаксис) :

cin >> переменная1 [<< переменная2...] ;

Здесь cin означает так называемый стандартный поток ввода, иначе ввод с клавиатуры, а лексема “>>” означает “принять с клавиатуры“, если только слева от неё стоит cin.

Семантика: операторы в программе выполняются последовательно один за другим. Когда программа доходит до оператора ввода, она останавливается и ждет, когда пользователь введет с клавиатуры через пробел столько значений, сколько переменных указано в списке после cin.

Пример 6. Операторы

cout << "\nВведите два числа: ";

cin >> a >> b;

cout << "\nСумма " << a << " и " << b << " равна " << a+b;

приглашают пользователя ввести два числа, заносят введенные с клавиатуры через пробел числа в переменные a и b и выводят их значения, а также значение их суммы на экран с соответствующим комментарием.

2.6.2.3Функция форматного вывода на экран.

Для форматного вывода на экран используется функция

printf(строка формата, список вывода) , где

  • список вывода - перечисленные через ',' выражения, значения которых хотим вывести на экран.

  • строка формата - символьная строка, указывающая:

  1. формат отображения этих значений на экране;

  2. с

    спецификации формата

    опровождающий их текст.

Н апример,

p

список вывода

строка формата

rintf
("\nЭтап %d длится %f секунд.",i,(t-3.)/2.);

Функция printf последовательно выводит на экран символы строки формата. При этом символы входящих в строку спецификаций формата заменяются значениями выражений из списка вывода в порядке их следования. Для вывода значений каждого из имеющихся типов данных применяется своя спецификация формата:

Тип данного

Спецификация формата

Целый

%d или %nd (n - число)

Вещественный

%f или %n.mf (n,m - числа)

Символьный

%c

Строковый

%s

Если i=2 и t=60.0, то при выполнении оператора, указанного в примере, на экране будет напечатано с новой строки:

Этап 2 длится 28.500000 секунд.

Элементов списка вывода должно быть не меньше, чем спецификаций в строке формата. Типы элементов списка и спецификаций должны соответствовать друг другу. Несоответствия компилятор не выявляет, но будут неверными выводимые результаты.

Имеется возможность управлять формой выводимых на экран целых и вещественных чисел. Числа n и m в спецификациях формата задают соответственно общее количество позиций на экране (включая знак '-' и десятичную точку) и количество разрядов, выводимое после десятичной точки. Например, оператор

printf("\nЭтап %3d длится %6.2f секунд.",i,(t-3.)/2.);

выведет значение переменной i в 3-х позициях, а значение выражения (t-3.)/2. в 6 позициях с двумя разрядами после десятичной точки:

Этап 2 длится 28.50 секунд. (символами показаны пробелы, которые выводятся, если цифр в числе меньше, чем позиций, указанных в соответствующей спецификации).

Если заданных позиций не хватает для вывода числа, место для вывода отводится автоматически.