Стандартные функции ввода/вывода данных языка Си
Для вывода как мы уже знаем используется стандартная функция printf(); Вот её формат:
printf("формат-строка", данные для вывода);
Для её использования необходимо подключить заголовочный файл stdio.h. Про подключение заголовочных файлов вы можете узнать из первого урока программирования для начинающих
Формат-строка это строка для вывода на экран со специальными управляющими символами. Рассмотрим следующий код:
Листинг 2.6
#include <stdio.h>
int main(void)
{
int a, b;
a=5;
b=7;
printf("V peremennoi a znachenie %d, a v drugoi %d ", a,b);
return(0);
}
Все символы заключенные в двойные кавычки кроме управляющих последовательностей (начинаются с символа\, например: \n) , и специальных символов ( начинаются с символа%) выводятся на экран. Специальные символы во время выполнения заменяются на значения переменных, указанных после формат-строки.первый специальный символ заменяется на первую переменную, второй - на вторую, и т.д.
Вот что будет после после выполнения программы выше:
В переменной a значение 5 , а в другой переменой 7
Для вывода различных данных используются различные специальные символы.
Вот основные из них:
%d - для целого числа
%f - для вещественного числа
%c - для одного символа
Существуют некоторые требования которые должны быть выполнены, иначе программа не будет скомпилирована:
- Количество специальных формат-символов должно совпадать с количеством переменных.
- Типы данных формат-символов и типы выводимых переменных должны совпадать.
Вот пример НЕ правильного использования:
Листинг 2.7
#include <stdio.h>
int main(void)
{
int a=4;
float b=5.4 , c=3.1;
printf("celaya peremennaya %f ",a); // несовпадение типов %f-для
// вещественных
// чисел, a-целая переменная
printf("%d ",a, b); //не объявлен формат символ для b
return(0);
}
До сих пор, мы прямо в тексте программы записывали данные. А что если нам надо самому вводить данные в программу с клавиатуры? Для этого используется стандартная функция scanf();
Она имеет следующий формат:
scanf("формат строка ввода", адреса переменных);
Что бы её использовать надо подключить заголовочный файл stdio.h.
В формат строке указываются формат-символы вводимых данных, а далее после запятой следуют адреса переменных в которые необходимо записать данные. Вы спросите, а где нам взять адреса? Это очень просто, для этого используется специальный оператор "&".
Например:
Листинг 2.8
#include <stdio.h>
int main(void)
{
int a,b;
printf("Vvedite dva chisla cherez probel");
scanf("%d %d", &a,&b);
return(0);
}
Сначала мы объявили две целые переменные, потом вывели строку-подсказку для пользователя, о том что необходимо ввести два числа. И далее считали введенные данные в переменные a и b. Теперь мы можем их использовать по своему усмотрению.Для этой функции такие же ограничения как и для функции printf.
Ну вот на этом мы и закончим наш очередной урок программирования на Cи для начинающих.
Резюме урока:
· научились объявлять и инициализировать переменные.
· научились использовать оператор присваивания
· узнали об типах данных используемых в Си
· познакомились в первом приближении со стандартными функциями ввода/вывода данных в Си.
Задание для практической работы.
- Разберитесь окончательно с оператором присваивания и с объявлением и инициализацией переменных.
- Перепишите программу Листинг 2.6 и посмотрите как она работает. На её основе поэкспериментируйте с количеством выводимых на экран переменных их их типами.
- Перепишите программу Листинг 2.7, посмотрите как отреагирует на ошибки ваш компилятор, и будут ли они вообще. Потом исправьте в ней ошибки так, чтобы она работала корректно. Правильно выводила данные на экран монитора.
- Пусть имеется: int a=4; float b=6.7, c=4.92; Напишите, как будет выглядеть функция printf, для того чтобы на мониторе появилось c=4.92 a=4 b=6.7
- Напишите следующую программу.Пользователь сначала вводит два числа одно целое другое вещественное. На экран должна выводиться следующая строка: Vi vveli pervoe A, vtoroe B, sohraneno C. Где A целое число введенное пользователем с клавиатуры, B - вещественно число введенное пользователем с клавиатуры, С - любое вещественное число, заданное в коде программы.