
- •Міністерство освіти і науки України
- •Жуковецька с.Л., Шестопалов с.В.
- •Анотація
- •Введення
- •Лабораторна робота №1 Технологія розробки програм у середовищі Linux
- •1. Команди роботи з командним інтерпретатором ос unix
- •2. Створення програми
- •3. Функції введення-виведення.
- •4. Приклад програми
- •5. Основні керуючі конструкції мови с
- •6. Індівідуальні завдання
- •Лабораторна робота № 2. Автоматизація пакетних завдань
- •1. Компіляція багатомодульною програми
- •2. Автоматизація пакетних завдань
- •4. Завдання
- •Лабораторна робота № 3. Взаємодія програми з середовищем виконання
- •1. Аргументи командного рядка
- •2. Змінні оточення
- •3. Індівідуальні завдання
- •Лабораторна робота №4. Контроль виконання програми
- •1. Коди завершення програми
- •2. Функції обробки значення errno
- •3. Функція atexit()
- •4. Макрос asssert()
- •5. Індівідуальні завдання
- •Лабораторна робота №5 Файлові api.
- •1 Основні поняття
- •2. Права доступу до файлів
- •3. Інтерфейси для файлового введення / виводу
- •4. Системні виклики роботи з файлами
- •5. Індівідуальні завдання
- •Варіанти завдань
- •Лабораторна робота №6 Робота з каталогами та посиланнями
- •Методичні вказівки
- •1. Створення та видалення каталогу
- •2. Читання каталогу
- •3. Зміна каталогу
- •4. Управління жорсткими посиланнями
- •5. Управління символічними посиланнями
- •6. Перейменування файлів і каталогів
- •7. Індівідуальні завдання
- •Лабораторна робота №7. Одержання і відображення метаданих файлу.
- •Методичні вказівки
- •1. Механізми управління файлами ос unix
- •2. Отримання даних індексного дескриптору
- •3. Додаткові функції маніпулювання даними індексних дескрипторів
- •4. Отримання даних про відкриті файли
- •5. Індівідуальні завдання
- •Лабораторна робота №8. Керування процесами
- •Методичні вказівки
- •1. Загальні поняття
- •2. Створення поцесу
- •4. Перезавантаження програми процесу
- •5. Завершення виконання процесу
- •6. Системні виклики wait, waitpid
- •7. Індівідуальні завдання
- •Лабораторна робота №9. Використання каналів
- •Методичні вказівки
- •1. Заганьні відомості
- •2. Використання каналів
- •3. Індівідуальні завдання
- •Варіанти завдань
- •Лабораторна робота №10 Використання повідомлень
- •Методичні вказівки
- •1. Загальні відомості
- •2. Використання повідомлень
- •3. Індівідуальні завдання
- •Література
- •Системне програмування Посібник до виконання лабораторних та самостійних робіт
- •65082, Одеса, вул. Дворянська, 1/3
Какую работу нужно написать?
3. Функції введення-виведення.
printf - Виробляє форматований вивід в stdout.
Синтаксис
# include <stdio.h>
int printf (const char * format [, argument, ...]);
Рrintf отримує набір аргументів, застосовує до кожного відповідну специфікацію формату з рядка format, і виводить форматовані дані в stdout. Число аргументів повинне відповідати числу специфікацій формату в format.
Рядок формату керує тим, як будуть змінюватися, і друкуватися аргументи функції. Для заданих специфікацій формату повинна бути достатня кількість адресних аргументів; якщо це не дотримується, результат може бути непередбачуваним і, ймовірно помилковим. Зайві адресні аргументи (більше, ніж вимагає формат) будуть проігноровані.
Рядок формату - це символьний рядок, що складається з двох типів об'єктів - просто символи і специфікації перетворення.
Прості символи переносяться у висновок без змін. Специфікації перетворення застосовуються для форматування.
% D - ціле десяткове зі знаком
%i - ціле десяткове зі знаком
%o - ціле вісімкове без знака
%u - ціле десяткове без знака
%x - ціле шістнадцяткове без знака (з літерами a, b, c, d, e, f)
% X - ціле шістнадцяткове без знака (з літерами A, B, C, D, E, F).
%f - значення зі знаком у формі [-]dddd.dddd
%e - значення зі знаком у формі [-] d. dddd e [+/-]ddd
%g - значення зі знаком або у формі f, або у формі e, з даними значенням і точністю. Хвостові нулі і десяткова крапка друкуються тільки при необхідності
%E - так само, як у випадку e, тільки з буквою E для позначення ступеня
%G - так само, як у випадку g, тільки з буквою E для позначення ступеня
Приклад:
printf ("Hi% c% d% s", 'c', 10, "there!");
На екрані "Hi c 10 there!"
scanf - Виконує форматований введення з потоку stdin.
Синтаксис
# include <stdio.h>
int scanf (const char * format [, adress, ...]);
Scanf переглядають вхідні поля, символ за символом, зчитуючи їх з потоку stdin. Потім кожне поле форматується у відповідності зі специфікацією формату, переданої scanf аргументом format. Після цього вона записує відформатований введення за адресами, заданим аргументами, наступними за форматної рядком. Число специфікацій формату має відповідати числу адрес.
Рядок формату керує тим, яким чином кожна функція буде зчитувати, перетворювати і записувати вхідні поля.
Рядок формату - це символьний рядок, що містить три типи об'єктів: незначні символи, значущі символи і специфікації формату.
Незначні символи - це порожньо (), знак табуляції (\ t) і символ переходу на новий рядок (\ n). Як тільки функція зустрічає незначущий символ в рядку формату, вона зчитує, але не зберігає всі наступні незначні символи до тих пір, поки не зустрінеться перший значущий символ.
Значущі символи - це все символи ASCII, за винятком знака відсотка (%). Якщо функція зустрічає в форматної рядку значущий символ, вона зчитує, але не зберігає даний символ.
Специфікація формату відповідає специфікації для printf.
Приклад:
scanf ("% d", & x);
зчитуємо десяткове значення в змінну х.
putchar - Виводить символ у потік stdout.
Синтаксис
# include <stdio.h>
int putchar (int c);
putchar при успішному завершенні putchar повертає виведений символ c. При помилку він повертає EOF.
Приклад:
putchar ('*');
- виводить на екран символ «*».