Katalog książek

Wydawnictwo Helion

Helion SA
ul. Kościuszki 1c
44-100 Gliwice
tel. (32) 230-98-63




© Helion 1991-2016

Lauret zaufanych opinii
C. Rusz głową!

C. Rusz głową!

Autorzy: ,

Ocena:
   5/6  Opinie  (5)
Stron: 578 Stron (w wersji papierowej): 578
Ksiazka drukowana Druk (oprawa: miękka) PdfPDF
Wydawca: Helion
Wydawca: Helion
Cena:
99,00 zł
Cena promocyjna: Oszczędzasz: 19,80 zł
79,20 zł 99,00 zł
Dodaj do koszyka
Kup terazstrzalka

Druk
Książka drukowana
99,00 zł
eBook
Pdf
79,20 zł
99,00 zł

W obecnych czasach triumfy święcą platforma .NET, Java oraz HTML5 i JavaScript. Mogłoby się wydawać, że język C i inne podobne języki odeszły w niepamięć. Nic bardziej mylnego! W dalszym ciągu są one niezastąpione w wielu dziedzinach. Znajdują zastosowanie wszędzie tam, gdzie wymagana jest pełna kontrola nad sprzętem oraz gwarancja czasu wykonania powierzonych zadań. Dlatego specjaliści znający ten język wciąż są poszukiwani na rynku pracy.

Dzięki tej książce możesz dołączyć do ich grona! Kolejne wydanie z serii "Rusz głową" to gwarancja sukcesu. Zastosowanie nowatorskich technik nauki pozwala na błyskawiczne przyswojenie wiedzy. W trakcie lektury poznasz składnię języka C, dostępne typy zmiennych, sposoby zarządzania pamięcią oraz zasady tworzenia przejrzystego kodu. Ponadto nauczysz się biegle obsługiwać kompilator, korzystać z plików nagłówkowych oraz przesyłać komunikaty między procesami. Dzięki licznym ćwiczeniom bez problemu utrwalisz zdobytą wiedzę. Książka ta jest wprost genialną pozycją dla wszystkich osób chcących wkroczyć w świat języka C. Przyda się również studentom na zajęciach z programowania. Warto ją mieć!

Zainwestuj czas w naukę C i poznaj:

  • składnię języka
  • sposoby zarządzania pamięcią
  • metody komunikacji z siecią
  • możliwości kompilatora

Poznaj język C - ta wiedza zaprocentuje!

Wprowadzenie
  • Dla kogo jest przeznaczona ta książka? (xxviii)
  • Wiemy, co sobie myślisz (xxix)
  • Metapoznanie (xxxi)
  • Zmuś swój mózg do posłuszeństwa (xxxiii)
  • Przeczytaj to (xxxiv)
  • Zespół recenzentów technicznych (xxxvi)
  • Podziękowania (xxxvii)
1. Zaczynamy poznawać C
  • C to język do pisania małych, szybkich programów (2)
  • Ale jak wygląda skompilowany program napisany w C? (5)
  • A jak można uruchomić program? (9)
  • Dwa rodzaje poleceń (14)
  • Oto kod, jakim aktualnie dysponujemy (15)
  • Liczenie kart? W języku C? (17)
  • Wartości logiczne to nie tylko sprawdzanie równości (18)
  • Jak aktualnie wygląda nasz kod? (25)
  • Pociąg do Switcherado (26)
  • Czasami jeden raz nie wystarcza... (29)
  • Pętle często mają taką samą strukturę... (30)
  • Instrukcji break używamy, by wydostać się z pętli... (31)
  • Twój niezbędnik C (40)
2. Pamięć i wskaźniki
  • Kod C zawiera wskaźniki (42)
  • Grzebiemy w pamięci (43)
  • Stawiamy żagle ze wskaźnikami (44)
  • Spróbujmy przekazać wskaźnik do zmiennej (47)
  • Stosowanie wskaźników (48)
  • Jak przekazać łańcuch znaków do funkcji? (53)
  • Zmienne tablicowe są jak wskaźniki... (54)
  • Co myśli komputer, wykonując nasz kod? (55)
  • Jednak zmienne tablicowe nie są tak do końca wskaźnikami (59)
  • Dlaczego tablice naprawdę zaczynają się od 0? (61)
  • Dlaczego wskaźniki mają typ? (62)
  • Stosowanie wskaźników do wprowadzania danych (65)
  • Używając funkcji scanf(), uważaj! (66)
  • Alternatywą dla scanf() jest fgets() (67)
  • Literały łańcuchowe nie mogą być nigdy modyfikowane (72)
  • Jeśli chcesz zmienić łańcuch - skopiuj go (74)
  • Ściąga z pamięci (80)
  • Twój niezbędnik C (81)
2,5. Łańcuchy znaków
  • Desperacko poszukuję Franka (84)
  • Utwórz tablicę tablic (85)
  • Odnajdywanie łańcucha zawierającego określony tekst (86)
  • Stosowanie funkcji strstr() (89)
  • Czas na przegląd kodu (94)
  • Tablica tablic czy tablica wskaźników? (98)
  • Twój niezbędnik C (99)
3. Tworzenie małych programów narzędziowych
  • Małe programy narzędziowe mogą rozwiązywać wielkie problemy (102)
  • Oto sposób wykorzystania programu (106)
  • Ale my nie używamy plików... (107)
  • Możesz skorzystać z przekierowania (108)
  • Przedstawiamy standardowy strumień błędów (118)
  • Domyślnie strumień błędów jest wyświetlany na ekranie (119)
  • fprintf() zapisuje dane w strumieniu (120)
  • Zaktualizujmy kod, by korzystał z funkcji fprintf() (121)
  • Niewielkie programy narzędziowe są elastyczne (126)
  • Nie zmieniaj programu geo2json (127)
  • Różne zadania wymagają różnych narzędzi (128)
  • Połącz wejście i wyjście przy użyciu potoku (129)
  • Program narzędziowy bermuda (130)
  • A jeśli chcemy przekazywać wyniki do więcej niż jednego pliku? (135)
  • Stwórz swoje własne strumienie danych (136)
  • Nieco więcej o funkcji main() (139)
  • Niech biblioteka wykona pracę za nas (147)
  • Twój niezbędnik C (154)
4. Stosowanie wielu plików źródłowych
  • Krótki przewodnik po typach danych (160)
  • Nie umieszczaj czegoś dużego w czymś małym (161)
  • Użyj rzutowania, by zapisać wartość zmiennoprzecinkową w zmiennej całkowitej (162)
  • O nie... to bezrobotni aktorzy... (166)
  • Zobaczmy, co się stało z kodem (167)
  • Kompilatory nie lubią niespodzianek (169)
  • Oddziel deklaracje od definicji (171)
  • Tworzenie pierwszego pliku nagłówkowego (172)
  • Jeśli oprogramowałeś często używane operacje... (180)
  • Możesz rozdzielić kod, umieszczając go w osobnych plikach (181)
  • Za kulisami kompilacji (182)
  • Współdzielony kod trzeba umieścić w osobnym pliku źródłowym (184)
  • To nie jest kosmiczna technologia... a może jest? (187)
  • Nie rekompiluj każdego pliku (188)
  • Najpierw skompiluj źródła do plików obiektowych (189)
  • Ciągłe śledzenie zmian w plikach jest trudne (194)
  • Zautomatyzuj kompilacje, używając narzędzia make (196)
  • Jak działa make (197)
  • Przekaż informacje o kodzie, używając pliku makefile (198)
  • Startujemy! (203)
  • Twój niezbędnik C (204)
Laboratorium C. 1. Arduino
5. Struktury, unie i pola bitowe
  • Czasami musisz rozdawać wiele danych (216)
  • Rozmowa trójstronna (217)
  • Twórz swoje własne strukturalne typy danych przy użyciu struct (218)
  • Po prostu daj im rybkę (219)
  • Odczytuj pola struktur, używając operatora "." (220)
  • Czy można umieścić jedną strukturę wewnątrz drugiej? (225)
  • Jak zaktualizować zawartość struktury? (234)
  • Ten kod klonuje żółwie (236)
  • Potrzebny będzie wskaźnik na strukturę (237)
  • (*t).age kontra *t.age (238)
  • Czasami rzeczy podobnego typu wymagają danych różnych typów (244)
  • Unie pozwalają używać bloku pamięci na różne sposoby (245)
  • Jak stosować unie? (246)
  • Zmienna typu enum przechowuje symbol (253)
  • Czasami potrzebujemy kontroli na poziomie bitów (259)
  • Pola bitowe zawierają dowolną liczbę bitów (260)
  • Twój niezbędnik C (264)
6. Struktury danych i pamięć dynamiczna
  • Czy potrzebujesz elastycznego sposobu przechowywania danych? (266)
  • Listy połączone przypominają łańcuchy danych (267)
  • Listy połączone pozwalają na dodawanie elementów (268)
  • Tworzenie struktur rekurencyjnych (269)
  • Tworzenie wysp w języku C... (270)
  • Wstawianie elementów pośrodku listy (271)
  • Pamięć dynamiczną rezerwuj na stercie (276)
  • Zwróć pamięć, kiedy nie będzie już potrzebna (277)
  • Proś o pamięć, wywołując malloc()... (278)
  • Popraw kod, używając funkcji strdup() (284)
  • Zwalniaj pamięć, gdy jej nie potrzebujesz (288)
  • Przegląd systemu SPIES (298)
  • Detektywi oprogramowania: stosowanie valgrind (300)
  • Skorzystaj z programu valgrind kilkakrotnie, by zebrać więcej dowodów (301)
  • Przeanalizuj dowody (302)
  • Sprawdzenie poprawek (305)
  • Twój niezbędnik C (307)
7. Zaawansowane funkcje
  • Szukając Pana Doskonałego... (310)
  • Przekaż kod do funkcji (314)
  • Musisz przekazać funkcji find() nazwę funkcji testującej (315)
  • Każda nazwa funkcji jest wskaźnikiem do tej funkcji... (316)
  • ...ale nie ma żadnego typu danych reprezentującego funkcję (317)
  • Jak utworzyć wskaźnik do funkcji (318)
  • Posortuj to, używając standardowej biblioteki C (323)
  • Użyj wskaźnika do funkcji, by określić porządek sortowania (324)
  • Automatyzacja generowania listów do Jana (332)
  • Stwórz tablicę wskaźników do funkcji (336)
  • Zapewnij swoim funkcjom elastyyyyyczność (341)
  • Twój niezbędnik C (348)
8. Biblioteki statyczne i dynamiczne
  • Kod, który możesz zabrać do banku (350)
  • Nawiasy kątowe dołączają standardowe pliki nagłówkowe (352)
  • A co zrobić, jeśli będziesz chciał współużytkować jakiś kod? (353)
  • Współużytkowanie plików nagłówkowych (354)
  • Współużytkowanie plików .o poprzez określanie pełnej ścieżki dostępu (355)
  • Archiwum zawiera pliki .o (356)
  • Utwórz archiwum, używając polecenia ar... (357)
  • I w końcu kompiluj inne programy (358)
  • Siłownia Rusz Głową wchodzi na scenę globalną (363)
  • Obliczanie spalonych kalorii (364)
  • Ale zagadnienie jest nieco bardziej skomplikowane... (367)
  • Programy składają się z wielu fragmentów... (368)
  • Łączenie dynamiczne następuje podczas działania programu (370)
  • Czy pliki .a można łączyć podczas działania programu? (371)
  • Najpierw utwórz plik obiektowy (372)
  • Nazewnictwo bibliotek dynamicznych zależy od platformy systemowej (373)
  • Twój niezbędnik C (385)
Laboratorium C. 2. OpenCV
9. Procesy i wywołania systemowe
  • Wywołania systemowe są Twoją gorącą linią z systemem operacyjnym (396)
  • Wtem ktoś włamał się do systemu... (400)
  • Bezpieczeństwo nie jest jedynym problemem (401)
  • Funkcja exec() zapewnia większą kontrolę (402)
  • Istnieje wiele funkcji exec() (403)
  • Funkcje z tablicą argumentów: execv(), execvp() oraz execve() (404)
  • Przekazywanie zmiennych środowiskowych (405)
  • Większość wywołań systemowych zawodzi w taki sam sposób (406)
  • Czytaj doniesienia, używając RSS (414)
  • exec() jest końcem rodu naszego programu (418)
  • Uruchamianie procesu potomnego przy użyciu funkcji fork() i exec() (419)
  • Twój niezbędnik C (425)
10. Komunikacja pomiędzy procesami
  • Przekierowania strumieni wejściowych (428)
  • Zajrzyjmy do wnętrza standardowego procesu (429)
  • Przekierowanie zastępuje deskryptor (430)
  • Funkcja fileno() zwraca deskryptor (431)
  • Czasami trzeba poczekać... (436)
  • Bądź w kontakcie ze swymi potomkami (440)
  • Połącz swoje procesy potokami (441)
  • Studium przypadku: otwieranie doniesień w przeglądarce (442)
  • W procesie potomnym (443)
  • W procesie rodzicielskim (443)
  • Otwieranie strony w przeglądarce (444)
  • Śmierć procesu (449)
  • Przechwytywanie sygnałów i wykonywanie własnego kodu (450)
  • Struktury sigaction są rejestrowane przy użyciu funkcji sigaction() (451)
  • Modyfikacja kodu i wykorzystanie procedury obsługi sygnałów (452)
  • Używaj polecenia kill, by wysyłać sygnały (455)
  • Wysyłanie do procesu sygnału pobudki (456)
  • Twój niezbędnik C (464)
11. Gniazda i komunikacja sieciowa
  • Internetowy serwer puk-puk (466)
  • Prezentacja serwera puk-puk (467)
  • PNAR - jak serwery komunikują się z internetem (468)
  • Gniazdo nie jest typowym strumieniem danych (470)
  • Czasami serwer nie uruchamia się prawidłowo (474)
  • Dlaczego mama zawsze powtarzała Ci, byś sprawdzał błędy (475)
  • Odczyt danych przesyłanych przez klienta (476)
  • Serwer może rozmawiać tylko z jednym klientem naraz (483)
  • Możesz użyć fork(), by obsłużyć oba klienty jednocześnie (484)
  • Pisanie klienta WWW (488)
  • To zadanie klienta (489)
  • Utwórz gniazdo dla adresu IP (490)
  • Funkcja getaddrinfo() pobiera adresy domen (491)
  • Twój niezbędnik C (498)
12. Wątki
  • Zadania są sekwencyjne... lub nie... (500)
  • ...a procesy nie zawsze są właściwą odpowiedzią (501)
  • Proste procesy robią po jednej rzeczy naraz (502)
  • Zatrudnij dodatkowych pracowników: skorzystaj z wątków (503)
  • Jak się tworzy wątki? (504)
  • Utwórz wątki, używając funkcji pthread_create() (505)
  • Ten kod nie jest wielobieżny (510)
  • Potrzeba Ci sygnalizacji świetlnej (511)
  • Użyj muteksu jako sygnalizacji świetlnej (512)
  • Twój niezbędnik C (519)
Laboratorium C. 3. Blasteroidy
A Pozostałości
  • 1. Operatory (538)
  • 2. Dyrektywy preprocesora (540)
  • 3. Słowo kluczowe static (541)
  • 4. Jak duże to jest? (542)
  • 5. Automatyczne testowanie (543)
  • 6. Więcej o gcc (544)
  • 7. Więcej o programie make (546)
  • 8. Narzędzia programistyczne (548)
  • 9. Tworzenie graficznego interfejsu użytkownika (549)
  • 10. Materiały (550)
B Zagadnienia programowania w C
Skorowidz (573)
Najczęściej kupowane razem ebooki:
Osoby, które kupowały książkę, często kupowały też:
Cena: 55,20 zł
Cena: 47,20 zł
Cena: 71,20 zł
6
(1)
5
(3)
4
(1)
3
(0)
2
(0)
1
(0)

Liczba ocen: 5

Średnia ocena
czytelników

  


okladka
  Ocena : 6 

  Ocena : 5 

Bardzo przyjemna książka...
  Ocena : 5 

Seria "Rusz Głową!" to książki wyróżniające się luźnym podejściem do tematu, napisane tak, aby czytelnik zdobywał wiedzę w prosty i przyjemny sposób. Autorzy chcą wyjść naprzeciw poradnikom napisanym w dość schematycznym i "nudnym" stylu, stosując techniki dzięki którym czytelnik przyswoi wiedzę szybciej i efektywniej. Angażują czytelnika do wykonywania zadań, wykorzystują rysunki i skupiają się na praktycznych przykładach wykorzystywania kodu, przez co ciężko się oderwać od lektury. Oczywiście opisywane w książce sytuacje w których wykorzystany jest kod źródłowy, to zbiór absurdalnych sytuacji i gagów, charakterystycznych dla tej serii wydawniczej, więc lekturę czyta się bardzo przyjemnie i swobodnie. Opisany w książce język C ma sporo lat, jednak nie traci on na popularności, wręcz przeciwnie, grono programistów z niego korzystających się poszerza, gdy liczy się szybkość działania i dostęp do korzystania z niskopoziomowych operacji. Twórcy "C. Rusz Głową" podczas pisania tej pozycji uwzględnili także rosnącą popularność programów wielo-platformowych, dzięki czemu zamieszczony kod działa na różnych systemach operacyjnych. Rozdziały poruszają takie zagadnienia jak zarządzanie pamięcią czy komunikacja z internetem, a także między innymi porady dotyczące tworzenia programu komunikującego się z kamerką internetową. Jedyną rzeczą jakiej mi brakuje to brak dokładniejszego wyjaśnienia tematów z zastosowaniem poszczególnych bibliotek, ale po zapoznaniu z książką, sądzę, że nie będzie się miało większych problemów by taką aplikację napisać samemu. Podsumowując, książka zawiera wszystko co powinieneś wiedzieć, aby stworzyć swoją wymarzoną aplikację. "C. Rusz Głową!" stanowi świetną alternatywę dla książek napisanych w "poważnym" tonie, jednocześnie wiedza w niej zawarta jest obszerna, i stanowi doskonałą pozycję dla każdego odbiorcy, który pragnie zgłębić tajniki jednego z najważniejszych języków w historii programowania. Polecam! :) [KSIĄŻKA ROKU 2013 - nominacja]
  Ocena : 5 

Mi się podobała, polecam.
  Ocena : 4 

Od lat przymierzałem się do zgłębienia C. Niestety ciężkie podręczniki zacinały mnie, gdy dochodziłem do wskaźników. W końcu w akcie rozpaczy sięgnąłem po tą pozycję. No i udało się. Świetnie, obrazowo przedstawiony temat wskaźników. Obrazki, strzałki i inne bajery pozwalają poznać temat obrazami. Idealne rozwiązanie dla wzrokowców i osób o mniejszych zdolnościach z zakresu wyobraźni abstrakcyjnej. Oczywiście książka nie jest idealna, gdyż niektóre tematy potraktowane są pobieżnie i momentami brakuje bardziej szczegółowych wyjaśnień i opisów. Wtedy trzeba sięgnąć po "cegłę" celem zgłębienia tematu. Reasumując: Nie jest to "cegła" która opisuje wszystkie niuanse i kwestie związane z programowaniem w C. Nie przedstawia też samych podstaw C, gdyż zakłada, iż użytkownik zna już podstawy programowania jak pętle, zmienne, funkcje itp. Książka raczej przedstawia bardziej zaawansowane tematy z C ( takie jak wskaźniki, procesy, alokacje pamięci ) w sposób ogólny i podstawowy. Dlatego, gdy: - jesteś całkowitym nowicjuszem w programowaniu ta książka nie jest dla ciebie, gdyż bardzo zdawkowo opisuje podstawy. W takiej sytuacji powinieneś sięgnąć po inną pozycję. - programowałeś już w innym języku i chcesz poznać bardziej zaawansowane możliwości języka C w sposób szybki i obrazowy, lecz nie dogłębny. Wtedy ta książka jest dla Ciebie. - chcesz dogłębnie i kompleksowo zgłębić cały język i chcesz mieć wszystko w jednej książce. W takiej sytuacji ta pozycja jest nie dla ciebie.