ВВЕДЕННЯ І ВИВЕДЕННЯ ДАНИХ
• В мові С++ немає вбудованих засобів введення і виведення вони здійснюються за допомогою функцій, типів і об'єктів, які знаходяться в стандартних бібліотеках. • Функція getchar() при кожному до неї зверненні повертає наступний символ, що вводиться. • Вивід можна здійснювати за допомогою функції putchar(c), що поміщає символ 'с' в "стандартне введення", яке за умовчанням є терміналом.
Форматний ввід-вивід даних Кожний початковий файл, який звертається до функції із стандартної бібліотеки, повинен поблизу початку містити рядок #include
Функція форматного виведення даних printf ( рядок формату, список аргументів); рядок формату - рядок символів, укладених в лапки, який показує, як повинні бути надруковані аргументи. Наприклад: printf ( “Значення числа Пі дорівнює %fn”, pi); Рядок формату може містити • символи друковані текстуально; • специфікації перетворення; • управляючі символи.
• • • Кожному аргументу відповідає своя специфікація перетворення: %d %i - десяткове ціле число; %f - число з плаваючою крапкою; %e, %E – число з плаваючою крапкою в експоненціальній формі; %u – десяткове число в беззнаковій формі; %h – ціле число типу short; %о - число в восьмирічній системі обчислення; %x- число в шістнадцятирічній системі обчислення; %c - символ; %s - рядок.
В рядок формату також можуть входити керуючі символи: • n - керуючий символ новий рядок; • t – табуляція; • a – звуковий сигнал і ін. Перед символами перетворення d, о, і, x може стояти буква l, який означає, що в списку аргументів повинен знаходитися покажчик на змінну типу long, а не типу int. Аналогічно, буква l може стояти перед символами перетворення e або f, кажучи про те, що в списку аргументів повинен знаходитися покажчик на змінну типу double, а не типу float.
• Також в рядку формату можуть використовуватися модифікатори формату, які керують шириною поля, що відводиться для розміщення значення, що виводиться. Модифікатори – це числа, які вказують мінімальну кількість позицій для виводу значення і кількість позицій для виводу дробової частини числа: %[-]m[. p]С, де [-] - задає вирівнювання по лівому краю, m – мінімальна ширина поля, p – кількість цифр після коми для чисел з плаваючою крапкою і мінімальна кількість цифр, що виводяться, для цілих чисел (якщо цифр в числі менше ніж значення р, то виводяться початкові нулі), С- специфікація формату виводу.
Приклад: printf("n. Специфікації формату: n%10. 5 d - ціле, n%10. 5 f - з плаваючою крапкою n%10. 5 e – в експоненціальній форміn%10 s - рядок", 10. 0, "10"); Буде виведений наступний рядок: Специфікації формату: 00010 – ціле 10. 00000 – з плаваючою крапкою 1. 00000 е+001 - в експоненціальній формі 10 – рядок.
Функція форматного вводу даних scanf ( рядок формату, список аргументів); • Як аргументи використовуються адреси змінних. Адреса змінної визначається за допомогою функції «&» , яка вказуюється перед змінною. Наприклад: scanf(“ %d%f ” &x, &y); • Функція sprintf перетворює свої аргументи «список аргументів» , відповідно до формату, вказаного в рядку формату, але поміщає результати в string, а не в стандартний вивід.