Стандартные функции ввода-вывода

Содержание

Слайд 2

Стандартные функции ввода-вывода

Функции printf (для вывода) и scanf (для ввода) позволяют преобразовывать

Стандартные функции ввода-вывода Функции printf (для вывода) и scanf (для ввода) позволяют
численные величины в символьное представление и обратно. Функции описаны следующим образом:
int printf(const char *format, ...); int scanf(const char *format, ...);

Слайд 3

Стандартные функции ввода-вывода

Функция printf возвращает количество выведенных символов (значение EOF свидетельствует об

Стандартные функции ввода-вывода Функция printf возвращает количество выведенных символов (значение EOF свидетельствует
ошибке). Функция scanf возвращает количество значений, успешно присвоенных указанным переменным.
Первый аргумент функций printf и scanf представляет собой управляющую (форматную) строку, которая указывает, в каком виде следует выводить или вводить последующие аргументы.

Слайд 4

Стандартные функции ввода-вывода

Управляющая строка содержит два типа объектов: обычные символы и спецификации

Стандартные функции ввода-вывода Управляющая строка содержит два типа объектов: обычные символы и
преобразований.
Каждая спецификация преобразования начинается с символа % и заканчивается символом преобразования.
Символы преобразования: d – десятичная форма, o – восьмеричная форма, x – шестнадцатеричная форма, u – беззнаковая десятичная форма, c – отдельный символ, s – строка, e – число в научном формате (с экспонентой), f – число с плавающей запятой.

Слайд 5

Стандартные функции ввода-вывода

В спецификациях преобразований функции printf между знаком % и символом

Стандартные функции ввода-вывода В спецификациях преобразований функции printf между знаком % и
преобразования могут находиться:
число, задающее ширину поля,
точка-разделитель,
число, задающее точность представления,
модификатор длины l для данных типа long

Слайд 6

Стандартные функции ввода-вывода

Функции printf и scanf могут иметь произвольное количество аргументов.
Аргументы,

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

Слайд 7

Стандартные функции ввода-вывода

Таким образом, перед каждым аргументами функции scanf, который является именем

Стандартные функции ввода-вывода Таким образом, перед каждым аргументами функции scanf, который является
переменной, должен стоять амперсанд – символ «&». Если вводится строка, то перед именем массива амперсанд не нужен, так как имя массива само по себе является указателем.

Слайд 8

Стандартные функции ввода-вывода

Приведем в качестве примера программу, которая вводит значение N и

Стандартные функции ввода-вывода Приведем в качестве примера программу, которая вводит значение N
печатает таблицу квадратов чисел от 1 до N:
#include void main(void
int i, N;
printf(”Введите N: ”);
scanf(”%d”, &N);
printf(”Таблица квадратов:\n”);
for(i=1; i<=N; i++) printf(”%2d %4d\n”, i, i*i);
}

Слайд 9

Стандартные функции ввода-вывода

Для того, чтобы колонки таблицы выводились ровно, требуется задать для

Стандартные функции ввода-вывода Для того, чтобы колонки таблицы выводились ровно, требуется задать
каждого выводимого значения ширину поля. В данном случае ширина первой колонки – два знакоместа, ширина второй – четыре.
В качестве аргументов функции printf можно использовать выражения. В приведенном примере с помощью выражения вычисляется квадрат числа i.

Слайд 10

Стандартные функции ввода-вывода

Рассмотрим пример другой программы, которая использует цикл while для вычисления

Стандартные функции ввода-вывода Рассмотрим пример другой программы, которая использует цикл while для
длины строки:
#include
void main(void)
{
int i;
char s[100];
printf(”Введите строку:\n”);
gets(s);
i=0;
while(s[i] != 0) i++;
printf(”Длина строки %d символов.\n”);
}

Слайд 11

Стандартные функции ввода-вывода

В следующем примере по радиусу круга вычисляется его площадь:
#include

Стандартные функции ввода-вывода В следующем примере по радиусу круга вычисляется его площадь:
main()
{
double r, pi=3.1415926535;
printf("Введите радиус круга: "); scanf("%lf", &r);
printf("Площадь круга: %f\n", pi*r*r);
}

Слайд 12

Стандартные функции ввода-вывода

В стандарте языка Си отсутствует специальное обозначение для числа p

Стандартные функции ввода-вывода В стандарте языка Си отсутствует специальное обозначение для числа
и его приходится задавать в виде вещественной константы.
При выводе чисел типа double использовать в спецификации преобразования признак удвоенной точности (букву l) не обязательно. Однако при вводе значений типов long и double такой признак в спецификация необходим, иначе значение будет введено неверно

Слайд 13

Математические функции

Математические функции Си описаны в заголовочном файле math.h. Программа, которая использует

Математические функции Математические функции Си описаны в заголовочном файле math.h. Программа, которая
математические функции, должна содержать следующую строку:
#include

Слайд 14

Математические функции

Наиболее часто применяются следующие функции:
double cos(double x) – вычисляет косинус аргумента;
double fabs(double

Математические функции Наиболее часто применяются следующие функции: double cos(double x) – вычисляет
x) – вычисляет абсолютное значение аргумента;
double exp(double x) – вычисляет экспоненциальную функцию аргумента;
double log(double x) – вычисляет натуральный логарифм аргумента;
double log10(double x) – вычисляет десятичный логарифм аргумента;
double sin(double x) – вычисляет синус аргумента;
double sqrt(double x) – вычисляет квадратный корень аргумента;
double tan(double x) – вычисляет тангенс аргумента.

Слайд 15

Математические функции

Из приведенных описаний видно, что математические функции работают с вещественными числами

Математические функции Из приведенных описаний видно, что математические функции работают с вещественными
удвоенной точности: аргументы имеют типа double и возвращаемое значение также имеет тип double.
В качестве примера рассмотрим программу, которая вводит значение x, вычисляет значение exp(x) и выводит полученное значение на экран: