Język programowania C oferuje różnorodne funkcje do obsługi wejścia i wyjścia (I/O), które są niezbędne do interakcji z użytkownikiem oraz do przetwarzania danych. Podstawowe operacje I/O w C wykorzystują bibliotekę stdio.h, która zawiera funkcje takie jak printf() do wyświetlania danych (output) i scanf() do odbierania danych od użytkownika (input). W tej lekcji przyjrzymy się, jak używać tych funkcji do tworzenia interaktywnych programów w C.
Przykład kodu w C z komentarzami
Poniższy kod demonstruje prosty program, który prosi użytkownika o wprowadzenie wieku, a następnie wyświetla odpowiedni komunikat w zależności od wprowadzonej wartości.
#include <stdio.h> // Dołączenie biblioteki standardowej input-output
int main() {
// Deklaracja zmiennej age typu int
int age;
printf("Enter your age: "); // Wyświetlenie prośby o wprowadzenie wieku
scanf("%d", &age); // Odczytanie wieku wprowadzonego przez użytkownika
// Sprawdzenie, czy użytkownik jest pełnoletni
if (age >= 18) {
printf("You are an adult.\n"); // Wyświetlenie, gdy użytkownik jest pełnoletni
} else {
printf("You are a minor.\n"); // Wyświetlenie, gdy użytkownik jest niepełnoletni
}
return 0; // Zakończenie programu
}
Obsługa inputu
Funkcja scanf() służy do odbierania danych od użytkownika. Pierwszym argumentem jest łańcuch formatujący, który określa typ danych, jakie ma odczytać, np. %d dla liczb całkowitych. Po nim następują argumenty, które wskazują, gdzie zapisane zostaną odczytane dane, w tym przypadku adres zmiennej age (&age).
Obsługa outputu
Funkcja printf() umożliwia wyświetlanie danych. Pierwszym argumentem jest łańcuch znaków, który może zawierać specyfikatory formatu (takie jak %d), które zostaną zastąpione przez kolejno podane po nim wartości.
Podsumowanie
Użycie funkcji scanf() i printf() jest podstawą do tworzenia interaktywnych programów w C, które komunikują się z użytkownikiem poprzez standardowe wejście (klawiatura) i wyjście (ekran). Rozumienie tych funkcji jest kluczowe dla każdego programisty C, ponieważ stanowią one fundament dla bardziej zaawansowanych operacji I/O w języku C.
