Witam i zapraszam na zajęcia z programowania w języku C dla początkujących.
Nazywam się Jason Fitton i będę waszym instruktorem.
Chcę Ci podziękować za zapisanie się na ten kurs.
To będzie tona zabawy, a ja zrobię wszystko, aby zmotywować cię i pomóc ci nauczyć się wszystkiego
o języku programowania C.
Zaczynajmy.
Najpierw chcę opowiedzieć trochę o sobie.
Mam magistra informatyki z Binghamton University, a także mam licencjat
i w informatyce z SUNY Oswego.
Magisterkę otrzymałem w 2001 roku.
Od ponad 16 lat zajmuję się tworzeniem oprogramowania.
Jestem instruktorem online od ponad 11 lat.
Prowadziłem ponad 20 różnych zajęć, od wszystkiego, od programowania obiektowego po teorię
kompilatorów.
Mam ogromne doświadczenie w programowaniu w ogólnie pojętej informatyce.
Z językiem programowania C pracuję od ponad 16 lat.
Zasadniczo, gdy tylko dostałem pierwszą pracę, zacząłem pisać kod C.
Stworzyłem również początkujące i zaawansowane klasy C na wielu uniwersytetach, więc mam spore doświadczenie
z programem nauczania i prezentowaniem koncepcji C studentom.
Od około 10 do 12 lat jestem programistą oprogramowania w Xerox Corporation.
Podczas pracy tutaj pisałem głównie kod C, a także trochę kodu C plus.
Całe nasze repozytorium kodu źródłowego uruchamiamy na platformie Linux i piszemy kod w czasie rzeczywistym.
Głównie skupiam się na językach obiektowych i programowaniu mobilnym.
To jest to, co kocham robić.
Więc rzeczy takie jak C plus Plus i Java, ale język C jest naprawdę tym, w czym mam swoją wiedzę.
Skupiam się również na pisaniu wysokiej jakości kodu.
Jest to istotne, ważne pojęcie, które będę podkreślał przez cały kurs.
Chcę, żebyście skupili się na pisaniu dobrego kodu, nie tylko na pisaniu kodu, który działa, ale na pisaniu
dobrego kodu, dzięki któremu utrzymanie programu będzie znacznie łatwiejsze.
Tak więc niektóre z tematów, które będziemy poruszać na zajęciach to m.in.
A przy okazji, gdy będziemy poruszać te tematy, zapewnimy.
Zapewniam materiały do wykładów.
Zapewnię ćwiczenia praktyczne.
Będę dostarczał oceny.
Zamierzam przejść przez kod i koncepcje programowania, ponieważ edytuję go w zintegrowanym środowisku programistycznym.
Więc to będzie bardzo praktyczne.
Najpierw porozmawiamy o C w ogóle, damy ci mały przegląd tego.
Opowiem ci, jak bardzo wydajny jest język programowania C.
Jest również przenośny.
Można go pisać na wielu platformach.
Ma dużą moc i elastyczność, a także jest zorientowany na programistę.
Dostarczam ci również krótką historię C, tylko po to, aby dać trochę kontekstu.
Następnie opiszemy niektóre cechy języka C.
C jest językiem imperatywnym.
Jest to najnowocześniejszy rodzaj języka.
Jest on zorganizowany wokół funkcji.
Ma konstrukcję modułów, jest strukturalnym językiem programowania.
I możesz również mieć planowanie odgórne, gdy piszesz swój kod.
Zalety używania C skupią się na C jest świetny dla małych, szybkich programów.
Jest bardzo niezawodny, bardzo łatwy do nauczenia i bardzo łatwy do zrozumienia.
Jeśli miałeś wziąć program C od kolegi rówieśnika lub kolegi dewelopera, będziesz w stanie śledzić
go dość szybko.
Będziemy korzystać z nowoczesnego, międzyplatformowego zintegrowanego środowiska programistycznego.
Przechodzimy do edycji kodu.
Będziemy również używać IDE do debugowania naszego kodu, co jest bardzo ważne.
I tak zostanie to przedstawione jako jedna z koncepcji.
Przeprowadzę cię przez środowisko i pokażę, jak używać tego narzędzia.
Najpierw zaczniemy od podstawowych pojęć.
Opiszę Ci jak wygląda program w języku C i podam przykład.
Pokażę Ci strukturę podstawowego programu w języku C.
Porozmawiamy o tym, jak można zapewnić komentarze w swoim kodzie, a także podstawowe dane wyjściowe za pomocą funkcji printf.
Przejdziemy przez przykład Hello World, a także zlecimy Ci napisanie Twojego pierwszego programu w C.
Następnie przejdziemy do omówienia plików makefile.
Nie będziemy wchodzić w wiele szczegółów na temat plików makefile, ale chcę dotknąć tego, aby pomóc ci zrozumieć,
jak możesz użyć tego narzędzia do budowania i kompilowania swojego kodu.
Omówimy najbardziej podstawowe pojęcie programistyczne, jakie istnieje, czyli tworzenie i używanie
zmiennych.
Zmienne to idea kojarzenia pamięci, danych i pamięci dla twojego programu z nazwą.
I będziesz tworzyć wiele zmiennych i wiele różnych oświadczeń w swoim kodzie.
Będziemy mówić o typach danych, które obejmują typy danych float double i char.
W dalszej części zajęć porozmawiamy o bardziej zaawansowanych typach danych, takich jak enumy, a także
o dostarczaniu własnych typów danych za pomocą słowa kluczowego typedef.
Podam informacje o podstawowych operatorach.
Są to takie rzeczy jak wykonywanie dodawania czy odejmowania, operatory matematyczne.
Zawiera również operatory logiczne takie jak i lub, lub.
Byłoby to w rodzaju oświadczeń decyzyjnych.
Porozmawiamy o tym, jak można przypisać dane do zmiennej za pomocą operatora przypisania.
Podejmowanie decyzji w swoim kodzie.
Bardzo ważna koncepcja programistyczna.
Poruszymy ten temat.
Są to tak zwane oświadczenia warunkowe.
Są to słowa kluczowe takie jak if i switch.
Przedstawimy przykłady i przejdziemy przez różne konstrukcje tego.
Podążaj za tym, mówiąc o powtarzaniu kodu.
Głównie pętle duże konstrukcje pętli w C to for while i do while.
Wszystkie są takie same.
Po prostu mają trochę inną składnię.
Będziemy rozmawiać o tym, jak można przechowywać dane i kategoryzować dane dwa różne za pomocą tablic.
Omówimy więc, jak można zdefiniować tablice inicjalizacyjne, a następnie tablice wielowymiarowe, które
są czymś w rodzaju koncepcji arkusza kalkulacyjnego macierzy.
Funkcje.
Funkcje to jedno z największych, najważniejszych pojęć związanych z językiem programowania C.
Wszystko nie powinno być powinno być używane i organizowane wokół funkcji.
Jest to określane jako programowanie typu modułowego.
Dowiesz się jak zadeklarować funkcję, jak jej używać, jak przekazywać do niej dane, jak zwracać
z niej dane.
Porozmawiamy również o bardziej zaawansowanych koncepcjach, takich jak call by value i call by reference Debugowanie.
Debugowanie jest istotną koncepcją i niezbędną dla wszystkich programistów.
To ta idea znajdowania i naprawiania swoich błędów.
Omówimy stos wywołań, który może pokazać, czy twój program zawiesza się, gdzie się rozbił.
Bardzo ważna koncepcja.
Zapewnię ci wspólne błędy, które wielu programistów c robi, abyś, jeśli zobaczysz te błędy,
zrozumiał, jak je naprawić.
A potem kompilator, kompilator sprawdzi twój kod, aby upewnić się, że jest poprawny pod względem składniowym.
A jeśli nie jest, to poda komunikaty o błędach lub ostrzeżenia.
Musisz zrozumieć, co mówi ci kompilator.
Więc porozmawiamy o komunikatach kompilatora i jak je zrozumieć.
Będziemy omawiać strukty.
Dowiesz się wszystkiego o structs, co jest podobne w tablicach i że przechowuje dane.
Jest to struktura danych.
Omówimy, jak można zainicjować strukty, jak istnieje ta koncepcja zagnieżdżonych struktur.
Dla tych z was, którzy są zaznajomieni z obiektami, może to być rodzaj relatywny
do tego, ale nie jest tak solidny ciągi znaków, który jest zasadniczo ciągiem w C alfanumerycznych znaków wewnątrz podwójnych cudzysłowów.
Jest to jeden z podstawowych typów danych, ale myśli się o nim jako o tablicy i zobacz, że jest to trochę inna
koncepcja.
Będziemy przez to przechodzić.
Porozmawiamy o niektórych operacjach, które możesz wykonać na ciągach znaków i tak dalej.
Wskazówki.
Wskaźniki będą prawdopodobnie naszą najważniejszą koncepcją w całym tym kursie.
Poświęcimy więc na to sporo czasu.
Pointers to ta koncepcja i zobacz, gdzie musisz zarządzać własną pamięcią.
Może to być dla ciebie nie znana koncepcja, jeśli programujesz ją w innych językach, ponieważ jest to zwykle wykonywane
dla ciebie.
Konkretnie, jeśli programujesz Javę lub C sharp, nie musisz się martwić o wskaźniki.
W C musisz się martwić o zarządzanie własną pamięcią.
Tak więc pointery to duża sprawa.
Powiem ci, jak możesz zdefiniować i używać wskaźników, jak możesz używać ich z funkcjami
i tablicami, jak możesz wywoływać różne wywołania biblioteki standardowej, aby utworzyć pamięć, a także jak możesz dereferencjonować wskaźniki.
Jest to ważna koncepcja, jak powiedziałem, i zamierzamy poświęcić temu dużo czasu.
Zamierzam dostarczyć ci wiele przykładów, wiele scenariuszy typu rzeczywistego świata, aby wskaźniki
były naprawdę napędzane do twojego mózgu, ponieważ nie możesz używać języka programowania C bez pełnego zrozumienia wskaźników.
Poświęcimy na to sporo czasu.
Preprocesor, o którym będziemy się uczyć, to krok, który dzieje się przed kompilatorem.
Konkretnie, Są to dyrektywy, które musisz zrozumieć, jak define i include.
Przejdziemy przez to.
Przejdziemy przez wejście i wyjście, jak można czytać i pisać dane do konsoli.
Rozmawialiśmy już o printf.
Wchodzimy w to trochę bardziej szczegółowo, używając formatu getchar i scanf, specyfikatorów, rzeczy
tego typu.
Porozmawiamy też o tym, jak można odczytywać i zapisywać dane do pliku.
Jest to kolejny rodzaj ważnej koncepcji, gdy piszesz kod, jest to sposób przechowywania danych.
W C istnieje wiele różnych operacji na plikach, a my omówimy niektóre z nich.
C jest językiem bardzo niskiego poziomu i że może zrobić wiele rzeczy skutecznie i szybko, a zapis i odczyt
plików jest na tym niskim poziomie.
Z systemem operacyjnym można współdziałać całkiem, całkiem ładnie.
Istnieje standardowa biblioteka C, która jest dostarczana z językiem programowania C, gdzie istnieje wiele
różnych funkcji, które można wykorzystać.
Są funkcje łańcuchowe, funkcje manipulowania łańcuchami, są funkcje matematyczne, funkcje użytkowe.
Zamierzamy przejść przez wszystkie te podstawowe funkcje, których możesz użyć, które pomagają ci pisać
kod bardziej wydajnie, tak jak różne biblioteki i inne języki.
C zapewni ci niektóre z podstaw ponownie, aby pisać i czytać z plików manipulując ciągami.
Jeśli chcesz uzyskać cosinus i tangens dla funkcji matematycznych, to wszystko jest zapewnione dla ciebie przez język.
Dowiemy się o tym.
I to są główne tematy, które będziemy poruszać, tematy początkowe.
Nie będziemy jeszcze zagłębiać się w żadne zaawansowane tematy, ale omówimy podstawy podstaw.
Więc na koniec tego kursu, powinieneś być w stanie napisać początkujących programów C, zrozumieć podstawowe
aspekty języka C, wiedzieć, jak zapewnić wejście i wyjście.
Czy file i o drill down koncepcja wskaźników, etcetera.
Będziesz również, jak przechodzimy przez ten kurs, skupić się na pisaniu wysokiej jakości wydajny kod.
To jest bardzo, bardzo ważne.
Ponownie wpływa na fazy konserwacji w cyklu życia oprogramowania.
Więc jeśli chcesz znaleźć i naprawić swoje błędy, o wiele łatwiej jest to zrobić, jeśli masz wysokiej jakości kod.
Więc przechodząc przez przykłady, ucząc się tych koncepcji, będziemy uczyć się, jak robić to we właściwy
sposób.
Nauczymy się modularyzacji, aby rzeczy były pogrupowane w funkcje.
Będziemy się upewniać, że w naszych różnych plikach mamy niskie zależności, niskie sprzężenie, aby nie
wpływały na siebie nawzajem.
Kiedy masz wiele zależności w swoim kodzie, możesz.
O wiele łatwiej jest znaleźć i naprawić swoje błędy.
A jeśli kiedykolwiek chcesz dodać nowe funkcje lub dodać nowy kod do programu, znacznie łatwiej jest to zrobić, jeśli jest zmodularyzowany,
jeśli jest zorganizowana funkcja.
Skupimy się więc na tej koncepcji pisania kodu wysokiej jakości.
Nie zamierzamy tylko sprawić, żeby wszystko działało, ale zrobimy to we właściwy sposób.
Pod koniec kursu będziesz w stanie znaleźć i naprawić własne błędy.
Istotną częścią stawania się dobrym programistą jest rozwiązywanie problemów.
Skupimy się na technikach rozwiązywania problemów oraz na tym, jak debugować swój kod i jak dla Ciebie stać się skutecznym
rozwiązywaczem problemów.
Obejmuje to zrozumienie komunikatów kompilatora.
Rozumie, jak uruchomić debugger, jak używać stosu wywołań, wszystkie te miłe rzeczy.
Rozwiązywanie problemów będzie drążone na wszystkich wykładach.
Zrozumiesz podstawowe aspekty tematów języka programowania C, o których wspomniałem
wcześniej.
To będą podstawowe rzeczy w języku C.
Na koniec warto dodać, że będziesz się dobrze bawić.
Zrobię co w mojej mocy, żeby cię zmotywować.
Będę miał zabawne i ekscytujące przykłady.
Nie chcę, żebyś zasypiał podczas wykładów czy ćwiczeń, dlatego będę je ożywiać
i zrobię wszystko, żeby Cię zmotywować i pomóc Ci w całym kursie.
Więc czekam na to z niecierpliwością.
Jestem naprawdę podekscytowany i mam nadzieję, że wszyscy są gotowi nauczyć się wiele o języku programowania C.
Dziękuję.