Język C. Poziom ekspert.
4.7 (2 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
20 students enrolled

Język C. Poziom ekspert.

Poznaj najbardziej zaawansowane elementy oraz mechanizmy działania języka C.
Hot & New
4.7 (2 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
20 students enrolled
Last updated 6/2020
Polish
Current price: $44.99 Original price: $64.99 Discount: 31% off
5 hours left at this price!
30-Day Money-Back Guarantee
This course includes
  • 5.5 hours on-demand video
  • 15 articles
  • 38 downloadable resources
  • 9 coding exercises
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Training 5 or more people?

Get your team access to 4,000+ top Udemy courses anytime, anywhere.

Try Udemy for Business
What you'll learn
  • Działanie i wykorzystanie wskaźników do funkcji
  • Tworzenie i korzystanie z dynamicznych struktur danych
  • Podstawy asemblera dla procesorów x86 i łączenie kodu asemblerowego z kodem C
  • Automatyzacja kompilacji złożonych projektów za pomocą programu GNU Make
  • Tworzenie bibliotek statycznych i dynamicznych
  • Korzystanie z API systemów operacyjnych
  • Tworzenie programów wielowątkowych
  • Korzystanie ze zmiennych statycznych i ulotnych
Course content
Expand all 82 lectures 05:50:22
+ Wskaźniki do funkcji
7 lectures 37:40

Zanim ruszymy dalej spróbuj zastanowić się nad wskaźnikami do funkcji przyjmujących i zwracających argumenty.

Wskaźniki do funkcji
3 questions
Sortowanie za pomocą funkcji qsort
06:52
Rozwiązywanie równań nieliniowych metodą Newtona
09:46
Implementacja metody Newtona
12:43
Sortowanie tekstów
1 question
Sortowanie tekstów - przykładowe rozwiązanie
00:13
+ Dynamiczne struktury danych - stos
6 lectures 23:52
Wprowadzenie
01:07
Stos
08:58

We wszystkich pytaniach w tym teście wyobrażamy sobie hipotetyczny stos, którego elementami są liczby całkowite. Na stosie można wykonywać dwie operacje:

- pop(), które zdejmuje element ze stosu

- push(x), która umieszcza na stosie liczbę x.

Stos
3 questions
Implementacja stosu
03:56
Dynamiczne umieszczanie elementów na stosie
04:33
Zdejmowanie elementów ze stosu
04:41
Czyszczenie stosu - obsługa błędów
1 question
Czyszczenie stosu - obsługa błędów - przykładowe rozwiązanie
00:37
Czyszczenie stosu - obsługa błędnych poleceń
1 question
+ Dynamiczne struktury danych - lista
3 lectures 02:57
Lista jednokierunkowa
00:49
Lista jednokierunkowa
1 question
Lista jednokierunkowa - przykładowe rozwiązanie
00:51
Lista dwukierunkowa
1 question
Lista dwukierunkowa - przykładowe rozwiązanie
01:16
+ Dynamiczne struktury danych - drzewo
5 lectures 27:46
Wprowadzenie
00:24
Drzewo
05:02

Istnieje kilka stosowanych sposobów przeglądania drzew. Poniższy test dotyczy kilku z nich. Poszczególne metody są opisane w kolejnych pytaniach. Szczegóły na temat przeglądania drzew możesz znaleźć np. na Wikipedii pod hasłem "Tree traversal": https://en.wikipedia.org/wiki/Tree_traversal.

Przeglądanie drzewa
3 questions
Implementacja drzewa
09:13
Drukowanie drzewa w konsoli
06:30
Obliczanie wartości wyrażeń algebraicznych
06:37
+ Obliczanie wartości wyrażeń algebraicznych
10 lectures 29:28
Wprowadzenie
00:17
Dynamiczne dodawanie elementów do drzewa
05:06
Czyszczenie drzewa
03:11
Notacja prefiksowa
07:59
Konwersja notacji
3 questions
Implementacja parsowania wyrażeń w notacji prefiksowej
10:31
Poprawa błędu
1 question
Poprawa błędu w obliczaniu wyrażeń - rozwiązanie
00:52
Podsumowanie
00:21
Odwrotna notacja polska
1 question
Odwrotna notacja polska - przykładowe rozwiązanie
00:21
Obliczanie wyrażeń zapisanych w ONP
1 question
Obliczanie wyrażeń zapisanych w ONP - przykładowe rozwiązanie
00:14
Obliczanie wyrażeń infiksowych
1 question
Obliczanie wyrażeń infiksowych - przykładowe rozwiązanie
00:34
+ Podstawy asemblera dla procesorów x86
9 lectures 28:55
Wprowadzenie
01:15
Kompilacja kodu C do kodu asemblera
04:18
Wyjaśnienie kodu asemblerowego
12:35
Prosty program w asemblerze
1 question
Przekazywanie więcej niż jednego argumentu do funkcji
02:02
Odczyt argumentów przekazanych do funkcji main
03:04
Tworzymy własną funkcję w asemblerze
04:05
Podsumowanie
00:28
Zadanie programistyczne. Kalkulator
00:16
Zadanie programistyczne. Kalkulator. Przykładowe rozwiązanie
00:52
+ Budowa złożonych projektów
7 lectures 32:53
Wprowadzenie
00:50
Podział kodu źródłowego na wiele plików
06:21
Łączenie kodu C z kodem asemblerowym
02:34
Linkowanie skompilowanych plików
05:52
Tworzenie bibliotek statycznych
03:43
Automatyzacja kompilacji
07:30
Tworzenie bibliotek dynamicznych
06:03
+ Wykorzystanie API systemu operacyjnego
5 lectures 32:44
Wprowadzenie
01:25
Kopiowanie plików przy użyciu biblioteki standardowej
11:13
Kopiowanie plików przy użyciu WinAPI
11:49
Jak uruchomić przykład dla systemu Linux?
00:12
Kopiowanie plików w systemach Linux
08:05
+ Programowanie współbieżne cz. 1
5 lectures 28:05
Wprowadzenie
01:11
Pierwszy program wielowątkowy
10:34
Jak działają wątki?
08:31
Wyścigi
04:02
Wyścigi - analiza
03:47
Requirements
  • Znajomość podstaw składni języka C
  • Korzystanie ze wskaźników
  • Obsługa argumentów podawanych do funkcji main
  • Tworzenie funkcji rekurencyjnych
  • Obsługa plików
  • Kompilacja i debugowanie programów za pomocą narzędzi GCC i GDB
Description

Zamiast uciążliwego wyszukiwania praktycznej wiedzy - skorzystaj z naszego kursu.

Ten kurs zawiera elementy języka C, które zwykle pomija się w książkach czy na zajęciach na uczelniach technicznych.

Oprócz opanowania zaawansowanych elementów języka C poznasz też ogólne zasady dotyczące działania systemów operacyjnych i programów komputerowych przydatne osobom programującym praktycznie w każdym języku.

Who this course is for:
  • Osoby, które umieją programować w języku C i chcą dobrze opanować zaawansowane elementy tego języka.
  • Osoby, które wykorzystują język C w pracy zawodowej i chcą uzupełnić jego znajomość
  • Osoby zainteresowane działaniem komputerów, systemów operacyjnych i programów komputerowych