Program zajęć UJ: Język C

ZAJĘCIA 1

  1. warunki zaliczenia
  2. komendy Linuxa
  3. pierwszy program -Witaj świecie
  4. zabijanie programów Linuxa (jak nasz program się zatnie)
  5. wyjaśnienie elementów programu -z grubsza

(częściowe materiały do zajęć)

ZAJĘCIA 2

  1. typy wbudowane i zmienne
  2. wypisywanie zmiennych
  3. ładniejsze, sformatowane wypisywanie
  4. wyskakiwanie z funkcji i elementy za returnem
  5. zwracanie wartości poza program
  6. wczytywanie zmiennych z klawiatury
  7. operacje na zmiennych, operatory arytmetyczne
  8. zakres życia zmiennej
  9. komentarze i zagnieżdżanie komentarzy
  10. korzystanie z dokumentacji i manuala
  11. * na temat własnego Linuxa, maszyna wirtualna, jak zacząć

(brak materiałów na razie)

ZAJĘCIA 3

  1. instrukcje warunkowe if, else if, else
  2. switch
  3. częste błędy przy okazji ifów
  4. roznica między nimi (m.in. switch jest szybszy, switch tylko dla typów całkowitych)
  5. tablice jedno i więcej wymiarowe

(brak materiałów na razie)

ZAJĘCIA 4

  1. Petle
    1. for
    2. while
    3. do while
    4. słówka sterujące pętlą: break i continue
  2. Instrukcja skoku goto
    1. Pułapka podczas użycia goto
    2. skoki do innych funkcji

materiały do zajęć

ZAJĘCIA 5

  1. Funkcje w języku C
    1. Składnia funkcji
    2. Zmiana wartości argumentów – przez kopię i przez wskaźnik
    3. domyślne typy argumentów i typu zwracanego
    4. deklaracja funkcji i kiedy trzeba
    5. funkcja nie przyjmująca argumentów vs funkcja o zmiennej liczbie argumentów
    6. przeciążanie nazw funkcji -brak
    7. zagnieżdżanie funkcji
    8. Kolejność wyliczania argumentów funkcji
    9. Funkcje inline
  2. Rekurencja
  3. Sprzątanie po wywołaniu funkcji
  4. Programy wieloplikowe
  5. Zwracanie wartości z programu i jej odczytywanie
  6. * dla dociekliwych -funkcje Noreturn
  7. * dla dociekliwych -notacja K & R
  8. Pobranie zmiennych środowiskowych

materiały do zajęć

ZAJĘCIA 6 -preprocesor języka C

  1. Co tak naprawdę robi preprocesor
  2. Włączanie plików nagłówkowych
  3. Strażnicy nagłówków
  4. Stałe czasu kompilacji
  5. Sklejanie napisów i zamiana na napis
  6. *Generyczna selekcja typu
  7. Instrukcje warunkowe w preprocesorze
  8. Ciekawe włąsności preprocesora:
    1. __LINE__
    2. __FILE__
    3. __FUNCTION__ (ewentualnie __func__ dla gcc)
    4. __DATE__
    5. __TIME__
  9. Zmienna ilość argumentów
  10. Sekwencje trój-znakowe
  11. Generowanie nagłówków
  12. Dlaczego nie stosować preprocesora jeśli to nie jest naprawdę konieczne?

materiały do zajęć

ZAJĘCIA 7 – wskaźniki część 1

  1. Co to są wskaźniki?
  2. Jak ich używać
  3. Arytmetyka wskaźników
  4. Długość tablicy znakowej vs rozmiar tablicy.
  5. Wskaźniki do stałych
  6. Wskaźnik void*
  7. Rzutowanie wskaźników
  8. * wskaźnik restrict

materiały do zajęć -wskaźniki 1

ZAJĘCIA 8

  1. Alias na typ -typedef
  2. Typ wyliczeniowy -enum
    1. wartość całkowita enum
    2. zakres widoczności
  3. Struktury
  4. Rozmiar struktury i jej poszczególnych składowych
  5. Pola bitowe
  6. Struktury anonimowe
  7. Unie
  8. Rzutowanie typów
  9. Ustawienie zmiennych const w strukturach
  10. offsetof
  11. Przydomki zmiennych
    1. volatile
    2. auto
    3. register
    4. static
    5. extern
  12. Tablice zmiennej długości
  13. Typ bool
  14. Typ operacji arytmetycznych między wskaźnikami ptrdiff
  15. Zmienne zespolone

materiały do zajęć

ZAJĘCIA 9 (przed Świętami Bożego Narodzenia) -przydatne narzędzia programistyczne

  1. Makefile i jego konkurencja
    1. Scons
  2. Ekstra flagi kompilatora
  3. Debugger
    1. GDB i jego rozszerzenie CGDB
    2. Debuggery środowisk graficznych
  4. Valgring
  5. Diff
  6. Kdiff3
  7. Gnuplot
  8. Zwiększenie optymalizacji kompilatora
  9. Czytelność kodu
  10. DuckDuckGo

materiały do zajęć -przydatne narzędzia programisty

ZAJĘCIA 10 – tricki języka C

  1. Wywołanie systemowe
  2. Operowanie na czasie w języku C
    1. Oczekiwanie przez zadany czas
  3. Asercje
  4. Funkcje do pracy z tekstem
    1. Kopiowanie
    2. Porównywanie
    3. Łączenie napisów
    4. Wyszukiwanie w tekście
  5. Właściwości tekstu
  6. Podawanie argumentów do programu i ich parsowanie
  7. Obsługa błędów
  8. Lokalki
  9. Polskie znaki
  10. Ustawianie akcji przed wyjściem z programu
  11. Testy jednostkowe programów języka C
  12. Rozszerzenia języka C
    1. Kompilator gcc
    2. UPC

materiały do zajęć – przydatne tricki programistyczne języka C

ZAJĘCIA 11 – zaawansowane wskaźniki

  1. Tablica wielowymiarowa do wskaźnika
  2. Tablice zmiennej długości
  3. Dynamiczna alokacja pamięci
  4. Inicjowanie wskaźników
  5. Rozmiar wskaźnika
  6. Zerowa długość tablicy
  7. Alokacja tablicy wielowymiarowej
  8. Przykład przekierowywania do – z naszego programu
  9. Wskaźniki na funkcje
  10. Funkcje do sortowania i przeszukiwania binarnego
  11. Jak czytać sygnaturę funkcji
  12. *funkcja zwracająca wskaźnik do funkcji
    1. zwracanie wskaźnika do samej siebie

materiały do zajęć -zaawansowane wskaźniki

ZAJĘCIA 12 – operacje bitowe

  1. Reprezentacja zmiennych
  2. Wartości minimalne/maksymalne
  3. Dostępne operacje na bitach
    1. kiedy nic nie zmieniają
  4. Różnica między operacjami bitowymi a logicznymi
  5. Wyświetlanie zapalonych bitów
  6. Wyświetlanie liczby w postaci binarnej
  7. Maskowanie bitów
  8. Ale po co tak właściwie operujemy na bitach?

materiały do zajęć -operacje bitowe

ZAJĘCIA 13 – operacje wejścia, wyjścia

  1. operacje na plikach tekstowych
  2. operacje na plikach binarnych
  3. czyszczenie bufora
  4. pozycjonowanie wewnątrz plików
  5. zmiana nazwy pliku
  6. usuwanie plików
  7. przekierowywanie standardowych deskryptorów programu
  8. pliki tymczasowe
  9. zapis niebuforowany
  10. * sposób na pogodzenie przenośności, czytelności dla ludzi i czytelności dla programu
    1. *XML
    2. *JSON
  11. * mapowanie plików
  12. * niestandardowe funkcje obsługi plików
    1. daty modyfikacji pliku
  13. * niestandardowa obsługa katalogów

(brak materiałów na razie)

ZAJĘCIA 14 – kolokwium

Kolokwium termin 1 i 2

Jedna uwaga do wpisu “Program zajęć UJ: Język C

  1. Pingback: Zestawienie materiałów na zajęcia organizacyjne | programowaniec

Dodaj komentarz