Cześć i witaj. Rozpoczynamy nową sekcję
i zaczniemy mówić o kontroli. Przepływ sterowania
przepływem zasadniczo zajmuje się instrukcjami warunkowymi,
instrukcjami, instrukcjami if i podejmowaniem decyzji w programie, a
także powtarzaniem kodu, który jest pętlami.
Jest to więc ważna sekcja i są to podstawowe techniki programowania
używane w większości języków. Porozmawiamy o tym, jak są one specyficzne dla c.
Ale żeby dać wam
ogólny zarys, zanim zaczniemy mówić o składni i rozbieżnościach w przykładach.
Chcę wam powiedzieć, co oznacza przepływ sterowania w odniesieniu do programu.
Tak więc instrukcje w plikach źródłowych są generalnie wykonywane od góry do dołu w kolejności, w
jakiej się pojawiają, co nazywa się sekwencyjnymi.
Masz wszystkie te stwierdzenia. Dowiedzieliśmy się o wyrażeniach wewnątrz
instrukcji lub na zewnątrz, ale idziesz od początku do końca.
Tego się do tej pory nauczyliśmy.
Nigdy nie skakaliśmy. Nigdy nie robiliśmy niczego, co by powtarzało się automatycznie,
zaczynając od końca.
Instrukcje przepływu kontrolnego przerywają jednak ten przepływ wykonywania, dodając takie
elementy, jak podejmowanie decyzji, zasadniczo zadawanie pytań,
powtarzanie kodu, zapętlanie i rozgałęzianie.
Umożliwia to programowi warunkowe wykonywanie
określonych bloków kodu.
Więc to nie będzie tylko początek na górze głównej funkcji, idź na dół.
Możesz teraz chodzić tam iz powrotem.
Możesz rozgałęziać się lub możesz wskakiwać i wyskakiwać
z bloków kodu. Więc kod w
programie stanie się trochę bardziej skomplikowany.
Czyli rzeczy, o których mówimy w kontekście oświadczeń decyzyjnych
dotyczących przepływu kontroli. W tym miejscu
zasadniczo zadajesz pytanie, a następnie otrzymujesz odpowiedź, prawdziwą lub fałszywą.
Rzeczy, które są obsługiwane w c, to instrukcja decyzji if,
a następnie masz if else,
a także instrukcję switch i instrukcję go to.
To wszystko są oświadczenia decyzyjne. Idź do, wstawiłem tutaj, ponieważ
istnieje w c.
Prawdopodobnie nie będziesz chciał go używać. Krótko o tym porozmawiam.
To po prostu coś, co programista na stałe zakoduje na etykiecie.
Mamy również instrukcje pętli, które są obsługiwane w języku c.
Słowo kluczowe 4, słowo kluczowe while i słowo kluczowe do while.
To są trzy rodzaje pętli. Pętle będą powtarzać kod.
A następnie instrukcje rozgałęziające są podobne. Zwykle są
używane w pętli lub w decyzji.
Są to rzeczy, takie jak przerwa ciągłego powrotu.
Postaramy się więc skupić w tej sekcji na konkretnych wykładach na temat podejmowania decyzji
w porównaniu z zapętleniem, a następnie porozmawiamy trochę o przerywaniu.
Znowu bardzo ważny wykład.
Więc podejmowanie decyzji. Co to naprawdę oznacza w programie?
Do tej pory w zasadzie tworzyliśmy zmienne, deklarowaliśmy
je, przeprowadzaliśmy obliczenia.
Ale tak naprawdę nigdy nie podjęliśmy żadnych konkretnych decyzji logicznych.
Tak więc koncepcja podejmowania decyzji wymaga, aby programista określił
jeden lub więcej warunków do oceny lub przetestowania
przez program.
Zasadniczo dzieje się to, że zadajesz pytanie w programie, taka jest logika.
A jeśli warunek lub odpowiedź na to pytanie
jest prawdziwa, to wykonasz jakiś
kod, jakieś instrukcje. Jeśli odpowiedź na to pytanie
jest fałszywa, możesz wykonać inne polecenia lub nie możesz nic robić.
Oto nasz mały diagram przepływu danych, który pokazuje koncepcję
podejmowania decyzji w programie. Masz ten stan.
W zależności od odpowiedzi na ten warunek, niezależnie od tego, czy jest to
prawda, czy fałsz, wykonasz kod lub nie wykonasz kodu.
To zależy. Robi się to trochę bardziej skomplikowane,
ale jest to podstawowa struktura podejmowania decyzji w programie.
A więc to, co to oznacza, znajduje się w kodzie źródłowym, możesz pomijać część kodu w zależności od
odpowiedzi na pytanie, w zależności od tego,
czy jest to prawda, czy fałsz.
Zatem instrukcje obsługiwane przez c to instrukcja if.
Instrukcja if zawiera specjalne słowo kluczowe o nazwie.
Jeśli zamierzamy porozmawiać o tym szczegółowo i
podać przykłady, ale to stwierdzenie zasadniczo zadaje pytanie.
Wewnątrz nawiasów będzie wyrażenie logiczne.
Wiemy, czym są wyrażenia boolowskie.
Zasadniczo mogą zwracać wartość true
lub false, instrukcję, która
zwraca wartość true lub false, z wyjątkiem wyrażenia,
i może zawierać jedną lub więcej instrukcji w treści instrukcji if.
Masz też jeśli jeszcze.
Jest to więc instrukcja if, po której może nastąpić opcjonalne else.
Jeśli to prawda, zrób to. Jeśli to fałsz, zrób coś innego.
Następnie zagnieździliśmy instrukcje if.
Dzieje się tak, gdy masz instrukcję if w innej instrukcji if.
Więc możesz zadawać wiele pytań.
I znowu, będzie to szczegółowe z
konkretnymi przykładami i składnią. W tym miejscu staram się tylko dać ogólny zarys.
Jeśli chodzi o powtarzanie kodu, który jest kolejnym mechanizmem przepływu sterowania,
ponieważ nie jesteś już sekwencyjny.
Powtarzając kod, będziesz wykonywał ten sam kod kilka razy.
Może więc zaistnieć sytuacja, w której trzeba wykonać blok kodu kilka razy, instrukcje są
wykonywane sekwencyjnie, pierwsza instrukcja w
funkcji jest wykonywana jako pierwsza, po której następuje druga i tak dalej.
To wszystko zależy. To jest rodzaj bloku kodu ciała pętli.
Tak więc instrukcja pętli pozwala nam wykonać instrukcję lub
grupę instrukcji wiele razy bez konieczności wielokrotnego
powtarzania każdej instrukcji.
Instrukcje sterujące pętlą zmieniają wykonanie z jego normalnej sekwencji.
Gdy wykonanie opuszcza zakres,
wszystkie automatyczne obiekty, które zostały utworzone w tym zakresie, są niszczone.
Mówimy więc o zasięgu w odniesieniu do
zmiennych i mówiąc po prostu, że kiedy jesteś w ciele
pętli i masz zmienne lokalne,
nie będziesz mieć do nich dostępu poza pętlą.
Pętla staje się nieskończoną pętlą, jeśli warunek nigdy nie jest fałszywy.
A to oznacza, że twój program się zawiesi, ponieważ będziesz wykonywać
kod w kółko i nigdy nie wyjdziesz.
Czasami będziesz musiał to zrobić.
Kiedy coś monitorujesz lub czegoś słuchasz.
Aby to zaimplementować i zobaczyć, najprawdopodobniej użyłbyś pętli for, ale możesz
też użyć pętli while.
Porozmawiamy o nieskończonych pętlach i dlaczego możesz ich potrzebować i co to oznacza
w późniejszym wykładzie.
Tak więc rzeczywisty przepływ danych w pętli wygląda mniej więcej tak.
Sprawdzasz stan. A jeśli warunek
jest prawdziwy, wykonujesz jakiś kod, a następnie robisz to w kółko,
aż warunek zostanie uznany za fałszywy.
Gdy warunek zostanie uznany za fałszywy, kończysz pętlę.
Pętle obsługiwane w c to pętla while, pętla for i pętla do while.
Specjalne słowa kluczowe.
Pętla while powtarza instrukcję lub grupę instrukcji, gdy
dany warunek jest prawdziwy. Tak więc stan jest na górze w dzikich nawiasach.
Warunkiem jest test na górze przed wykonaniem treści pętli.
Mimo że obsługiwane są trzy różne typy pętli, możesz użyć
jednej więcej niż drugiej. Chociaż pętle for są prawie takie same,
mają po prostu inną składnię. I możesz zrobić więcej rzeczy inaczej.
Pętla do while jest inna, ponieważ test
znajduje się na dole. Więc zawsze masz gwarancję, że wykonasz pętlę co
najmniej raz, główną część pętli.
Ale znowu porozmawiamy o tym. Dla pętli, specjalne słowo kluczowe, wykonuje
wielokrotnie instrukcje sekwencji. Ma
po prostu prostszą składnię. Możesz zainicjować zmienną sterującą pętli i
warunki w jednej instrukcji.
A potem pętla do while, jak powiedziałem, jest
trochę inna, ponieważ jest to pętla po teście, pętla kontroli wyjścia, co
oznacza, że zawsze masz gwarancję, że wejdziesz do treści pętli przynajmniej raz.
Porozmawiamy również o zagnieżdżonych pętlach. To znowu jest po prostu
pętla wewnątrz pętli, tak jak zagnieżdżona instrukcja for if jest instrukcją if
wewnątrz instrukcji if, to samo dotyczy pętli i zobaczymy, jak to
czasami jest wymagane i może skomplikować sprawę, ale jest
to niezbędne do programowania.
Ładny, szybki przegląd różnych mechanizmów przepływu sterowania, wysoki
poziom, a następnie niektóre słowa kluczowe, które są obsługiwane przez
c, aby faktycznie to zaimplementować.
A teraz przejdźmy dalej, podajmy kilka przykładów i zacznijmy mówić o podejmowaniu decyzji.
Dziękuję Ci.