Czym jest standardowe wejście-wyjście (stdio)?
Standardowe kanały komunikacji między komputerem, a otoczeniem. Są to obiekty zajmujące się pobieraniem informacji o naciskanych klawiszach i wyprowadzaniem informacji na ekran. Strumienie wejściowy wyjściowy i diagnostyczny oznaczone są odpowiednio: stdin, stdout, stderr. Każdy strumień ma odpowiadające mu wartości: stdin 0, stdout 1, stderr 2
Czym może być standardowe wejście (stdin) i standardowe wyjście (stdout)?
- standardowe wejście – klawiatura, dysk
- standardowe wyjście – monitor, głośniki
Na czym polega i jak zrealizować przekierowanie strumienia stdin, stdout i stderr?
Przekierowanie strumieni można zrealizować za pomocą operatorów: >, <, >>, <<
- Operator > powoduje przeadresowanie standardowego wyjścia , czyli utworzenie pliku i zapisanie w nim tego co proces wypisałby na standardowym wyjściu. Jeśli wskazany plik już istnieje, zostanie on usunięty i utworzony na nowo
- Operator < powoduje przeadresowanie standardowego wjścia procesu, czyli pobranie danych wejściowych ze wskazanego pliku
- Operator >> przeadresowuje stadardowe wyjście dopisując wynki działania programu na końcu istniejącego pliku
- Operator << powoduje, że do procesu zostaną przekazane dane ze standardowego wejścia aż do napotkania wskazanego napisu
- printf (…) – wygenerowany tekst pisany jest na standardowe wyjście
- scanf (…) – odczytuje dane ze standardowego wejścia
- fprintf (…) – wygenerowany tekst pisany jest do zadanego strumienia
- fscanf (…) – odczytuje dane z zadanego strumienia
- putchar () – zwraca kod znaku traktowany jako unsigned char przekształcony do typu int
- getchar () – wczytuje 1 znak z klawiatury
W jaki sposób działa formatowanie przy użyciu formatów d, i, o, x, X, e, f, c, s, g?
- %d – liczba całkowita ze znakiem w formacie dziesiętnym
- % i – synonim dla %d
- % x - liczba całkowita bez znaku w formacie szesnastkowym, z użyciem małych liter
- %X – liczba całkowita bez znaku w formacie szesnastkowym, z użyciem dużych liter
- % o – liczba szesnastkowa bez znaku w formacie oktalnym
- % e – liczba zmiennoprzecinkowa w zapisie znakowym (1.2345e+2)
- % f – liczba zmiennoprzecinkowa typu double (float jest automatycznie konwertowany) w zapisie (123.45)
- % c – liczba całkowita jest konwertowana na bajt o danej wartości
- % s – łańcuch tekstowy
- % g – liczba zmiennoprzecinkowa (krótszy z formatów %f, %e)
Do czego służą dodatkowe modyfikatory?
- width – decyduje o szerokości pola przeznaczonego a wypisywaną liczbę
- precision – decyduje o ilości cyfr uwzględnionych po przecinku
– Preprocesor – program komputerowy, którego zadaniem jest przetworzenie kodu źródłowego w sposób określony przez programistę za pomocą derektyw preprocesora na kod wyjściowy
- Kompilator - program służący do automatycznego tłumaczenia kodu napisanego w jednym języku (języku źródłowym) na równoważny kod w innym języku (języku wynikowym) najczęściej na kod maszynowy
- Linker - łączy zadane pliki obiektowe i biblioteki statyczne tworząc w ten sposób plik wykonalny
Plik binarny to ciąg bajtów. Inaczej to plik, w którym rekord logiczny ma rozmiar jednego bajta.
Plik tekstowy –ciąg znaków z podziałem na wiersze. Podstawową jednostką danych w pliku tekstowym jest jeden znak (co w plikach zakodowanych w ASCII przekłada się na 1 bajt)
Znaki końca wiersza w różnych systemach operacyjnych:
- w systemach opartych na kodowaniu ASCII są to kombinacje kodów CR i LF
- LF – w systemach UNIX/Linux
-CR LF – w systemach Windows oraz DOS
- CR – w systemach MAC OS
- w systemach opartych na EBCDIC – NEL
Wskaźniki – specjalny rodzaj zmiennej, w której zapisany jest adres w pamięci komputera. Wskaźnik wskazuje miejsca gdzie zapisana jest jakaś informacja.
Tablica jednowymiarowa – gdy mamy doczynienie z zestawem zmiennych to można z nich zrobić tablicę. Tablica jest ciągiem elementów tego samego typu, który zajmuje ciągły obszar pamięci.
A – nazwa, identyfikator który przed użyciem musi być zdeklarowany
‘A’ – stała, dosłowna nazwa. Typ char
„A” – ciąg znaków (stała tekstowa)
0xA – stała, dosłowna zapisana szesnastkowo
‘A’ – 1 bajt
„A” – 2 bajty
0xA – 4 bajty