Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программирование4172 / Лекции / Лекция 2. Основные понятия.doc
Скачиваний:
117
Добавлен:
12.03.2015
Размер:
106.5 Кб
Скачать

Использование функции scanf

Функция scanfпредназначена для ввода значений переменных с клавиатуры во время выполнения программы.

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

Примеры:

int a,b;

float x,y;

double z;

scanf ("%d %d", &a, &b);

scanf ("%f %e %lf", &x, &y, &z);

При выполнении первого оператора scanf будут прочитаны вводимые пользователем с клавиатуры два целых числа и присвоены переменным a и b. При втором вызове функции scanf будут введены три вещественных числа и присвоены соответственно переменным x, y и z .

Числа во входном потоке могут разделяться либо пробелами, либо символами "новой строки", либо символами табуляции. Например, входной поток может выглядеть так:

-52 1374

0.5 -17.472

345678.7654

Тогда результат выполнения операторов scanf будет такой:

a=-52; b=1374; x=0.5; y=-17.472; z=345678.7654.

Функция scanf использует практически тот же набор форматов, что и функцияprintf. Основные отличия в случае функции scanf следующие:

1. Формат %hd служит для ввода коротких целых чисел (типа short).

2. Форматы %f и %e эквивалентны и используются для ввода чисел типа float. Обе спецификации допускают наличие (или отсутствие) знака, строки цифр с десятичной точкой или без нее и поля показателя степени.

3. Форматы %lf и %le определяют тип вводимых данных как double.

Контрольные вопросы и упражнения

1. Объясните различие компилятора и интерпретатора, укажите их достоинства и недостатки.

2. Какими методами выполняется отладка программ?

3. Какие основные символы используются в схемах алгоритмов?

4. Назовите основные типы данных и объем памяти, занимаемой данными различных типов.

5. Какие из перечисленных идентификаторов ошибочны?

S2, #s2, S_2, sk_15, _k, 1_kol, kol_1

6. Опишите переменные и запишите вызов функции

а) для ввода вещественной величины z;

б) для вывода целой величины k и вещественной величины z.

7. Какими будут значения переменных после выполнения следующих операторов?

а) int x, y; x=15; y=x+10; x++; y= x*y; x=x*x;

б) int a = 10, b; b=5*a; a=a*a+b; b=a-b;

8. Присвойте величине Х ее значение, увеличенное в N раз.

26