User Tools

Site Tools


dydaktyka:cprog:2015:basic_stdio

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
dydaktyka:cprog:2015:basic_stdio [2015/10/14 00:13]
pkleczek utworzono
— (current)
Line 1: Line 1:
-====== Interakcja z użytkownikiem ====== 
  
-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: 
-  * stdin – standardowe wejście (//standard input//) – do odczytu; zazwyczaj powiązany z klawiaturą 
-  * stdout – standardowe wyjście (//standard output//) – do zapisu; zazwyczaj powiązany z monitorem terminala 
-  * stderr – standardowe wyjście dla komunikatów o błędach (//standard error//) 
- 
-Nagłówki funkcji języka C służących do obsługi wejścia/​wyjścia znajdują się w pliku nagłówkowym ''​stdio.h''​. 
- 
-===== Wypisywanie danych ===== 
- 
-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: Zha/63 + przykład użycia wraz z opisem elementów: Zha/64 ] 
-[schemat Pra/87-88] 
-[ pobieżne wprowadzenie do łańcuchów znaków – tyle, ile potrzebne do korzystania z printf() ] 
-podstawowe specyfikatory:​ %c, %d, %f 
-[w formie tabeli; pozostałe: w dokumentacji funkcji printf()] 
-wyrównanie pola wyjściowego (np. %8d) 
-specyfikator precyzji (np. %.3f) 
- 
-W domu zapoznaj się dokładniej z [[http://​www.cplusplus.com/​reference/​cstdio/​printf/​|dokumentacją funkcji printf()]. 
- 
-Sprawdź, co się stanie w przypadku użycia nieodpowiednich specyfikatorów konwersji: 
- 
-<code c conversion_errors.c>​ 
-#include <​stdio.h>​ 
-#include <​stdlib.h>​ 
- 
-int main() 
-{ 
-    int num = 300; 
-    printf("​%d %c\n", num, num); 
-    printf("​%f %lf\n",​ num, num); 
- 
-    float nf = 3.0f; 
-    printf("​%f %d\n", nf, nf); 
- 
-    return 0; 
-} 
-</​code>​ 
- 
-Jak sądzisz, dlaczego tak się dzieje? 
- 
-:!: Upewnij się, że na końcu łańcucha znaków znajduje się znak nowej linii ''​\n''​ (inaczej może się zdarzyć, że tekst do wyświetlenia utknie w buforze). 
- 
-===== Odczyt danych ===== 
- 
-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 
dydaktyka/cprog/2015/basic_stdio.1444774400.txt.gz · Last modified: 2020/03/25 11:46 (external edit)