Основним завданням програмування є обробка інформації,
тому будь-яку мову програмування має кошти для введення і виведення інформації. У мові Сі немає операторів введення-виведення.
Введення і виведення інформації здійснюється через функції стандартної бібліотеки. Прототипи розглянутих функцій знаходяться у файлі stdio.h. Ця бібліотека містить функції
- printf () - для виведення інформації
- scanf () - для введення інформації.
висновок інформації
Функція printf () призначена для форматованого виведення. Вона переводить дані в символьне уявлення і виводить отримані зображення символів на екран. При цьому у програміста є можливість форматувати дані, тобто впливати на їх уявлення
на екрані.
Загальна форма запису функції printf ():
printf ( "СтрокаФорматов". об'ект1, об'ект2. об'ектn);
СтрокаФорматов складається з наступних елементів:
- керуючих символів;
- тексту, представленого для безпосереднього виведення;
- форматів, призначених для виведення значень змінних різних типів.
Об'єкти можуть бути відсутні.
Керуючі символи виводяться на екран, а керують розташуванням символів, що виводяться. Відмінною рисою керуючого символу є наявність зворотного слеша '\' перед ним.
Основні керуючі символи:
- '\ N' - новий рядок;
- '\ T' - горизонтальна табуляція;
- '\ V' - вертикальна табуляція;
- '\ B' - повернення на символ;
- '\ R' - повернення на початок рядка;
- '\ A' - звуковий сигнал.
Формати потрібні для того, щоб вказувати вид, в якому інформація буде виведена на екран. Відмінною рисою формату є наявність символу відсоток '%' перед ним:
- . - ціле число типу int зі знаком в десятковій системі числення;
- % U - ціле число типу unsigned int;
- % X - ціле число типу int зі знаком в шістнадцятковій системі числення;
- % O - ціле число типу int зі знаком в вісімковій системі числення;
- % Hd - ціле число типу short зі знаком в десятковій системі числення;
- % Hu - ціле число типу unsigned short;
- % Hx - ціле число типу short зі знаком в шістнадцятковій системі числення;
- % Ld - ціле число типу long int зі знаком в десятковій системі числення;
- % Lu - ціле число типу unsigned long int;
- % Lx - ціле число типу long int зі знаком в шістнадцятковій системі числення;
- % F - речовинний формат (числа з плаваючою точкою типу float);
- % Lf - речовинний формат подвійної точності (числа з плаваючою точкою типу double);
- % E - речовинний формат в експоненційної формі (числа з плаваючою точкою типу float в експоненційної формі);
- % C - символьний формат;
- % S - строковий формат.
#include
int main ()
int a = 5;
float x = 2.78;
printf ( "a =. \ n". a);
printf ( "x =% f \ n". x);
getchar (); getchar ();
return 0;
>
Результат роботи програми
При вказівці формату можна явно вказати загальну кількість знакомест і кількість знакомест, займаних дробової частиною:
#include
int main ()
float x = 1.2345;
printf ( "x =% 10.5f \ n". x);
getchar (); getchar ();
return 0;
>
У наведеному прикладі 10 - загальна кількість знакомест під значення змінної; 5 - кількість позицій після десяткового дробу. У зазначеному прикладі кількість знакомест в виведеному числі менше 10, тому вільні знакомісця зліва від числа заповнюються пробілами. Такий спосіб форматування часто використовується для побудови таблиць.
введення інформації
Функція форматованого введення даних з клавіатури scanf () виконує читання даних, що вводяться з клавіатури, перетворює їх у внутрішній формат і передає викликає функції. При цьому програміст задає правила інтерпретації вхідних даних за допомогою специфікацій рядка формату.
Загальна форма запису функції scanf ():
Рядок форматів і список аргументів для функції обов'язкові.
#define _CRT_SECURE_NO_WARNINGS // для можливості використання scanf
#include
#include
int main ()
float y;
system ( "chcp 1251"); // переходимо в консолі на російську мову
system ( "cls"); // очищаємо вікно консолі
printf ( "Введіть y:"); // виводимо повідомлення
scanf ( "% f". y); // вводимо значення змінної y
printf ( "Значення змінної y =% f". y); // виводимо значення змінної y
getchar (); getchar ();
return 0;
>
Результат роботи програми:
\ T - горизонтальна табуляція - відступ, щоб при виведенні значень в кілька стовпчиків вони виводилися один під одним.
\ V - вертикальна табуляція - переводить курсор на наступний рядок і починає висновок не з початку рядка, а з поточної позиції, але в деяких випадках спрацьовує некоректно.
\ A - звуковий сигнал, який чути при «виведенні на друк» цього символу.