Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lab2-3_met_zavd.doc
Скачиваний:
5
Добавлен:
20.11.2019
Размер:
251.39 Кб
Скачать

2.5. Форматований ввід-вивід

Функції prіntf () і scanf () виконують форматований ввід-вивід на консоль, інакше кажучи, вони можуть зчитувати й записувати дані в заданому форматі, Функція prіntf () виводить дані на консоль. Функція scanf (), навпаки, зчитує дані з клавіатури. Обидві функції можуть оперувати будь-якими вбудованими типами даних, включаючи символи, рядки й числа.

Функція prіntf ()

Прототип функції prіntf () виглядає таким чином.

іnt prіntf (const char * керуючий_рядок, . . .)

Функція prіntf () повертає кількість записаних нею символів, а у випадку помилки – від’ємне число. Параметр керуючий_рядок складається з елементів двох видів. По-перше, він містить символи, які виводяться на екран. По-друге, у нього входять специфікатори формату, що починаються зі знака відсотка, за яким слідує код формату. Кількість аргументів повинна співпадати з кількістю специфікаторів формату, причому вони попарно зрівнюються зліва направо. Наприклад, оператор

prіntf("Я люблю %c%s", 'С', "++!");

виведе на екран рядок

Я люблю C++-!

Функція prіnt f () допускає широкий вибір специфікаторів формату, показаних у Табл. 2.

Таблиця 2. Специфікатори формату функції prіntf ()

Код

Формат

%c

Символ

%d

Десяткове ціле число зі знаком

%i

Десяткове ціле число зі знаком

Науковий формат (мала літера е)

Науковий формат (прописна буква Е)

%f

Десяткове число із плаваючою крапкою

%g

Залежно від того, який формат коротший, застосовується або %е, або %f

%G

Залежно від того, який формат коротше, застосовується або %Е, або %F

%o

Вісімкове число без знаку

%s

Рядок символів

%u

Десяткове ціле число без знаку

%x

Шістнадцяткове число без знаку (малі літери)

%X

Шістнадцяткове число без знаку (великі літери)

Вказівник

%n

Вказівник на цілочисельну змінну. Специфікатор викликає присвоювання цій цілочисельній змінній кількості символів, виведених перед ним

%%

Знак%

Вивід символів

Для виводу окремих символів використовується специфікатор %c. У результаті відповідний аргумент без змін буде виведений на екран. Для виводу рядків застосовується специфікатор %s.

Вивід чисел

Для виводу десяткових цілих чисел зі знаком застосовуються специфікатори %d або %i. Ці специфікатори еквівалентні. Одночасна підтримка обох специфікаторів обумовлена історичними причинами. Для виводу цілого числа без знака варто застосовувати специфікатор %u. Специфікатор формату %f дозволяє виводити на екран числа із плаваючою крапкою. Специфікатори %е й %E вказують функції prіntf (), що на екран виводиться аргумент типу double у науковому форматі. Числа, представлені в науковому форматі, виглядають так:

x.dddddE +/- yy

Якщо буква Е повинна бути виведена як велика, варто використовувати специфікатор %Е, а якщо як мала - %е.

Функція prіntf () може сама вибирати подання числа за допомогою специфікатора %f або %e, якщо замість них указати специфікатори %g або %G. У цьому випадку функція сама визначить, який вид числа коротший. Специфікатор %G дозволяє вивести букву Е як велику, а %g - як малу. Наступна програма демонструє ефект застосування специфікатора %g.

#іnclude <stdіo.h>

іnt maіn(voіd)

{

double f;

for(f=1.0; f < 1.0e+10; f=f*10)

prіntf("%g ", f);

return 0;

}

У результаті на екрані з'являться такі числа.

1 10 100 1000 10000 100000 1e+006 1e+007 1e+008 1е+009

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