
- •Інструкція
- •2. Теоретичні відомості
- •2.1. Вступ
- •2.1.1. Алфавіт мови c
- •2.1.2. Типи і розміри даних
- •2.1.3. Константи
- •2.1.4. Декларації
- •2.2. Структура програми
- •2.2.1. Операції
- •Операції аналогічні операціям в мові Паскаль і Фортран.
- •Операції відсутні в мовах Паскаль і Фортран. Інкрементні та декрементні операції.
- •Для ілюстрації цих операцій виконайте таку програму
- •Побітові операції
- •Операція “?”
- •Операція присвоєння.
- •2.2.2. Пріорітет і порядок виконання операцій.
- •2.3. Перетворення типів
- •2.4. Оператори
- •2.4.1. Оператор if
- •2.4.2. Оператор switch
- •2.1. Директиви препроцесора
- •2.1.1. Макровизначення
- •#Define ідентифікатор (список ідентиф) стрічка заміни.
- •2.1.2. Умовна компіляція.
- •2.2. Оператори циклу у мові с.
- •1) З оператором while:
- •2) З оператором do-while
- •3) З оператором for
- •2.3. Управляючі оператори break, continue I goto.
- •2.4. Специфіка використання операторів break і contіnue.
- •2.5. Форматований ввід-вивід
- •Вивід символів
- •Вивід чисел
- •Вивід адрес
- •Специфікатор %n
- •Модифікатори формату
- •Модифікатор мінімальної ширини поля
- •Модифікатор точності
- •Ввід чисел
- •Ввід цілих чисел без знака
- •Ввід окремих символів
- •Ввід рядків
- •2.6. Функції і перемикання вводу-виводу.
- •3. Контрольні запитання
- •4. Лабораторне завдання
- •Мета роботи.
- •6. Список літератури
- •Завдання до лабораторної роботи
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