Вывод адресов
Вывод чисел
Печать символов
Таблица 1
Форматированный консольный ввод-вывод
Форматированный консольный ввод-вывод
План
2.Модификаторы формата
3.Файловая система ANSI C
Стандартная библиотека С содержит две функции, выполняющие форматированный ввод и вывод стандартных типов данных: printf() и scanf(). Термин форматированный подразумевает, что эти функции могут писать и читать данные в разных форматах, которыми можно управлять. Функция printf() используется для вывода данных на консоль, scanf() – для чтения данных с консоли. Как printf(), так и scanf() могут работать с любыми стандартными типами и строками.
Функция printf( ) имеет следующий прототип:
int printf(const char *форматная строка, …);
Первый аргумент форматная строка определяет способ вывода последующих аргументов. Он содержит два типа элементов: символы, выводимые на экран, и спецификаторы формата, определяющие способ вывода аргументов, следующих за форматной строкой. Спецификаторы формата начинаются со знака процент, за которым следует код формата.
Код %c %d %i %e %E %f %lf %g %G %o %s %u %x %X %p %n %% | Формат Символ Знаковое десятичное целое число Знаковое десятичное целое число Научная нотация (e – строчная) Научная нотация (E – прописная) Десятичное число с плавающей точкой Десятичное число с плавающей точкой двойной точности Использует или %e, или %f, соответствующее более короткому представлению Использует или %E, или %f, соответствующее более короткому представлению Беззнаковое восьмеричное число Строка символов Беззнаковое десятичное число Беззнаковое шестнадцатиричное число (строчные буквы) Беззнаковое шестнадцатиричное число (прописные буквы) Вывод указателя Ассоциированный аргумент – это указатель на целое, в которое записывается число уже выведенных символов Выводит знак % |
Должно быть полное соответствие между числом аргументов и числом спецификаторов формата, а также спецификаторы формата и аргументы должны соответствовать друг другу.
Функция printf( ) возвращает число напечатанных символов. В случае ошибки она возвращает EOF.
Для печати отдельных символов используется %c. Для печати строки %s.
Пример
#include <stdio.h>
int main(void)
{
double f;
for(f=1.0; f<1.0e+10; f=f*10)
printf("%g ", f);
getchar();
unsigned int num;
for(num=0; num<255; num++) {
printf("%o ", num);
printf("%x ", num);
printf("%X ", num);
}
getchar();
return 0;
}
Пример
#include <stdio.h>
int main(void)
{
/* Вывод адресов */
int sample;
printf("%p ", &sample);
getchar();
return 0;
}
Спецификатор %n
Пример
#include <stdio.h>
int main(void)
{
int sample;
/* Спецификатор %n */
printf("This%n is a test\n", &sample);
printf("%d\n", sample);
getchar();
return 0;
}