Функции вывода данных на дисплей
В языке Си нет встроенных средств ввода/вывода данных. Ввод/вывод информации осуществляется с помощью библиотечных функций и объектов.
Декларации функций ввода/вывода, как уже упоминалось, приведены в заголовочном файле stdio.h.
Для вывода информации на экран монитора (дисплей) в языке Си чаще всего используются функции: printf() и puts().
Формат функции форматного вывода на экран:
printf( управляющая строка , список объектов вывода);
В управляющей строке, заключенной в кавычки, записывают: поясняющий текст, который выводится на экран без изменения (комментарии), список модификаторов форматов, указывающих компилятору способ вывода объектов (признак модификатора формата – символ %) и специальные символы, управляющие выводом (признак – символ \).
В списке объектов вывода указываются идентификаторы печатаемых объектов, разделенных запятыми: переменные, константы или выражения, вычисляемые перед выводом.
Количество и порядок следования форматов должен совпадать с количеством и порядком следования выводимых на экран объектов.
Функция printf выполняет вывод данных в соответствии с указанными форматами, поэтому формат может использоваться и для преобразования типов выводимых объектов.
Если признака модификации (%) нет, то вся информация выводится как комментарии.
Основные модификаторы формата:
%d (%i) | – десятичное целое число; |
%c | – один символ; |
%s | – строка символов; |
%f | – число с плавающей точкой, десятичная запись; |
%е | – число с плавающей точкой, экспоненциальная запись; |
%g | – используется вместо f, e для исключения незначащих нулей; |
%o | – восьмеричное число без знака; |
%x | – шестнадцатеричное число без знака. |
Для чисел long добавляется символ l, например, %ld – длинное целое, %lf – число вещественное с удвоенной точностью – double.
Если нужно напечатать сам символ %, то его нужно указать 2 раза:
printf ("Только %d%% предприятий не работало. \n",5);
Получим: Только 5% предприятий не работало.
Управляют выводом специальные последовательности символов: \n – новая строка; \t – горизонтальная табуляция; \b – шаг назад; \r – возврат каретки; \v – вертикальная табуляция; \\ – обратная косая; \' – апостроф; \" – кавычки; \0 – нулевой символ (пусто).
Пример:
#define PI 3.14159
. . .
int number = 5;
float bat = 255;
int cost = 11000;
. . .
printf(" %d студентов съели %f бутербродов. \n", number, but);
printf(" Значение числа pi равно %f. \n", pi);
printf(" Стоимость этой вещи %d %s. \n", cost, "Руб.");
. . .
В модификаторах формата функции printf после символа % можно указывать число, задающее минимальную ширину поля вывода, например, %5d – для целых, %4.2f – для вещественных – две цифры после запятой для поля шириной 4 символа. Если указанных позиций для вывода целой части числа не хватает, то происходит автоматическое расширение.
Если после «%» указан знак «минус», то выводимое значение будет печататься с левой позиции поля вывода, заданной ширины, например: % – 10d.
Использование функции printf для преобразования данных:
1) printf("%d", 336.65); получим: 336;
2) printf("%o", 336); получим: 520, т.е. 5*8**2+2*8+0*1 = 336;
3) printf("%x", 336); получим: 150 (шестнадцатеричное).
Можно использовать функцию printf для нахождения кода ASCII некоторого символа:
printf (" %c – %d\n", 'a', 'a');
получим десятичный код ASCII символа а: a – 65 .
Функция puts(ID строки); выводит на экран дисплея строку символов, автоматически добавляя к ней символ перехода на начало новой строки (\n).
Аналогом такой функции будет: printf(“%s \n”, ID строки);
Функция putchar() выдает на экран дисплея один символ без добавления символа ‘\n’.
Дата добавления: 2015-09-11; просмотров: 766;