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.