Promocja!

EFEKTYWNY C WPROWADZENIE DO PROFESJONALNEGO PROGRAMOWANIA

Pierwotna cena wynosiła: 69.00zł.Aktualna cena wynosi: 62.09zł.

Na stanie

SPIS TREŚCI

Słowo wstępne Pascala Cuoqa

Słowo wstępne Olliego Whitehouse’a

Podziękowania

Wprowadzenie

  • Krótka historia języka C
  • Standard języka C
  • Standard CERT tworzenia kodu w języku C
  • Dla kogo jest ta książka?
  • Zawartość książki

1. Wprowadzenie do języka C

  • Tworzenie pierwszego programu C
    • Kompilowanie i uruchamianie programu
    • Dyrektywy preprocesora
    • Funkcja main
    • Sprawdzanie wartości zwracanych funkcji
    • Sformatowane dane wyjściowe
  • Edytory i zintegrowane środowiska programistyczne
  • Kompilatory
    • GNU Compiler Collection
    • Clang
    • Microsoft Visual Studio
  • Przenośność
    • Zachowanie zdefiniowane w implementacji
    • Zachowanie, którego nie określono
    • Zachowanie niezdefiniowane
    • Zachowanie powiązane z ustawieniami regionalnymi i wspólne rozszerzenia
  • Podsumowanie

2. Obiekty, funkcje i typy

  • Obiekty, funkcje, typy i wskaźniki
  • Deklarowanie zmiennych
    • Zamiana wartości (pierwsza próba)
    • Zamiana wartości (druga próba)
  • Zasięg
  • Okres przechowywania
  • Wyrównanie
  • Typy obiektów
    • Typy boolowskie
    • Typy znakowe
    • Typy liczbowe
  • Typy funkcyjne
  • Typy pochodne
    • Typy wskaźnikowe
    • Tablice
    • Struktury
    • Unie
  • Znaczniki
  • Kwalifikatory typu
    • const
    • volatile
    • restrict
  • Ćwiczenia
  • Podsumowanie

3. Typy arytmetyczne

  • Liczby całkowite
    • Dopełnienie i dokładność
    • Plik nagłówkowy <limits.h>
    • Deklarowanie typów całkowitoliczbowych
    • Typy całkowitoliczbowe bez znaku
    • Typy całkowitoliczbowe ze znakiem
    • Stałe całkowitoliczbowe
  • Reprezentacja zmiennoprzecinkowa
    • Typy zmiennoprzecinkowe
    • Arytmetyka liczb zmiennoprzecinkowych
    • Wartości zmiennoprzecinkowe
    • Stałe zmiennoprzecinkowe
  • Przekształcanie typów arytmetycznych
    • Ranga przekształcenia typów całkowitoliczbowych
    • Promocje typów całkowitoliczbowych
    • Zwykłe przekształcenia arytmetyczne
    • Przykład przekształcenia niejawnego
    • Bezpieczne przekształcenia
  • Podsumowanie

4. Wyrażenia i operatory

  • Zwykłe przypisanie
  • Wyznaczanie wartości
  • Wywoływanie funkcji
  • Operatory inkrementacji i dekrementacji
  • Pierwszeństwo operatorów i asocjatywność
  • Kolejność wyznaczania wartości
    • Niesekwencyjne i sekwencyjne nieścisłe wyznaczanie wartości
    • Punkty sekwencji
  • Operator sizeof
  • Operatory arytmetyczne
    • Jednoargumentowe operatory + i –
    • Operator logiczny negacji
    • Operatory multiplikatywne
    • Operatory addytywne
  • Operatory bitowe
    • Operator dopełnienia
    • Operatory przesunięcia
    • Operator koniunkcji bitowej AND
    • Operator bitowej alternatywy rozłącznej XOR
    • Operator alternatywy bitowej OR
  • Operatory logiczne
  • Operatory rzutowania
  • Operator warunkowy
  • Operator _Alignof
  • Operatory relacyjne
  • Operatory przypisania złożonego
  • Operator przecinka
  • Arytmetyka wskaźnikowa
  • Podsumowanie

5. Przepływ sterowania

  • Instrukcje wyrażeniowe
  • Instrukcje złożone
  • Instrukcje wyboru
    • Instrukcja if
    • Instrukcja switch
  • Instrukcje iteracji
    • Instrukcja while
    • Instrukcja do…while
    • Instrukcja for
  • Instrukcje skoku
    • Instrukcja goto
    • Instrukcja continue
    • Instrukcja break
    • Instrukcja return
  • Ćwiczenia
  • Podsumowanie

6. Pamięć alokowana dynamicznie

  • Okres przechowywania
    • Menedżery sterty i pamięci
    • Kiedy korzystać z pamięci alokowanej dynamicznie
  • Funkcje zarządzania pamięcią
    • Funkcja malloc
    • Funkcja aligned_alloc
    • Funkcja calloc
    • Funkcja realloc
    • Funkcja reallocarray
    • Funkcja free
  • Stany pamięci
  • Elastyczne elementy składowe tablicy
  • Inne dynamicznie alokowane obszary pamięci
    • Funkcja alloca
    • Tablice o zmiennej długości
  • Debugowanie problemów związanych z alokowanym obszarem pamięci
    • Narzędzie dmalloc
    • Systemy, w których bezpieczeństwo ma krytyczne znaczenie
  • Ćwiczenia
  • Podsumowanie

7. Znaki i łańcuchy

  • Znaki
    • ASCII
    • Unicode
    • Źródłowy i wykonawczy zestaw znaków
    • Typy danych
    • Stałe znakowe
    • Sekwencje wyjścia
    • Linux
    • Windows
    • Konwersja znaków
  • Łańcuchy
    • Literały łańcuchowe
  • Funkcje obsługi łańcuchów
    • Pliki nagłówkowe <string.h> i <wchar.h>
    • Interfejsy sprawdzające ograniczenia dodatku Annex K
    • POSIX
    • Microsoft
  • Podsumowanie

8. Operacje wejścia-wyjścia

  • Standardowe strumienie operacji wejścia-wyjścia
    • Buforowanie strumieni
    • Strumienie predefiniowane
    • Orientacja strumienia
    • Strumienie tekstowe i binarne
  • Otwieranie i tworzenie plików
    • Funkcja fopen
    • Funkcja open standardu POSIX
  • Zamykanie plików
    • Funkcja fclose
    • Funkcja close standardu POSIX
  • Odczytywanie i zapisywanie znaków oraz wierszy
  • Opróżnianie strumieni
  • Ustawianie pozycji w pliku
  • Usuwanie plików i zmienianie ich nazwy
  • Użycie plików tymczasowych
  • Wczytywanie strumieni tekstu sformatowanego
  • Odczytywanie strumieni binarnych i wykonywanie w nich zapisu
  • Podsumowanie

9. Preprocesor

  • Proces kompilacji
  • Dołączanie plików
    • Łańcuchy dołączania z apostrofami i nawiasami kątowymi
  • Dołączanie warunkowe
    • Generowanie błędów
    • Zastosowanie strażników plików nagłówkowych
  • Definicje makr
    • Zastępowanie makr
    • Makra typu ogólnego
    • Makra predefiniowane
  • Podsumowanie

10. Struktura programu

  • Podstawy komponentyzacji
    • Sprzęganie i spójność
    • Wielokrotne użycie kodu
    • Abstrakcje danych
    • Typy nieprzenikalne
  • Pliki wykonywalne
  • Konsolidacja
  • Tworzenie struktury prostego programu
  • Kompilowanie kodu
  • Podsumowanie

11. Debugowanie, testowanie i analizowanie

  • Asercje
    • Asercje statyczne
    • Asercje fazy uruchamiania
  • Ustawienia i flagi kompilatora
    • GCC i Clang
    • Visual C++
  • Debugowanie
  • Testowanie jednostkowe
  • Analiza statyczna
  • Analiza dynamiczna
    • AddressSanitizer
  • Ćwiczenia
  • Podsumowanie

Bibliografia

Autor

ISBN

978-83-283-8343-2

Liczba stron

Rok wydania

Wydawca

Opinie

Na razie nie ma opinii o produkcie.

Napisz pierwszą opinię o „EFEKTYWNY C WPROWADZENIE DO PROFESJONALNEGO PROGRAMOWANIA”

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *