ZAJĘCIA 1
- warunki zaliczenia
- komendy Linuxa
- pierwszy program -Witaj świecie
- zabijanie programów Linuxa (jak nasz program się zatnie)
- wyjaśnienie elementów programu -z grubsza
(częściowe materiały do zajęć)
ZAJĘCIA 2
- typy wbudowane i zmienne
- wypisywanie zmiennych
- ładniejsze, sformatowane wypisywanie
- wyskakiwanie z funkcji i elementy za returnem
- zwracanie wartości poza program
- wczytywanie zmiennych z klawiatury
- operacje na zmiennych, operatory arytmetyczne
- zakres życia zmiennej
- komentarze i zagnieżdżanie komentarzy
- korzystanie z dokumentacji i manuala
- * na temat własnego Linuxa, maszyna wirtualna, jak zacząć
(brak materiałów na razie)
ZAJĘCIA 3
- instrukcje warunkowe if, else if, else
- switch
- częste błędy przy okazji ifów
- roznica między nimi (m.in. switch jest szybszy, switch tylko dla typów całkowitych)
- tablice jedno i więcej wymiarowe
(brak materiałów na razie)
ZAJĘCIA 4
- Petle
- for
- while
- do while
- słówka sterujące pętlą: break i continue
- Instrukcja skoku goto
- Pułapka podczas użycia goto
- skoki do innych funkcji
ZAJĘCIA 5
- Funkcje w języku C
- Składnia funkcji
- Zmiana wartości argumentów – przez kopię i przez wskaźnik
- domyślne typy argumentów i typu zwracanego
- deklaracja funkcji i kiedy trzeba
- funkcja nie przyjmująca argumentów vs funkcja o zmiennej liczbie argumentów
- przeciążanie nazw funkcji -brak
- zagnieżdżanie funkcji
- Kolejność wyliczania argumentów funkcji
- Funkcje inline
- Rekurencja
- Sprzątanie po wywołaniu funkcji
- Programy wieloplikowe
- Zwracanie wartości z programu i jej odczytywanie
- * dla dociekliwych -funkcje Noreturn
- * dla dociekliwych -notacja K & R
- Pobranie zmiennych środowiskowych
ZAJĘCIA 6 -preprocesor języka C
- Co tak naprawdę robi preprocesor
- Włączanie plików nagłówkowych
- Strażnicy nagłówków
- Stałe czasu kompilacji
- Sklejanie napisów i zamiana na napis
- *Generyczna selekcja typu
- Instrukcje warunkowe w preprocesorze
- Ciekawe włąsności preprocesora:
- __LINE__
- __FILE__
- __FUNCTION__ (ewentualnie __func__ dla gcc)
- __DATE__
- __TIME__
- Zmienna ilość argumentów
- Sekwencje trój-znakowe
- Generowanie nagłówków
- Dlaczego nie stosować preprocesora jeśli to nie jest naprawdę konieczne?
ZAJĘCIA 7 – wskaźniki część 1
- Co to są wskaźniki?
- Jak ich używać
- Arytmetyka wskaźników
- Długość tablicy znakowej vs rozmiar tablicy.
- Wskaźniki do stałych
- Wskaźnik void*
- Rzutowanie wskaźników
- * wskaźnik restrict
materiały do zajęć -wskaźniki 1
ZAJĘCIA 8
- Alias na typ -typedef
- Typ wyliczeniowy -enum
- wartość całkowita enum
- zakres widoczności
- Struktury
- Rozmiar struktury i jej poszczególnych składowych
- Pola bitowe
- Struktury anonimowe
- Unie
- Rzutowanie typów
- Ustawienie zmiennych const w strukturach
- offsetof
- Przydomki zmiennych
- volatile
- auto
- register
- static
- extern
- Tablice zmiennej długości
- Typ bool
- Typ operacji arytmetycznych między wskaźnikami ptrdiff
- Zmienne zespolone
ZAJĘCIA 9 (przed Świętami Bożego Narodzenia) -przydatne narzędzia programistyczne
- Makefile i jego konkurencja
- Scons
- Ekstra flagi kompilatora
- Debugger
- GDB i jego rozszerzenie CGDB
- Debuggery środowisk graficznych
- Valgring
- Diff
- Kdiff3
- Gnuplot
- Zwiększenie optymalizacji kompilatora
- Czytelność kodu
- DuckDuckGo
materiały do zajęć -przydatne narzędzia programisty
ZAJĘCIA 10 – tricki języka C
- Wywołanie systemowe
- Operowanie na czasie w języku C
- Oczekiwanie przez zadany czas
- Asercje
- Funkcje do pracy z tekstem
- Kopiowanie
- Porównywanie
- Łączenie napisów
- Wyszukiwanie w tekście
- Właściwości tekstu
- Podawanie argumentów do programu i ich parsowanie
- Obsługa błędów
- Lokalki
- Polskie znaki
- Ustawianie akcji przed wyjściem z programu
- Testy jednostkowe programów języka C
- Rozszerzenia języka C
- Kompilator gcc
- UPC
materiały do zajęć – przydatne tricki programistyczne języka C
ZAJĘCIA 11 – zaawansowane wskaźniki
- Tablica wielowymiarowa do wskaźnika
- Tablice zmiennej długości
- Dynamiczna alokacja pamięci
- Inicjowanie wskaźników
- Rozmiar wskaźnika
- Zerowa długość tablicy
- Alokacja tablicy wielowymiarowej
- Przykład przekierowywania do – z naszego programu
- Wskaźniki na funkcje
- Funkcje do sortowania i przeszukiwania binarnego
- Jak czytać sygnaturę funkcji
- *funkcja zwracająca wskaźnik do funkcji
- zwracanie wskaźnika do samej siebie
materiały do zajęć -zaawansowane wskaźniki
ZAJĘCIA 12 – operacje bitowe
- Reprezentacja zmiennych
- Wartości minimalne/maksymalne
- Dostępne operacje na bitach
- kiedy nic nie zmieniają
- Różnica między operacjami bitowymi a logicznymi
- Wyświetlanie zapalonych bitów
- Wyświetlanie liczby w postaci binarnej
- Maskowanie bitów
- Ale po co tak właściwie operujemy na bitach?
materiały do zajęć -operacje bitowe
ZAJĘCIA 13 – operacje wejścia, wyjścia
- operacje na plikach tekstowych
- operacje na plikach binarnych
- czyszczenie bufora
- pozycjonowanie wewnątrz plików
- zmiana nazwy pliku
- usuwanie plików
- przekierowywanie standardowych deskryptorów programu
- pliki tymczasowe
- zapis niebuforowany
- * sposób na pogodzenie przenośności, czytelności dla ludzi i czytelności dla programu
- *XML
- *JSON
- * mapowanie plików
- * niestandardowe funkcje obsługi plików
- daty modyfikacji pliku
- * niestandardowa obsługa katalogów
(brak materiałów na razie)
ZAJĘCIA 14 – kolokwium
Pingback: Zestawienie materiałów na zajęcia organizacyjne | programowaniec