
Brian Curtis
0
4367
114
Nauka programowania to kumulatywne doświadczenie. Oprócz nauki składni wybranego języka musisz także poznać ogólne zasady, których używają wszystkie języki programowania.
Zrozumienie i nauka programowania w C może być zniechęcające, ale istnieje kilka podstawowych pomysłów, z którymi warto się zapoznać na początku. Prosty projekt to świetny sposób na poznanie podstaw języka C..
Więc od czego zacząć? Witam!
1. Witaj świecie!
Pierwszą częścią prawie każdego kursu kodowania jest Witaj świecie program. Omówienie tego szczegółowo ukazuje niektóre sposoby, w jakie C różni się od innych języków. Na początek otwórz edytor tekstu lub edytory tekstu IDE kontra IDE: Który z nich jest lepszy dla programistów? Edytory tekstu a IDE: Który z nich jest lepszy dla programistów? Wybór pomiędzy zaawansowanym IDE a prostszym edytorem tekstu może być trudny. Oferujemy wgląd, który pomoże Ci podjąć tę decyzję. do wyboru i wprowadź ten kod:
#include / * to jest skrypt Hello World w C * / int main (void) printf („Hello, World! \ n”); zwraca 0;
Ten krótki fragment kodu drukuje się na konsoli przed zakończeniem programu. Zapisz go w miejscu łatwym do zapamiętania jako cześć, c. Teraz musisz skompilować i skompilować plik.
Sprawia, że działa
Zwykle nie trzeba instalować żadnego dodatkowego oprogramowania na komputerze, aby uruchamiać skrypty C. Otwórz okno terminala (lub wiersz polecenia, jeśli używasz systemu Windows) i przejdź do katalogu, w którym zapisałeś skrypt.
Sposób kompilowania i uruchamiania pliku różni się w zależności od systemu:
- Użytkownicy systemu Windows: Udostępnij plik, pisząc cl hello.c i naciskając enter. Spowoduje to utworzenie pliku hello.exe w tym samym folderze, który można uruchomić, wpisując cześć.
- Użytkownicy systemów Linux i macOS: Rodzaj gcc -o hello hello.c i naciśnij klawisz Enter, aby uczynić go wykonywalnym, i uruchom go, wpisując ./cześć.
Niezależnie od wybranej metody uruchomienie skryptu powinno pokazać następujące informacje:
Jeśli to nie zadziałało w systemie Windows, upewnij się, że uruchomiłeś wiersz polecenia w trybie administratora. W przypadku systemu macOS może być konieczne zainstalowanie Xcode ze sklepu App Store i wykonanie tych kroków z StackOverflow.
Teraz spójrzmy na program wiersz po wierszu, aby zobaczyć, jak to działa, i popraw go!
Under the Hood: Understanding the C Language
Preprocesory
Właśnie utworzony skrypt zaczyna się od włączenia biblioteki.
#zawierać
Pierwszy wiersz w skrypcie nazywa się a preprocesor. Odbywa się to przed skompilowaniem reszty skryptu. W takim przypadku nakazuje skryptowi użycie stdio.h biblioteka. Istnieje ogromna liczba preprocesorów dostępnych dla różnych zadań.
Stdio.h zajmuje się uzyskiwaniem danych wejściowych od użytkownika programu i przesyłaniem mu informacji z powrotem.
/ * to jest skrypt Hello World w C * /
Ten następny wiersz to komentarz. Ukośnik i gwiazda każą kompilatorowi zignorować wszystko między nim a gwiazdą zamykającą i ukośnikiem. Chociaż może się to wydawać bezcelowe, możliwość pozostawienia sobie i innym jasnych notatek na temat tego, co robi Twój kod, jest niezbędnym nawykiem, do którego należy się przyzwyczaić.
Główna funkcja
int main (void)
Każdy program C musi mieć Główny funkcjonować. Main to funkcja zwracająca liczbę całkowitą oznaczoną przez int. Nawiasy po main są dla jego argumentów, chociaż w tym przypadku nie przyjmuje żadnego, dlatego używasz unieważnić słowo kluczowe.
Piszesz kod, który ma być przeprowadzony między dwoma nawiasami klamrowymi.
printf („Witaj, świecie! \ n”); zwraca 0;
Wewnątrz funkcji wywołujesz printf () funkcjonować. Tak jak Główny(), printf jest funkcją. Różnica polega na tym, że printf jest funkcją w stdio biblioteka dołączona na początku.
Printf drukuje wszystko w nawiasach, między znakami cudzysłowu, na konsoli. The \ n jest sekwencją specjalną o nazwie newline, informującą kompilator o przejściu do następnej linii w konsoli przed kontynuowaniem.
Zauważ, że te linie kończą się na średniki, których kompilator używa do rozdzielenia jednego zadania od drugiego. Zwróć szczególną uwagę na te średniki - ich brak jest główną przyczyną problemów!
Na koniec funkcja powraca z cyfrą 0, kończąc program. The Główny() funkcja musi zawsze zwracać liczbę całkowitą, oraz return = 0; sygnalizuje komputerowi, że proces się powiódł.
Zrozumienie każdego kroku tego skryptu to świetny początek nauki zarówno składni języka C, jak i działania języka.
2. Tworzenie własnych funkcji C.
Możesz utworzyć własne funkcje niestandardowe w C. Zamiast drukowania Hello World w funkcji głównej, stwórz nową funkcję, która zrobi to za Ciebie.
void print_for_me () printf („Witaj, świecie! \ n”);
Rozwalmy to.
unieważnić jest słowem kluczowym, co oznacza, że następująca funkcja niczego nie zwróci.
print_for_me () jest nazwą funkcji, a puste nawiasy pokazują, że nie wymaga ona żadnych argumentów do działania. Argument to dowolna informacja, którą należy przekazać do funkcji, aby działała - później dodasz własny argument, aby zmienić wynik! Uwaga: Nie jest to to samo co funkcja main (), powyżej której użyto void. Ta funkcja nie może przyjmować argumentów, podczas gdy ta może (ale w tym przypadku nie musi).
Blok kodu powinien być ci znany - to tylko instrukcja print z oryginalnej funkcji głównej.
Teraz możesz wywołać tę funkcję z głównej funkcji.
int main (void) print_for_me (); print_for_me (); zwraca 0;
Tutaj możesz zobaczyć korzyści płynące z używania własnej funkcji. Zamiast pisać printf (“Witaj świecie! \ n”) za każdym razem możesz wywołać tę funkcję dwukrotnie.
W tej chwili może to nie wydawać się tak ważne, ale jeśli twoja funkcja print_for_me zawierała wiele wierszy kodu, tak łatwe wywołanie jej to świetny sposób na oszczędność czasu!
Jest to podstawowa idea programowania, z którą spotkasz się w trakcie edukacji. Napisz swoją własną funkcję raz, zamiast pisać ciągle te same duże fragmenty kodu.
3. Używanie prototypów funkcji w C
Prototypy to jeden z głównych sposobów, w jaki początkujący C różni się od innych języków. Krótko mówiąc, prototyp jest jak podgląd funkcji zdefiniowanej później. Jeśli napiszesz funkcję print_for_me () po funkcji głównej, możesz otrzymać ostrzeżenie podczas kompilacji:
Komunikat ostrzegawczy informuje, że kompilator uruchomił funkcję print_for_me, zanim został zadeklarowany, więc nie można mieć pewności, że będzie działał poprawnie po uruchomieniu programu.
Kod nadal działałby, ale można całkowicie uniknąć ostrzeżenia za pomocą prototypu.
#include void print_for_me (); int main (void) print_for_me (); print_for_me (); zwraca 0; void print_for_me () printf („Witaj, świecie! \ n”);
Patrząc na pełny program, możesz zobaczyć, że prototyp print_for_me () istnieje na początku programu, ale nic nie zawiera. Prototypowa funkcja pokazuje kompilatorowi, jak powinna wyglądać funkcja i czy wymaga argumentów, czy nie.
Oznacza to, że po wywołaniu go w funkcji głównej kompilator wie, czy jest wywoływany poprawnie i może w razie potrzeby wygenerować ostrzeżenie lub błąd. To może teraz wydawać się dziwne, ale wiedza o nich teraz pomoże w przyszłości.
Ten program nadal działa bez prototypu, ale jest to dobra praktyka w użyciu. Wyjście nadal wygląda tak samo, zmieńmy go, aby był bardziej osobisty!
4. Przekazywanie argumentów do funkcji C.
Zmiana skryptu
W tym ostatnim kroku poprosisz o nazwę użytkownika i zapiszesz jego dane wejściowe. Następnie użyjesz go w utworzonej wcześniej funkcji. W języku C słowa nie są znane jako ciągi znaków, podobnie jak w innych językach programowania.
Zamiast tego są tablicą pojedynczych znaków. Symbolem tablicy jest [] a słowo kluczowe to zwęglać. Rozpocznij od zaktualizowania funkcji prototypu na początku skryptu:
#include void print_for_me (char name []);
Teraz kompilator będzie wiedział, że funkcja w dalszej części skryptu przyjmuje tablicę wywoływanych znaków Nazwa. Jak dotąd ta postać nie istnieje. Zaktualizuj swoją główną funkcję, aby ją utworzyć i użyj jej do przechowywania danych wejściowych użytkownika:
int main (void) char name [20]; printf („Wpisz nazwę:”); scanf („% s”, nazwa); print_for_me (nazwa); print_for_me („Wszyscy!”); zwraca 0;
Pierwszy wiersz w main tworzy tablicę znaków z 20 możliwymi spacjami o nazwie name. Następnie użytkownik jest proszony o wpisanie swojej nazwy za pomocą printf. W następnym wierszu jest używana nowa funkcja o nazwie scanf który bierze następne słowo, które wpisze użytkownik.
The “% s” mówi funkcji, że powinna przechowywać dane jako ciąg znaków i wywołać je Nazwa.
Modyfikacja funkcji
Teraz, gdy wywołasz print_for_me, możesz dołączyć Nazwa w nawiasach. W następnym wierszu zobaczysz, że możesz także przekazywać inne znaki, o ile znajdują się one między znakami cudzysłowu. Za każdym razem to, co jest w nawiasach, jest przekazywane do funkcji print_for_me.
Zmodyfikuj to teraz, aby użyć nowych informacji, które im podajesz:
void print_for_me (char name []) printf („Witaj”); puts (nazwa);
Tutaj możesz zobaczyć, że nawiasy zostały zaktualizowane podobnie jak prototyp na początku skryptu. Wewnątrz nadal drukujesz cześć za pomocą printf. Nowa funkcja tutaj jest stawia. To jest bardziej zaawansowana wersja printf.
Wszystko, co zostanie umieszczone w nawiasach, zostanie wydrukowane na konsoli i nowy wiersz ( \ n użyty wcześniej) zostanie dodany automatycznie.
Zapisz i skompiluj kod w taki sam sposób, jak wcześniej - pamiętaj, że możesz nazwać program czymś innym, jeśli nie chcesz zastępować wcześniejszego programu. Nazwałem mój cześć:
Jak powinieneś zobaczyć, program pobiera dane wejściowe i wykorzystuje je w funkcji przed wysłaniem wstępnie ustawionego powitania “Każdy!” ponownie dając dwa osobne wyjścia dla tej samej funkcji.
ABC programowania C.
Ten program jest prosty, ale niektóre z zawartych w nim pojęć nie są. Bardziej zaawansowany kod C musi być napisany bardzo dobrze, aby zapobiec awariom. Dlatego wielu uważa, że jest to doskonały język do nauki jako pierwszy, ponieważ wpaja dobre nawyki nowym programistom.
Inni uważają, że nauka języka C ++ jest lepszym pomysłem, ponieważ opiera się na języku C, zachowując jednocześnie niższą kontrolę nad systemem. (Do rozważenia jest również Rust - to ekscytujący język programowania, który jest składniowo podobny do C ++.)
Jedno jest pewne: języki takie jak Python są znacznie bardziej przyjazne dla początkujących. W starym języku C nadal jest używane wszędzie, ale Python może być językiem przyszłości. 6 powodów, dla których Python jest językiem programowania przyszłości. 6 powodów, dla których Python jest językiem programowania przyszłości. Chcesz nauczyć się lub poszerzyć swoje umiejętności programistyczne ? Oto dlaczego Python jest najlepszym językiem programowania do nauki w tym roku. !