Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Osnovy_algoritmizatsii_i_programmirovania_-_Bat....doc
Скачиваний:
52
Добавлен:
25.12.2018
Размер:
3.21 Mб
Скачать

5.3. Функции вывода данных на дисплей

В языке Си нет встроенных средств ввода/вывода данных. Ввод/вывод информации осуществляется с помощью библиотечных функций и объектов.

Декларации функций ввода/вывода, как уже упоминалось, приведены в заголовочном файле 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’.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]