Jezyk_C_Programowanie_cprpro.pdf

(243 KB) Pobierz
IDZ DO
PRZYK£ADOWY ROZDZIA£
SPIS TRE CI
KATALOG KSI¥¯EK
KATALOG ONLINE
ZAMÓW DRUKOWANY KATALOG
Jêzyk C.
Programowanie
Autor: Steve Oualline
T³umaczenie: Piotr Pilch
ISBN: 83-7197-914-2
Tytu³ orygina³u:
Practical C Programming
Format: B5, stron: 460
Przyk³ady na ftp: 216 kB
TWÓJ KOSZYK
DODAJ DO KOSZYKA
CENNIK I INFORMACJE
ZAMÓW INFORMACJE
O NOWO CIACH
ZAMÓW CENNIK
Programowanie w jêzyku C jest czym wiêcej ni¿ tylko wprowadzaniem kodu zgodnego
z regu³ami sk³adni; styl i wykrywanie b³êdów odgrywaj¹ równie istotn¹ rolê w procesie
tworzenia oprogramowania. Istotnie przyczyniaj¹ siê do prawid³owego dzia³ania
programów oraz u³atwiaj¹ ich konserwacjê. W ksi¹¿ce omówiono wiêc nie tylko
dzia³anie jêzyka C, ale równie¿ ca³y proces tworzenia programu w tym jêzyku
(uwzglêdniaj¹c za³o¿enia projektowe programu, kodowanie, metody wykrywania
b³êdów, dokumentacjê, konserwacjê oraz aktualizacjê).
Wbrew powszechnemu przekonaniu wiêkszo æ programistów nie spêdza ca³ego
swojego czasu przy pisaniu kodu. Po wiêcaj¹ oni wiele czasu na wprowadzanie zmian
i poprawek do aplikacji napisanych przez kogo innego. Po przeczytaniu tej ksi¹¿ki
bêdziesz w stanie tworzyæ programy, z którymi inni programi ci nie bêd¹ musieli
staczaæ bojów. Posi¹dziesz równie¿ umiejêtno æ analizowania kodu napisanego przez
innego programistê.
Ksi¹¿ka „Jêzyk C. Programowanie” omawia tak¿e popularne zintegrowane rodowiska
programistyczne dla systemu Windows (Borland C++, Turbo C++ oraz Microsoft Visual
C++) oraz narzêdzia programistyczne dla systemu UNIX (cc i gcc). Zawarto w niej
równie¿ kod programu generuj¹cego statystyki, który ma za zadanie zademonstrowanie
zagadnieñ omówionych w ksi¹¿ce. Ksi¹¿ka jest przeznaczona dla osób, które nie mia³y
dot¹d do wiadczenia w programowaniu oraz dla programistów znaj¹cych ju¿ jêzyk C,
a pragn¹cych poprawiæ swój styl i czytelno æ tworzonego kodu. Je li chcesz sprawnie
pos³ugiwaæ siê C, „Jêzyk C. Programowanie” to idealny podrêcznik dla Ciebie.
CZYTELNIA
FRAGMENTY KSI¥¯EK ONLINE
Wydawnictwo Helion
ul. Chopina 6
44-100 Gliwice
tel. (32)230-98-63
e-mail: helion@helion.pl
Spis treści
Wstęp ................................................................................................................................11
Organizacja książki................................................................................................................... 12
Omówienie rozdziałów ............................................................................................................ 12
Uwagi dotyczące trzeciej edycji ............................................................................................... 15
Zastosowane style czcionki ...................................................................................................... 16
FTP ........................................................................................................................................... 17
Część I
Podstawy programowania .............................................19
Rozdział 1.
Czym jest język C ........................................................................... 21
Na czym polega sztuka programowania ................................................................................. 22
Krótka historia języka C........................................................................................................... 25
Jak działa język C ..................................................................................................................... 25
Jak uczyć się języka C .............................................................................................................. 27
Rozdział 2.
Tworzenie programu — podstawy................................................. 29
Program — od pomysłu do realizacji ...................................................................................... 30
Tworzenie prawdziwego programu ........................................................................................ 31
Tworzenie programu przy użyciu kompilatora trybu wiersza poleceń .................................. 31
Tworzenie programu przy użyciu zintegrowanego środowiska programowania IDE............. 35
Uzyskanie pomocy w systemie UNIX ..................................................................................... 49
Uzyskanie pomocy w zintegrowanym środowisku programowania IDE............................... 50
Lista poleceń środowiska IDE.................................................................................................. 50
Ćwiczenia z programowania.................................................................................................... 52
4
Spis treści
Rozdział 3.
Styl programowania ....................................................................... 53
Popularne style programowania.............................................................................................. 58
Różne szkoły programowania.................................................................................................. 60
Wcięcia oraz formatowanie kodu źródłowego ........................................................................ 61
Przejrzystość ............................................................................................................................ 62
Prostota .................................................................................................................................... 62
Podsumowanie......................................................................................................................... 63
Rozdział 4.
Deklaracje i wyrażenia................................................................... 65
Elementy programu ................................................................................................................. 66
Podstawowa struktura programu............................................................................................ 66
Wyrażenia proste ..................................................................................................................... 68
Zmienne i ich zakres ................................................................................................................ 69
Deklaracja zmiennych .............................................................................................................. 70
Typ całkowity........................................................................................................................... 70
Instrukcja przypisania .............................................................................................................. 71
Funkcja printf ........................................................................................................................... 72
Typ zmiennoprzecinkowy........................................................................................................ 74
Porównanie dzielenia liczb zmiennoprzecinkowych i dzielenia liczb całkowitych................. 75
Typ znakowy............................................................................................................................ 76
Odpowiedzi.............................................................................................................................. 78
Ćwiczenia z programowania.................................................................................................... 79
Rozdział 5.
Tablice, kwalifikatory oraz wprowadzanie znaków .................... 81
Tablice ...................................................................................................................................... 82
Łańcuchy .................................................................................................................................. 83
Wprowadzanie łańcuchów....................................................................................................... 85
Tablice wielowymiarowe ......................................................................................................... 88
Wprowadzanie liczb................................................................................................................. 89
Inicjalizacja zmiennych............................................................................................................. 91
Typ całkowity........................................................................................................................... 92
Typ zmiennoprzecinkowy........................................................................................................ 94
Deklaracje stałych..................................................................................................................... 95
Stałe szesnastkowe i ósemkowe............................................................................................... 96
Operatory specjalne ................................................................................................................. 96
Efekty uboczne......................................................................................................................... 97
++x czy x++.............................................................................................................................. 98
Jeszcze o efektach ubocznych................................................................................................... 99
Odpowiedzi............................................................................................................................ 100
Ćwiczenia z programowania.................................................................................................. 101
Rozdział 6.
Instrukcje sterujące i warunkowe ................................................ 103
Instrukcja if............................................................................................................................. 104
Instrukcja else......................................................................................................................... 105
Spis treści
5
Jak uniknąć stosowania funkcji strcmp .................................................................................. 106
Pętle........................................................................................................................................ 106
Instrukcja while ...................................................................................................................... 107
Instrukcja break...................................................................................................................... 109
Instrukcja continue ................................................................................................................. 110
Zastosowanie instrukcji przypisania a efekt uboczny ........................................................... 111
Odpowiedzi............................................................................................................................ 112
Ćwiczenia z programowania.................................................................................................. 112
Rozdział 7.
Proces tworzenia programu.......................................................... 115
Przygotowanie ....................................................................................................................... 117
Specyfikacja ............................................................................................................................ 118
Projekt programu ................................................................................................................... 119
Prototyp ................................................................................................................................. 120
Plik Makefile .......................................................................................................................... 122
Testowanie ............................................................................................................................. 124
Wykrywanie błędów .............................................................................................................. 125
Konserwacja ........................................................................................................................... 127
Aktualizacja............................................................................................................................ 127
Elektroniczna archeologia ...................................................................................................... 128
Redagowanie kodu programu ............................................................................................... 128
Zastosowanie debugera ......................................................................................................... 129
Edytor tekstu jako przeglądarka ............................................................................................ 129
Umieszczanie komentarzy ..................................................................................................... 129
Ćwiczenia z programowania.................................................................................................. 132
Część II
Programowanie proste.................................................. 133
Rozdział 8.
Dodatkowe instrukcje sterujące................................................... 135
Instrukcja for .......................................................................................................................... 135
Instrukcja switch .................................................................................................................... 138
Instrukcja switch, break oraz continue................................................................................... 143
Odpowiedzi............................................................................................................................ 144
Ćwiczenia z programowania.................................................................................................. 145
Rozdział 9.
Zakres zmiennych i funkcje .......................................................... 147
Zakres i klasa zmiennej .......................................................................................................... 147
Funkcje ................................................................................................................................... 151
Funkcje bez parametrów........................................................................................................ 154
Programowanie strukturalne ................................................................................................. 155
Rekurencja.............................................................................................................................. 157
Odpowiedzi............................................................................................................................ 158
Ćwiczenia z programowania.................................................................................................. 159
6
Spis treści
Rozdział 10.
Preprocesor języka C .................................................................... 161
Instrukcja #define ................................................................................................................... 162
Kompilacja warunkowa ......................................................................................................... 167
Pliki dołączane ....................................................................................................................... 170
Makra parametryzowane ....................................................................................................... 171
Funkcje zaawansowane.......................................................................................................... 173
Podsumowanie....................................................................................................................... 173
Odpowiedzi............................................................................................................................ 173
Ćwiczenia z programowania.................................................................................................. 176
Rozdział 11.
Operacje na bitach ........................................................................ 177
Operatory bitowe ................................................................................................................... 179
Koniunkcja bitowa and (&) .................................................................................................... 179
Bitowa alternatywa (|)........................................................................................................... 182
Różnica symetryczna (^) ........................................................................................................ 182
Negacja bitowa not (~) ........................................................................................................... 183
Operatory przesunięcia (<<, >>)............................................................................................ 183
Ustawianie, usuwanie i testowanie bitów.............................................................................. 185
Grafika bitmapowa ................................................................................................................ 188
Odpowiedzi............................................................................................................................ 193
Ćwiczenia z programowania.................................................................................................. 194
Rozdział 12.
Typy złożone ................................................................................. 195
Struktury ................................................................................................................................ 196
Unie ........................................................................................................................................ 197
Instrukcja typedef .................................................................................................................. 200
Typ wyliczeniowy enum........................................................................................................ 201
Konwersja typów (rzutowanie).............................................................................................. 201
Struktury upakowane oraz pola bitowe ................................................................................ 202
Tablice struktur ...................................................................................................................... 203
Podsumowanie....................................................................................................................... 205
Ćwiczenia z programowania.................................................................................................. 205
Rozdział 13.
Wskaźniki proste .......................................................................... 207
Wskaźniki jako argumenty funkcji......................................................................................... 212
Wskaźniki stałych................................................................................................................... 215
Wskaźniki i tablice ................................................................................................................. 215
Jak nie używać wskaźników .................................................................................................. 220
Użycie wskaźników do podziału łańcucha ............................................................................ 221
Wskaźniki i struktury............................................................................................................. 225
Argumenty wiersza poleceń .................................................................................................. 225
Ćwiczenia z programowania.................................................................................................. 230
Odpowiedzi............................................................................................................................ 230
Zgłoś jeśli naruszono regulamin