C - Wikibooks.pdf
(
1483 KB
)
Pobierz
C
Programowanie w C
Stworzone na Wikibooks,
bibliotece wolny podręczników.
Wersja . z dnia listopada
Copyright
- użytkownicy Wikibooks.
Udziela się zezwolenia do kopiowania, rozpowszechniania lub modyfikacji tego dokumentu
zgodnie z zasadami
Licencji Creative Commons Uznanie autorstwa-Na ty samy warunka
. Unported
lub dowolnej późniejszej wersji licencji opublikowanej przez Creative Com-
mons, która zawiera te same elementy co niniejsza licencja.
Tekst licencji można znaleźć na stronie
http://creativecommons.org/licenses/by-sa/3.0/
deed.pl
.
Wikibooks nie udziela żadnych gwarancji, zapewnień ani obietnic dotyczących poprawności
publikowanych treści. Nie udziela też żadnych innych gwarancji, zarówno jednoznacznych,
jak i dorozumianych.
'
Spis tre
´
sci
O podręczniku
. O czym mówi ten podręcznik?
. . . . . . . . . . . . . . . . . . . . . . . . . . 11
. Co trzeba wiedzieć, żeby skorzystać z niniejszego podręcznika?
. . . . . . . . 11
. Konwencje przyjęte w tym podręczniku
. . . . . . . . . . . . . . . . . . . . . 11
. Czy mogę pomóc?
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
. Autorzy
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
. Źródła
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
O języku C
. Historia C
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
. Zastosowania języka C
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
. Przyszłość C
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Czego potrzebujesz
. Czego potrzebujesz
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
. Zintegrowane Środowiska Programistyczne
. . . . . . . . . . . . . . . . . . . 18
. Dodatkowe narzędzia
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Używanie kompilatora
. GCC
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
. Borland
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
. Czytanie komunikatów o błędach
. . . . . . . . . . . . . . . . . . . . . . . . 20
Pierwszy program
. Twój pierwszy program
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
. Rozwiązywanie problemów
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Podstawy
. Kompilacja: Jak działa C?
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
. Co może C?
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
. Struktura blokowa
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
. Zasięg
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
. Funkcje
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
. Biblioteki standardowe
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
. Komentarze i styl
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
. Preprocesor
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
. Nazwy zmiennych, stałych i funkcji
. . . . . . . . . . . . . . . . . . . . . . . 32
3
Zmienne
. Czym są zmienne?
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
. Typy zmiennych
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
. Specyfikatory
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
. Modyfikatory
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
. Uwagi
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Operatory
. Przypisanie
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
. Rzutowanie
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
. Operatory arytmetyczne
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
. Operacje bitowe
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
. Porównanie
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
. Operatory logiczne
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
. Operator wyrażenia warunkowego
. . . . . . . . . . . . . . . . . . . . . . . 51
. Operator przecinek
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
. Operator sizeof
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
. Inne operatory
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
. Priorytety i kolejność obliczeń
. . . . . . . . . . . . . . . . . . . . . . . . . . 52
. Kolejność wyliczania argumentów operatora
. . . . . . . . . . . . . . . . . . 53
. Uwagi
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
. Zobacz też
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Instrukcje sterujące
. Instrukcje warunkowe
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
. Pętle
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
. Instrukcja goto
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
. Natychmiastowe kończenie programu — funkcja exit
. . . . . . . . . . . . . 65
. Uwagi
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
Podstawowe procedury wejścia i wyjścia
. Wejście/wyjście
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
. Funkcje wyjścia
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
. Funkcja puts
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
. Funkcja fputs
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
. Funkcje wejścia
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
Funkcje
. Tworzenie funkcji
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
. Wywoływanie
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
. Zwracanie wartości
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
. Zwracana wartość
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
. Funkcja main()
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
. Dalsze informacje
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
. Zobacz też
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
Preprocesor
. Wstęp
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
. Dyrektywy preprocesora
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
. Predefiniowane makra
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
4
Biblioteka standardowa
. Czym jest biblioteka?
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
. Po co nam biblioteka standardowa?
. . . . . . . . . . . . . . . . . . . . . . . 97
. Gdzie są funkcje z biblioteki standardowej?
. . . . . . . . . . . . . . . . . . . 97
. Opis funkcji biblioteki standardowej
. . . . . . . . . . . . . . . . . . . . . . . 98
. Uwagi
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
Czytanie i pisanie do plików
. Pojęcie pliku
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
. Identyfikacja pliku
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
. Podstawowa obsługa plików
. . . . . . . . . . . . . . . . . . . . . . . . . . . 99
. Rozmiar pliku
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
. Przykład — pliki graficzny
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
. Co z katalogami?
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
Ćwiczenia dla początkujący
. Ćwiczenia
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
Tablice
. Wstęp
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
. Odczyt/zapis wartości do tablicy
. . . . . . . . . . . . . . . . . . . . . . . . . 109
. Tablice znaków
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
. Tablice wielowymiarowe
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
. Ograniczenia tablic
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
. Ciekawostki
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
Wskaźniki
. Co to jest wskaźnik?
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
. Operowanie na wskaźnikach
. . . . . . . . . . . . . . . . . . . . . . . . . . . 114
. Arytmetyka wskaźników
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
. Tablice a wskaźniki
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
. Gdy argument jest wskaźnikiem...
. . . . . . . . . . . . . . . . . . . . . . . . 119
. Pułapki wskaźników
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
. Na co wskazuje ?
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
. Stałe wskaźniki
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
. Dynamiczna alokacja pamięci
. . . . . . . . . . . . . . . . . . . . . . . . . . 122
. Wskaźniki na funkcje
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
. Możliwe deklaracje wskaźników
. . . . . . . . . . . . . . . . . . . . . . . . . 127
. Popularne błędy
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
. Ciekawostki
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
Napisy
. Łańcuchy znaków w języku C
. . . . . . . . . . . . . . . . . . . . . . . . . . 129
. Operacje na łańcuchach
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
. Bezpieczeństwo kodu a łańcuchy
. . . . . . . . . . . . . . . . . . . . . . . . . 134
. Konwersje
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
. Operacje na znakach
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
. Częste błędy
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
. Unicode
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
5
Plik z chomika:
img94
Inne pliki z tego folderu:
C. Rusz głową! [David Griffiths, Dawn Griffiths][2013].pdf
(22177 KB)
C - Wikibooks.pdf
(1483 KB)
Inne foldery tego chomika:
Android
Angielski
Bazy Danych
Elektryka i Elektronika
Fabularne
Zgłoś jeśli
naruszono regulamin