Всем привет. Сегодня попробуем ввести информацию с клавиатуры и сохранить в переменной. Для этого используется функция scanf из библиотеки stdio.h.
Пример использования функции scanf:
#include
int main (){
int a,b=5;
printf ("a=");
scanf ("%d", &a); /*Ожидаем ввод значения*/
printf ("a+b=%d\n", a+b);
return 0;
}
Начнем разбирать каждую строку отдельно, начиная с четвертой.
В четвертой строке мы объявляем переменные a и b типа int, и сразу присваиваем переменной b значение пять.
В пятой строке выводим на экран текст a= с помощью функции printf.
В шестой строке мы используем функцию scanf. Когда программы выполнит пятую строку и перейдет к шестой строке она будет ожидать ввода информации. Рассмотрим поподробнее конструкцию. Сначала мы объявляем саму функцию scanf и открываем скобки, а внутри скобок кавычки.После кавычек ставим запятую, знак & и переменную в которую хотим записать информацию (писать надо слитно — &a). Переменная a у нас десятичная int, поэтому в кавычках пишем спецификатор %d (как для printf, но только в этом случае программа будет не выводить а записывать в переменную) (спецификаторы дле переменных мы рассматривали на третьем уроке). Но с спецификаторами не всегда так. В некоторых случаях приходится использовать так же плюс и модификаторы:
Модификаторы:
- *h — для ввода значений типа short int (hd);
- *l — для ввода значений типа long int (ld) или double (lf,le);
- *L — для ввода значений типа Long double (Lf,Le);
В седьмой строке мы используем printf. Она вам уже хорошо знакома. И здесь мы получаем сумму a и b.
Рассмотрим еще один пример.
#include
int main (){
float a,b=12.1;
printf ("a=");
scanf ("%f", &a);
printf ("a+b=%f\n", a+b);
return 0;
}
Результат выполнения программы:
a=75,6 a+b=87.700000
Как видно из результата выполнения программы, после запятой у нас пять лишних нулей. Но от этого можно избавиться. Для этого мы отредактируем седьмую строку:
printf ("a+b=%.2f\n", a+b);
Замените седьмую строку и выполните программу еще раз. Результат:
a=72,6
a+b=84.70
Как видно после запятой у нас два символа (округляется до сотых). А по умолчанию шесть, но можно и увеличить и уменьшить. Можно так же регулировать количество символов до запятой.
Чтобы регулировать количество символов, нужно после знака % — процента указать количество символов, а потом поставить спецификатор.
Проанализируйте работу этой программы:
#include
int main (){
float a,b=12.1;
printf ("a=");
scanf ("%f", &a);
printf ("a+b=%2.2f\n", a+b);
return 0;
}
Все!