This is an old revision of the document!
We wszystkich systemach komputerowych do przechowywania informacji służą pliki (file). Pliki zawierają powiązane ze sobą wzajemnie informacje. Ponieważ w komputerach wszystkie pliki reprezentowane są jako ciągi bitów pogrupowanych w bajty, język C traktuje plik jako ciąg bajtów, czyli strumień (stream). Język C traktuje wszystkie strumienie danych (do/z pliku) i wszystkie pliki dokładnie tak samo. Dodatkowo w C są trzy strumienie plikowe (file stream), które są standardowo wstępnie otwierane dla nas:
Nagłówki funkcji języka C służących do obsługi wejścia/wyjścia znajdują się w pliku nagłówkowym stdio.h
.
Główną funkcja służąca do wypisywania danych na standardowe wyjście (zazw. oznaczające wyświetlanie danych na ekranie terminala) jest printf()
.
Prototyp funkcji: int printf ( const char * format, ... );
Przykład:
printf("Stan konta #%d wynosi %f zlotych.\n", 1, saldo);
"Stan konta wynosi %.2f zlotych.\n"
– łańcuch sterujący%d
, %.2f
– specyfkatory konwersji1, saldo
– lista wyrażeń
Tekst ograniczony cudzysłowami (
"..."
) to łańcuch znaków. Na razie pozostanie on dla Ciebie czarną magią, zajmiemy się tym zagadnieniem za parę zajęć… Na chwilę obecną po prostu powiedz sobie Aha, stosując printf() muszę na początku wpisać tekst w cudzysłowach!
Podstawowe specyfikatory konwersji:
specyfikator | typ wartości |
---|---|
'%c' | char |
'%d' | int |
'%f' | float , double |
Podstawowe opcje formatowania:
%8d
)%.3f
)
W domu zapoznaj się dokładniej z dokumentacją funkcji printf(). Zobacz, jakie inne specyfikatory i opcje formatowania udostępnia ta funkcja – otrzymywanie czytelnych wyników działania programu to podstawa sukcesu
Sprawdź, co zostanie wypisane w przypadku użycia nieodpowiednich specyfikatorów konwersji:
#include <stdio.h> #include <stdlib.h> int main() { int num = 300; float nf = 3.0f; printf("%d %c\n", num, num); printf("%f %lf\n", num, num); printf("%f %d\n", nf, nf); return 0; }
Upewnij się, że na końcu łańcucha sterującego znajduje się znak nowej linii
\n
(inaczej może się zdarzyć, że tekst do wyświetlenia utknie w buforze).
Główną funkcja służąca do pobierania danych ze standardowego wejścia (zazw. z klawiatury) jest scanf()
.
Funkcja ta zamienia wpisywany tekst na wartości odpowiednich typów zgodnie z zadanymi przez programistę specyfikatorami konwersji.
scanf()
pobiera wskaźniki do zmiennych (na chwilę obecną nie musisz nic wiedzieć o wskaźnikach, po prostu dodaj symbol &
przed nazwą zmiennej
podstawowe specyfikatory: %c, %d, %f, %lf