• EOL

Język C. Szkoła programowania. Wydanie V - Stephen Prata

Indeks: KSZ-02180

Wydawnictwo: Helion. Tłumaczenie: Tomasz Szynalski, Grzegorz Joszcz. Oprawa: twarda. Książka pokazuje współczesne podejście do programowania w języku C.

Język C. Szkoła programowania. Wydanie V - Stephen Prata
95,00 zł
90,48 zł netto
Zapłać później
Powiadom o dostępności
Niedostępny
Produkt wycofany
Producent: Helion

 

Uwaga!

Sprzedaż tej ksiażki została zakończona - sprawdź nasze pozostałe pozycje.

 

 

Opis

Pozycja jest piątym wydaniem popularnej książki „Język C. Szkoła programowania”, która ukazała się na rynku w 1999 roku. Najnowsze wydanie ukazuje współczesne podejście do programowania w języku C. Autor w przejrzysty sposób przedstawia kolejne zagadnienia teoretyczne, opierając je na praktycznych przykładach. Poszczególne rozdziały zakończone są pytaniami podsumowującymi wraz z odpowiedziami oraz zadaniami programistycznymi dotyczącymi omawianego tematu.

 

W lekturze czytelnik znajdzie techniki efektywnego programowania oraz wybrane algorytmy i struktury danych.

 

Ponad to w książce opisana jest szczegółowa charakterystyka:

  • rozszerzonych typów całkowitych i zbiorów,
  • tablic o zmiennej długości (VLA),
  • złożonych literałów,
  • rozszerzonych zbiorów znaków oraz typów logicznych,
  • funkcji wplatanych (INLINE),
  • inicjalizatorów oznaczonych struktur.

 

 

Przykładowe projekty wykorzystane w książce dostępne do pobrania. Fragment książki do przeczytania on-line.

 
 

Spis treści

 

Przedmowa (19)

 

O autorze (21)

 

Rozdział 1. Zaczynamy (23)

  • Skąd C? (23)
  • Dlaczego C? (24)
    • Cechy użytkowe (25)
    • Efektywność (25)
    • Przenośność (25)
    • Moc i elastyczność (25)
    • Ukierunkowanie na programistę (26)
    • Słabe strony (26)
  • Dokąd zmierza C? (26)
  • Co robią komputery? (28)
  • Języki wysokiego poziomu i kompilatory (29)
  • Korzystanie z C: siedem kroków (29)
    • Krok 1: określenie celów programu (30)
    • Krok 2: projektowanie programu (30)
    • Krok 3: pisanie kodu (31)
    • Krok 4: kompilacja (31)
    • Krok 5: uruchomienie programu (32)
    • Krok 6: testowanie i usuwanie błędów (32)
    • Krok 7: "Pielęgnowanie" i modyfikacja programu (33)
    • Komentarz (33)
  • Mechanika programowania (33)
    • Pliki kodu obiektowego, pliki wykonywalne i biblioteki (34)
    • UNIX (36)
    • Linux (38)
    • Zintegrowane środowiska programistyczne (Windows) (38)
    • Kompilatory DOS-owe dla komputerów IBM PC (40)
    • Język C a Macintosh (40)
  • Standardy języka (40)
    • Standard ANSI/ISO C (41)
    • Standard C99 (42)
  • Jak zorganizowano tę książkę (43)
  • Metody zapisu (43)
    • Czcionka (43)
    • Tekst na ekranie (43)
  • Podsumowanie rozdziału (45)
  • Pytania sprawdzające (45)
  • Ćwiczenie (45)

 

Rozdział 2. Wstęp do C (47)

  • Prosty przykład języka C (47)
  • Objaśnienie (48)
    • Podejście 1: szybkie streszczenie (48)
    • Podejście 2: szczegóły (50)
  • Budowa prostego programu (59)
  • Jak uczynić Twój program czytelnym? (60)
  • Kolejny krok (60)
    • Dokumentacja (61)
    • Wielokrotne deklaracje (61)
    • Mnożenie (61)
    • Wyświetlanie wielu wartości (62)
  • Wiele funkcji (62)
  • Usuwanie błędów (64)
    • Błędy składniowe (64)
    • Błędy semantyczne (65)
    • Stan programu (67)
  • Słowa kluczowe (67)
  • Kluczowe zagadnienia (68)
  • Podsumowanie rozdziału (69)
  • Pytania sprawdzające (69)
  • Ćwiczenia (70)

 

Rozdział 3. Dane w C (73)

  • Program przykładowy (74)
    • Co nowego? (75)
  • Zmienne i stałe (76)
  • Słowa kluczowe typów danych (76)
    • Typy całkowite a typy zmiennoprzecinkowe (77)
    • Liczba całkowita (78)
    • Liczba zmiennoprzecinkowa (79)
  • Typy danych w C (80)
    • Typ int (80)
    • Inne typy całkowite (84)
    • Korzystanie ze znaków: typ char (89)
    • Typ _Bool (95)
    • Typy przenaszalne: inttypes.h (96)
    • Typy float, double i long double (98)
    • Typy zespolone i urojone (103)
    • Inne typy (103)
    • Rozmiary typów (105)
  • Korzystanie z typów danych (107)
  • Uwaga na argumenty (107)
  • Jeszcze jeden przykład (109)
    • Co się dzieje (110)
    • Potencjalny problem (111)
  • Kluczowe zagadnienia (111)
  • Podsumowanie rozdziału (112)
  • Pytania sprawdzające (113)
  • Ćwiczenia (115)

 

Rozdział 4. Łańcuchy znakowe i formatowane wejście/wyjście (117)

  • Na początek... program (118)
  • Łańcuchy znakowe: wprowadzenie (119)
    • Tablice typu char i znak zerowy (119)
    • Korzystanie z łańcuchów (120)
    • Funkcja strlen() (121)
  • Stałe i preprocesor C (123)
    • Modyfikator const (127)
    • Stałe standardowe (127)
  • Poznać i wykorzystać printf() i scanf() (129)
    • Funkcja printf() (130)
    • Korzystanie z printf() (130)
    • Modyfikatory specyfikatorów konwersji dla printf() (132)
    • Znaczenie konwersji (138)
    • Korzystanie z funkcji scanf() (144)
    • Modyfikator * w funkcjach printf() i scanf() (150)
  • Praktyczne wskazówki (151)
  • Kluczowe zagadnienia (152)
  • Podsumowanie rozdziału (153)
  • Pytania sprawdzające (154)
  • Ćwiczenia (156)

 

Rozdział 5. Operatory, wyrażenia i instrukcje (159)

  • Wstęp do pętli (160)
  • Podstawowe operatory (162)
    • Operator przypisania: = (162)
    • Operator dodawania: + (164)
    • Operator odejmowania: - (165)
    • Operatory znaku: - i + (165)
    • Operator mnożenia: * (166)
    • Operator dzielenia: / (168)
    • Priorytet operatorów (169)
    • Priorytet i kolejność obliczeń (171)
  • Niektóre inne operatory (172)
    • Operator sizeof i typ size_t (172)
    • Operator modulo: % (173)
    • Operatory inkrementacji i dekrementacji: ++ i -- (175)
    • Dekrementacja -- (179)
    • Priorytet (180)
    • Nie próbuj być zbyt sprytny (181)
  • Wyrażenia i instrukcje (182)
    • Wyrażenia (182)
    • Instrukcje (183)
    • Instrukcje złożone (bloki) (186)
  • Konwersje typów (188)
    • Operator rzutowania (190)
  • Funkcje z argumentami (192)
  • Przykładowy program (194)
  • Zagadnienia kluczowe (195)
  • Podsumowanie rozdziału (196)
  • Pytania sprawdzające (197)
  • Ćwiczenia (200)

 

Rozdział 6. Instrukcje sterujące C: Pętle (203)

  • Przykład (204)
    • Komentarz (205)
    • Pętla odczytująca w stylu C (207)
  • Instrukcja while (207)
    • Zakończenie pętli while (208)
    • Kiedy kończy się pętla? (208)
    • while jako pętla z warunkiem wejścia (209)
    • Wskazówki dotyczące składni (210)
  • Co jest większe: korzystanie z operatorów i wyrażeń relacyjnych (211)
    • Czym jest prawda? (213)
    • Co jeszcze jest prawdą? (214)
    • Problemy z prawdą (215)
    • Nowy typ _Bool (218)
    • Priorytet operatorów relacyjnych (219)
  • Pętle nieokreślone i pętle liczące (221)
  • Pętla for (222)
    • Elastyczność pętli for (224)
  • Inne operatory przypisania: +=, -=, *=, /=, %= (228)
  • Operator przecinkowy: , (229)
    • Zenon z Elei kontra pętla for (231)
  • Pętla z warunkiem wyjścia: do while (233)
  • Której pętli użyć? (236)
  • Pętle zagnieżdżone (237)
    • Omówienie (238)
    • Inny wariant (238)
  • Tablice (239)
    • Współpraca tablicy i pętli for (240)
  • Przykład wykorzystujący pętlę i wartość zwracaną przez funkcję (242)
    • Omówienie programu (245)
    • Korzystanie z funkcji zwracających wartości (246)
  • Zagadnienia kluczowe (246)
  • Podsumowanie rozdziału (247)
  • Pytania sprawdzające (248)
  • Ćwiczenia (252)

 

Rozdział 7. Instrukcje sterujące C: Rozgałęzienia i skoki (257)

  • Instrukcja if (258)
  • Dodajemy else (260)
    • Kolejny przykład: funkcje getchar() i putchar() (262)
    • Rodzina funkcji znakowych ctype.h (264)
    • Wybór spośród wielu możliwości: else if (266)
    • Łączenie else z if (269)
    • Więcej o zagnieżdżonych instrukcjach if (271)
  • Bądźmy logiczni (275)
    • Zapis alternatywny: plik nagłówkowy iso646.h (277)
    • Priorytet (277)
    • Kolejność obliczeń (278)
    • Zakresy (279)
  • Program liczący słowa (280)
  • Operator warunkowy: ?: (284)
  • Dodatki do pętli: continue i break (286)
    • Instrukcja continue (286)
    • Instrukcja break (289)
  • Wybór spośród wielu możliwości: switch i break (291)
    • Korzystanie z instrukcji switch (293)
    • Pobieranie tylko pierwszego znaku w wierszu (294)
    • Etykiety wielokrotne (295)
    • Switch a if else (298)
  • Instrukcja goto (298)
    • Unikanie goto (298)
  • Zagadnienia kluczowe (301)
  • Podsumowanie rozdziału (302)
  • Pytania sprawdzające (303)
  • Ćwiczenia (306)

 

Rozdział 8. Znakowe wejście/wyjście i przekierowywanie (309)

  • Jednoznakowe we/wy: getchar() i putchar() (310)
  • Bufory (311)
  • Kończenie danych wprowadzanych z klawiatury (313)
    • Pliki, strumienie i dane wprowadzane z klawiatury (313)
    • Koniec pliku (314)
  • Przekierowywanie a pliki (317)
    • Przekierowywanie w systemach UNIX, Linux i DOS (318)
  • Tworzenie przyjaźniejszego interfejsu użytkownika (322)
    • Współpraca z buforowanym wejściem (322)
    • Łączenie wejścia liczbowego i znakowego (325)
    • Sprawdzanie poprawności danych wejściowych (328)
    • Analiza programu (332)
    • Strumienie wejściowe a liczby (333)
  • Menu (334)
    • Zadania (334)
    • W kierunku sprawnego działania (335)
    • Łączenie danych znakowych i numerycznych (337)
  • Zagadnienia kluczowe (340)
  • Podsumowanie rozdziału (340)
  • Pytania sprawdzające (341)
  • Ćwiczenia (342)

 

Rozdział 9. Funkcje (345)

  • Przypomnienie (345)
    • Tworzenie i korzystanie z prostej funkcji (347)
    • Analiza programu (347)
    • Argumenty funkcji (350)
    • Definiowanie funkcji pobierającej argument: argumenty formalne (351)
    • Prototyp funkcji pobierającej argumenty (352)
    • Wywoływanie funkcji pobierającej argumenty: argumenty faktyczne (353)
    • Punkt widzenia czarnej skrzynki (354)
    • Zwracanie wartości przy pomocy instrukcji return (354)
    • Typy funkcji (357)
  • Prototypy ANSI C (358)
    • Problem (359)
    • ANSI na ratunek! (360)
    • Brak argumentów a argumenty nieokreślone (361)
  • Potęga prototypów (362)
  • Rekurencja (362)
    • Rekurencja bez tajemnic (363)
    • Podstawy rekurencji (364)
    • Rekurencja końcowa (365)
    • Rekurencja i odwracanie kolejności działań (367)
    • Za i przeciw rekurencji (369)
  • Kompilowanie programów zawierających więcej niż jedną funkcję (371)
    • UNIX (371)
    • Linux (371)
    • DOS (kompilatory wiersza poleceń) (372)
    • Kompilatory Windows i Macintosh (372)
    • Korzystanie z plików nagłówkowych (372)
  • Uzyskiwanie adresów: operator & (376)
  • Modyfikacja zmiennych w funkcji wywołującej (377)
  • Wskaźniki: pierwsze spojrzenie (379)
    • Operator dereferencji: * (380)
    • Deklarowanie wskaźników (381)
    • Wykorzystanie wskaźników do komunikacji pomiędzy funkcjami (382)
  • Kluczowe zagadnienia (386)
  • Podsumowanie rozdziału (387)
  • Pytania sprawdzające (387)
  • Ćwiczenia (388)

 

Rozdział 10. Tablice i wskaźniki (391)

  • Tablice (391)
  • Inicjalizacja (392)
    • Użycie const z tablicami (393)
    • Uwaga o klasach zmiennych (394)
    • Oznaczona inicjalizacja (C99) (397)
    • Przypisywanie wartości do tablic (398)
    • Zakres tablic (398)
    • Określanie rozmiaru tablicy (400)
  • Tablice wielowymiarowe (401)
  • Inicjalizacja tablicy dwuwymiarowej (404)
    • Więcej wymiarów (405)
  • Wskaźniki do tablic (405)
  • Funkcje, tablice i wskaźniki (408)
    • Korzystanie z argumentów wskaźnikowych (411)
    • Komentarz: wskaźniki i tablice (414)
  • Działania na wskaźnikach (414)
  • Ochrona zawartości tablicy (419)
    • Zastosowanie słowa kluczowego const w parametrach formalnych (420)
    • Więcej o const (421)
  • Wskaźniki a tablice wielowymiarowe (423)
    • Wskaźniki do tablic wielowymiarowych (426)
    • Zgodność wskaźników (428)
    • Funkcje a tablice wielowymiarowe (429)
    • Tablice o zmiennym rozmiarze (VLA, ang. variable - length array) (433)
    • Złożone literały (437)
  • Zagadnienia kluczowe (439)
  • Podsumowanie rozdziału (440)
  • Pytania sprawdzające (441)
  • Ćwiczenia (443)

 

Rozdział 11. Łańcuchy znakowe i funkcje łańcuchowe (447)

    • Reprezentacja łańcuchów i łańcuchowe wejście/wyjście (447)
  • Definiowanie łańcuchów (449)
    • Stałe łańcuchowe (449)
    • Tablice łańcuchów i inicjalizacja (450)
    • Tablica a wskaźnik (452)
    • Tablice łańcuchów znakowych (455)
    • Wskaźniki a łańcuchy (456)
  • Wczytywanie łańcuchów (458)
    • Tworzenie miejsca (458)
    • Funkcja gets() (459)
    • Funkcja fgets() (461)
    • Funkcja scanf() (462)
  • Wyświetlanie łańcuchów (464)
    • Funkcja puts() (464)
    • Funkcja fputs() (465)
    • Funkcja printf() (466)
  • Zrób to sam (466)
  • Funkcje łańcuchowe (469)
    • Funkcja strlen() (469)
    • Funkcja strcat() (471)
    • Funkcja strncat() (472)
    • Funkcja strcmp() (473)
    • Funkcje strcpy() i strncpy() (478)
    • Funkcja sprintf() (483)
    • Inne funkcje łańcuchowe (484)
  • Przykład użycia: sortowanie łańcuchów (486)
    • Sortowanie wskaźników zamiast łańcuchów (487)
    • Algorytm sortowania przez selekcję (488)
  • Łańcuchy a funkcje znakowe z rodziny ctype.h (489)
  • Argumenty wiersza poleceń (491)
    • Argumenty wiersza poleceń w środowiskach zintegrowanych (493)
    • Argumenty linii poleceń w systemie Macintosh (493)
  • Konwersja łańcuchów do liczb (494)
  • Zagadnienia kluczowe (497)
  • Podsumowanie rozdziału (497)
  • Pytania sprawdzające (498)
  • Ćwiczenia (501)

 

Rozdział 12. Klasy zmiennej, łączność i zarządzanie pamięcią (503)

  • Klasy zmiennych (503)
    • Zasięg zmiennej (504)
    • Łączność zmiennej (506)
    • Czas trwania zmiennej (507)
    • Zmienne automatyczne (507)
    • Zmienne rejestrowe (512)
    • Zmienne statyczne o zasięgu blokowym (513)
    • Zmienne statyczne o łączności zewnętrznej (514)
    • Zmienne statyczne o łączności wewnętrznej (519)
    • Programy wieloplikowe (520)
    • Specyfikatory klasy zmiennych (521)
  • Klasy zmiennych a funkcje (524)
    • Którą klasę wybrać? (524)
  • Funkcje pseudolosowe i zmienne statyczne (525)
  • Rzut kostką (528)
  • Przydział pamięci: funkcje malloc() i free() (532)
    • Znaczenie funkcji free() (536)
    • Funkcja calloc() (537)
    • Dynamiczny przydział pamięci a tablice o zmiennym rozmiarze (538)
    • Klasy zmiennych a dynamiczny przydział pamięci (539)
  • Kwalifikatory typu ANSI C (540)
    • Kwalifikator typu const (540)
    • Kwalifikator typu volatile (543)
    • Kwalifikator typu restrict (544)
    • Stare słowa kluczowe w nowych miejscach (545)
    • Kluczowe zagadnienia (546)
  • Podsumowanie rozdziału (547)
  • Pytania sprawdzające (548)
  • Ćwiczenia (550)

 

Rozdział 13. Obsługa plików (553)

  • Wymiana informacji z plikami (553)
    • Czym jest plik? (554)
    • Poziomy wejścia/wyjścia (555)
    • Pliki standardowe (556)
  • Standardowe wejście/wyjście (556)
    • Sprawdzanie argumentów wiersza poleceń (557)
    • Funkcja fopen() (558)
    • Funkcje getc() i putc() (559)
    • Znak końca pliku EOF (ang. end of file) (560)
    • Funkcja fclose() (561)
    • Wskaźniki do plików standardowych (562)
  • Niewyszukany program kompresujący pliki (562)
  • Plikowe wejście/wyjście: fprintf(), fscanf(), fgets() i fputs() (564)
    • Funkcje fprintf() i fscanf() (564)
    • Funkcje fgets()i fputs() (565)
  • Przygody z dostępem swobodnym: fseek() i ftell() (568)
    • Jak działają funkcje fseek() i ftell()? (569)
    • Tryb binarny a tryb tekstowy (571)
    • Przenośność (571)
    • Funkcje fgetpos() i fsetpos() (572)
  • Za kulisami standardowego wejścia/wyjścia (573)
  • Inne standardowe funkcje wejścia/wyjścia (574)
    • Funkcja int ungetc(int c, FILE *fp) (574)
    • Funkcja int fflush() (574)
    • Funkcja int setvbuf() (575)
    • Binarne wejście/wyjście: fread() i fwrite() (575)
    • Funkcja size_t fwrite (577)
    • Funkcja size_t fread(void *ptr, size_t size, size_t nmemb, FILE *fp) (578)
    • Funkcje int feof(FILE *fp) oraz int ferror(FILE *fp) (578)
    • Przykład (578)
    • Dostęp swobodny w binarnym wejściu/wyjściu (581)
  • Zagadnienia kluczowe (583)
  • Podsumowanie rozdziału (583)
  • Pytania sprawdzające (584)
  • Ćwiczenia (586)

 

Rozdział 14. Struktury i inne formy danych (589)

  • Przykładowy problem: tworzenie spisu książek (590)
  • Deklaracja struktury (591)
  • Definiowanie zmiennej strukturalnej (592)
    • Inicjalizacja struktury (593)
  • Uzyskiwanie dostępu do składników struktury (594)
    • Inicjalizatory oznaczone struktur (595)
  • Tablice struktur (596)
    • Deklarowanie tablicy struktur (598)
    • Wskazywanie składników tablicy struktur (599)
    • Szczegóły programu (599)
  • Struktury zagnieżdżone (600)
  • Wskaźniki do struktur (602)
    • Deklaracja i inicjalizacja wskaźnika do struktury (603)
    • Dostęp do składników za pomocą wskaźnika (604)
  • Struktury a funkcje (604)
    • Przekazywanie składników struktur (605)
    • Korzystanie z adresu struktury (606)
    • Przekazywanie struktury jako argumentu (607)
    • Więcej o nowym, ulepszonym statusie struktury (607)
    • Struktury czy wskaźniki do struktur? (611)
    • Tablice znakowe lub wskaźniki do znaków w strukturze (612)
    • Struktury, wskaźniki i funkcja malloc() (613)
    • Literały złożone i struktury (C99) (615)
    • Elastyczne składniki tablicowe (C99) (617)
    • Funkcje korzystające z tablic struktur (619)
  • Zapisywanie zawartości struktury w pliku (620)
    • Omówienie programu (624)
  • Struktury: co dalej? (625)
  • Unie: szybkie spojrzenie (625)
  • Typy wyliczeniowe (628)
    • Stałe enum (629)
    • Wartości domyślne (630)
    • Przypisywane wartości (630)
    • Użycie enum (630)
    • Współdzielona przestrzeń nazw (632)
  • typedef: szybkie spojrzenie (632)
  • Udziwnione deklaracje (635)
  • Funkcje a wskaźniki (637)
  • Kluczowe zagadnienia (644)
  • Podsumowanie rozdziału (644)
  • Pytania sprawdzające (645)
  • Ćwiczenia (648)

 

Rozdział 15. Manipulowanie bitami (653)

  • Liczby binarne, bity i bajty (654)
    • Binarne liczby całkowite (654)
    • Liczby całkowite ze znakiem (655)
    • Binarne liczby zmiennoprzecinkowe (656)
  • Inne systemy liczbowe (657)
    • System ósemkowy (657)
    • System szesnastkowy (657)
  • Operatory bitowe (659)
    • Bitowe operatory logiczne (659)
    • Zastosowanie: maski (660)
    • Zastosowanie: włączanie bitów (661)
    • Zastosowanie: wyłączanie bitów (662)
    • Zastosowanie: odwracanie bitów (662)
    • Zastosowanie: sprawdzenie wartości bitu (663)
    • Bitowe operatory przesunięcia (663)
    • Przykład (665)
    • Kolejny przykład (666)
  • Pola bitowe (668)
    • Przykład (670)
    • Pola bitowe a operatory bitowe (673)
  • Kluczowe zagadnienia (680)
  • Podsumowanie rozdziału (680)
  • Pytania sprawdzające (681)
  • Ćwiczenia (683)

 

Rozdział 16. Preprocesor i biblioteka C (685)

    • Pierwsze kroki w translacji programu (686)
  • Stałe symboliczne: #define (687)
    • Żetony (691)
    • Przedefiniowywanie stałych (691)
  • #define i argumenty (692)
    • Argumenty makr w łańcuchach (695)
    • Łącznik preprocesora: operator ## (696)
    • Makra o zmiennej liczbie argumentów: ... i __VA_ARGS__ (697)
  • Makro czy funkcja? (698)
  • Dołączanie plików: #include (699)
    • Pliki nagłówkowe: przykład (700)
    • Zastosowania plików nagłówkowych (702)
  • Inne dyrektywy (704)
    • Dyrektywa #undef (704)
    • Zdefiniowany: z perspektywy preprocesora C (705)
    • Kompilacja warunkowa (705)
    • Makra predefiniowane (710)
    • #line i #error (711)
    • #pragma (712)
    • Funkcje wplatane (inline) (713)
  • Biblioteka języka C (715)
    • Uzyskiwanie dostępu do biblioteki C (716)
    • Korzystanie z opisów funkcji (716)
  • Biblioteka funkcji matematycznych (718)
  • Biblioteka narzędzi ogólnego użytku (720)
    • Funkcje exit() i atexit() (721)
    • Funkcja qsort() (723)
    • Korzystanie z funkcji qsort() (725)
    • Definicja funkcji porownaj() (726)
  • Biblioteka assert.h (728)
    • Funkcje memcpy() i memmove() z biblioteki string.h (729)
  • Zmienna liczba argumentów: stdarg.h (731)
    • Zagadnienie kluczowe (734)
  • Podsumowanie rozdziału (734)
  • Pytania sprawdzające (735)
  • Ćwiczenia (736)

 

Rozdział 17. Zaawansowana reprezentacja danych (739)

  • Poznajemy reprezentację danych (740)
    • Listy łączone (743)
    • Abstrakcyjne typy danych (ATD) (751)
  • Kolejki (767)
    • Definicja kolejki jako abstrakcyjnego typu danych (767)
    • Symulowanie za pomocą kolejki (778)
    • Lista łączona czy tablica? (784)
    • Drzewa binarne (788)
    • Co dalej? (812)
    • Zagadnienia kluczowe (813)
  • Podsumowanie rozdziału (813)
  • Pytania sprawdzające (814)
    • Ćwiczenia (815)

 

Dodatek A Odpowiedzi na pytania sprawdzające (817)

 

Dodatek B Podsumowanie (855)

  • I. Lektura uzupełniająca (855)
  • II. Operatory w języku C (859)
  • III. Podstawowe typy i klasy zmiennych (865)
  • IV. Wyrażenia, instrukcje i przepływ sterowania w programie (870)
  • V. Standardowa biblioteka ANSI C oraz rozszerzenia standardu C99 (876)
  • VI. Rozszerzone typy całkowite (922)
  • VII. Obsługa rozszerzonych zbiorów znaków (926)
  • VIII. Efektywniejsze obliczenia numeryczne w standardzie C99 (932)
  • IX. Różnice między C a C++ (936)

 

Skorowidz (943)
Książka - Autor Stephen Prata
Książka - ISBN 83-246-0291-7
Książka - Oprawa twarda
Książka - Wydawnictwo Helion
Szerokość opakowania 0.001 cm
Wysokość opakowania 0.001 cm
Głębokość opakowania 0.001 cm
Masa opakowania 0.001 kg

Jako pierwszy zadaj pytanie dotyczące tego produktu!

Klienci którzy zakupili ten produkt kupili również:

Produkty z tej samej kategorii: