У стандартному C ++ існує два основних шляхи введення-виведення інформації:
Для використання введення-виведення в стилі C, в програму необхідно включити заголовочний файл <cstdio>.
Перша програма з використанням бібліотеки cstdio виглядає так:
#include <iostream>
#include <cstdio>
using namespace std;
int main()
{
// Виведення класичного повідомлення "Hello, world!"
printf("Hello, world!\n");
return 0; // Завершення програми з кодом успіху
}
Функція printf() призначена для форматованого виведення на екран. При цьому у програміста є можливість форматувати дані, тобто впливати на їх вигляд на екрані.
Загальна форма запису функції printf():
| printf("Рядок форматів",змінна_1,змінна_2,...,змінна_n); |
|---|
Список змінних може бути відсутнім.
Керуючі символи не виводяться на екран, а керують розташуванням тексту, що виводиться.
Ознакою керуючого символу є наявність зворотного слеша (\) перед ним.
Поки розглянемо тільки один керуючий символ: \n – перевід курсору на наступний рядок. Цей символ нам вже відомий.
Формати потрібні для того, щоб вказувати вид, в якому значення змінної буде виведено на екран.
Ознакою формату є наявність символу відсоток (%) перед ним.
Деякі числові формати:
Вивід значень двох змінних у рядок через пробіл:
#include <iostream>
#include <cstdio>
using namespace std;
int main()
{
int x = 10, y = 200; // Оголошення та ініціалізація змінних x та y
// Форматований вивід значень змінних
printf("x=%d y=%d", x, y); // %d - специфікатор для цілих чисел
return 0; // Коректне завершення програми
}
Результат:

Фактично, на екран виводиться рядок форматів, але в ньому замість першого формату %d підставляється значення змінної x (перша зі списку), а замість другого формату %d підставляється значення змінної y (друга зі списку).
#include <iostream>
#include <cstdio>
using namespace std;
int main()
{
int x = 10, y = 200; // Ініціалізація змінних x та y
// Форматований вивід з перенесенням рядка
printf("x=%d\ny=%d", x, y); // \n - символ нового рядка
return 0; // Успішне завершення програми
}
У даному прикладі у рядок форматів, замість пробілу вставлене керуючий символ \n, який переводить курсор на новий рядок, тому значення другої змінної y виведено на наступному рядку. Результат:

У числі все займає місце: цифри, крапка та знак (+ або -) перед числом.
#include <iostream>
#include <cstdio>
using namespace std;
int main()
{
int x = -10, y = 200, z = 3333; // Ініціалізація змінних з різними значеннями
/* Форматований вивід з вирівнюванням:
%5d - виводить ціле число у полі шириною 5 символів */
printf("x=%5d\ny=%5d\nz=%5d", x, y, z);
return 0; // Код успішного завершення програми
}
У цьому прикладі, у рядку форматів значення змінної заміняє формат %5d. Цей формат означає, що виводиться ціле число і на нього відводиться 5 знакомісць. Якщо число займає менше місця, то воно зліва доповнюється пробілами до 5 знаків.
Значення кожної змінної виводиться на окремому рядку, бо у рядку форматів у двох місцях написано керуючий символ \n.
Результат:

Вивід значень двох змінних у рядок через пробіл:
#include <iostream>
#include <cstdio>
using namespace std;
int main()
{
float x = 10.54378, y = 200.7559; // Ініціалізація змінних з плаваючою точкою
// Форматований вивід дійсних чисел
// %f - виводить float з стандартною точністю (6 знаків після коми)
printf("x=%f y=%f", x, y);
return 0; // Успішне завершення програми
}
Результат:

Якщо не вказано кількість знаків після крапки, в дійсних числах виводиться 6 знаків.
#include <iostream>
#include <cstdio>
using namespace std;
int main()
{
double x = -10.54318, y = 200.7559, z = 3333.12;
printf("x=%9.3f\ny=%9.3f\nz=%9.3f", x, y, z);
return 0;
}
%9.3f:x= -10.543 y= 200.756 z= 3333.120
Де: