double arrow

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

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

Оператор-выражение

В языке С любое выражение, заканчивающееся точкой с запятой (;), является оператором.

Примеры:

i++; /* увеличение значения i на 1, эквивалентно оператору i=i+1; */

i--; /* уменьшение i на 1 */

a += 2, n = 1, m++; /* выражение содержит запятые */

Поскольку в выражениях можно использовать операции присваивания наравне с другими, оператор присваивания является частным случаем оператора-выражения.

Оператор вызова функции имеет вид:

имя_функции (аргумент1, ... , аргументN);

Он тоже является частным случаем оператора-выражения.

Примерами операторов вызова функции являются уже знакомые вам операторы вызова функций форматированного ввода/вывода printf и scanf . Рассмотрим эти функции детальнее.

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

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

printf ("Задайте два числа: ");

аргумент только один - форматная строка, содержащая текст. В операторе

printf ("%d + %d = %d\n", a, b, a+b);

четыре аргумента. Первый аргумент - форматная строка (строка символов в кавычках) показывает, как должны быть напечатаны значения остальных аргументов (a,b,а+b). Каждому из аргументов a,b и a+b соответствует одна спецификация преобразования (формат) %d. Это спецификация вывода целого числа. Кроме форматов, форматная строка содержит последовательности символов " + ", " = ", которые нужно вывести, и управляющий символ '\n' (перевод строки), чтобы после вывода результата курсор переместился в начало следующей строки.

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

Ниже приведены некоторые форматы:

%d - для вывода целого числа со знаком (типов int, short);

%ld - для вывода целого числа со знаком (типа long);

%u - для вывода целого числа без знака (типа unsigned);

%f - для вывода вещественного числа (типов float, double) в формате

числа с фиксированной точкой (с точностью по умолчанию 6 цифр

после точки);

%e - для вывода вещественного числа в экспоненциальном формате:

[-]d.dddddde{ }dd (здесь d - десятичная цифра);

%c - для вывода символа;

%s - для вывода строки символов.

Например, если число 123.68 вывести в формате %f, то будет напечатано 123.680000, если же указать формат %e, то результатом будет 1.236800e+02. В форматах %f и %e можно указать точность, например:

%.1f 123.7

%.4e 1.2368e+02


Сейчас читают про: