Cześć. Witamy spowrotem. W
tym wykładzie omówimy niektóre z podstawowych operatorów obsługiwanych
przez język programowania c.
Więc operatory znowu to tylko specjalne symbole dla funkcji, które
wykonujesz w jakiejś operacji.
Więc zamierzamy omówić w zasadzie w tym wykładzie
4 różne typy operatorów.
Operatory arytmetyczne,
logiczne, przypisania i relacyjne.
Następnie omówimy w innym wykładzie operatory bitowe,
a następnie kilka innych operatorów specjalnych, które tak naprawdę nie
wyglądają jak operator, ale są, rozmiar operatora i operator rzutowania.
Tak więc operator arytmetyczny jest prawdopodobnie najbardziej zdrowym
rozsądkiem, tym, który prawdopodobnie najlepiej znasz. Jest to funkcja matematyczna,
pobiera 2 operandy i wykonuje na nich obliczenia.
Jest to wrostek, czyli operatory i między operandami.
Operator logiczny, czasami nazywany operatorem boolowskim, to operator,
który zwraca wynik boolowski. Wartość prawda czy fałsz, tym jest Boolean.
Więc to tak naprawdę jest tylko operatorem warunkowym.
Opiera się na wyniku boolowskim jednego lub więcej 2 innych wyrażeń,
jednego lub dwóch innych wyrażeń.
Operator przypisania po prostu ustawia zmienne na równe wartości.
Przypisuje wartość wyrażenia po jego prawej stronie zmiennej po jego lewej stronie.
Więc jest to prawy operand i lewy operand.
Ponownie, jest to wrostek.
Następnie operator relacyjny porówna ze sobą zmienne.
Jest to więc podobny porządek typów, mniejszy niż i większy niż.
Ale przyjrzyjmy się każdemu z nich, ponieważ jest wielu,
wielu, wielu różnych operatorów. C obsługuje super bogaty zestaw.
Więc pierwsze z nich to operatory arytmetyczne w c.
To są funkcje matematyczne. Jest więc mała
tabelka, którą znalazłem w Internecie na
stronie z punktami samouczków, co jest miłe.
To podsumowuje wszystkie operatory arytmetyczne w c, które są obsługiwane.
Czyli podstawowe, tak jak w matematyce. Nie ma tu nic nowego.
Po lewej stronie tabeli znajduje się operator,
pośrodku znajduje się opis tego, co robi, a po prawej przykład.
A więc symbol plusa, który zostanie dodany
do operandów. To wrostek. Znajduje się pomiędzy dwoma operandami.
Możesz więc dodać zmienne,
kombinację stałych w zmiennej lub tylko stałe.
A ten, o którym mówimy, a plus b równa się 30.
Ale rzeczywisty operator i operandy to tylko plus b.
I to byłby przykład.
Minus odejmuje 2 operandy, a minus b.
Zatem a minus b może być w rzeczywistości równe minus 10, jeśli a
jest równe 20, a b jest równe 10 lub b jest
równe minus 10.
Gwiazdka służy do mnożenia.
Ponownie wrostek pomiędzy
operandami.
Dywizja to ukośnik do przodu.
Procent jest operatorem modułu. To jest operator reszty.
Więc jeśli miałbyś powiedzieć zmienny procent a,
co to będzie równe. Gdyby b było równe 20, a
było równe
12, operator modułu zwróciłby 8, ponieważ jest to reszta z 20 podzielona przez 12.
Plus plus i minus minus, to są specyficzne operatory inkrementacji i dekrementacji.
Nadal są nazywane operatorami arytmetycznymi, ale zazwyczaj widzisz je
głównie w pętlach podczas powtarzania kodu,
ale nie zawsze. Mam na myśli to,
że w tym przykładzie w zasadzie zwiększasz zmienną o
1 lub o określoną wartość, jeśli
robisz coś innego. Ale jeśli zrobisz plus plus,
cokolwiek a było, jeśli było 5, to nie będzie równe 6.
Następnie jest operator zmniejszania wartości, który
zmniejsza liczbę całkowitą o 1, a więc minus minus.
A plus plus i minus minus, które powinieneś zauważyć, znajdują się po zmiennej.
Nazywa się to postfixem.
A to oznacza, że jeśli ta zmienna znajduje się w wyrażeniu,
w rzeczywistości nie zostanie ona przypisana do dodatkowej aż do zakończenia tej instrukcji.
Jeśli jest to
przedrostek, zostanie przypisany wcześniej. Przejdźmy więc przez kilka przykładów
arytmetycznych bloków kodu operacyjnego, aby miały trochę więcej sensu.
Więc tutaj są bloki kodu, oto nasza główna procedura.
Już to znamy. Mam zamiar utworzyć kilka zmiennych
i wykonać na nich kilka operacji, a następnie je wydrukować.
Mam zamiar stworzyć liczby całkowite. I nie ma znaczenia, że możesz tworzyć
zmiennoprzecinkowe do wykonywania obliczeń lub podwojeń, ale zrobimy to prosto.
Powiemy, że a jest równe 33.
Utwórz kolejną zmienną typu integer i przypiszemy ją
do 15. Więc robimy deklarację i przypisanie w jednej instrukcji.
A potem będziemy mieć tylko zmienną wynikową.
I to zostanie zainicjalizowane na 0,
więc tutaj możemy rozpocząć obliczenia. Możemy powiedzieć c
i możemy wykonywać zadania. Nie dowiedzieliśmy się o zadaniach konkretnie formalnie,
ale wiemy, czym one są. Zadania pobierają dane i umieszczają
je w tej zmiennej. Więc c równa się
bierze wszystko, co jest po prawej stronie i wstawia wynik do tej zmiennej.
Więc jeśli powiemy a plus b, znowu
wygląda to jak normalna procedura matematyczna
i tak jest. To byłoby po prostu 33 dodać 15 i
jaka byłaby wartość c, 48. Możesz więc po prostu wydrukować wartości.
Możesz po prostu powiedzieć, że c to procent d, używając naszego specyfikatora
formatu i po prostu wypisując c.
A potem może moglibyśmy zrobić wysuw linii.
A to wystarczyłoby do dodania 2 liczb. To takie podstawowe. To takie proste.
Po prostu to pokazujemy. Więc kiedy uruchomimy ten
program, zobaczymy dodanie 33 plus 15.
Rekompilujemy to, zapisujemy, powiedzmy build, a następnie zapisujemy
run.
Zobaczysz, że kiedy uruchamiam go po moim skanerze antywirusowym, mówi, że c to 48.
Możesz więc się nimi bawić. Mam na myśli to, że to są podstawowe. Więc a
plus b, możesz zrobić minus, możesz zrobić gwiazdkę dla mnożenia, a
następnie możesz zrobić dzielenie dla
ukośnika, a następnie symbol procentu, który jest modułem.
Jest to więc interesujące, ponieważ wiesz, że 33 podzielone przez 15 to 2 z resztą
3, więc w tym przypadku wynik będzie równy 3, ale upewnijmy się, że.
Zapisz to i upewnij się, że zakończymy wykonanie.
A kiedy go uruchomimy, zobaczymy, że mamy
c
równe 3, ponieważ to reszta.
W przeciwnym razie jest to dość proste. Najważniejsze z plusem i
plusem to zrozumienie przedrostka i postfiksu.
Więc gdybym miał powiedzieć, a jest to bardziej istotne, gdy faktycznie robisz to w jednym oświadczeniu, printf.
Więc powiedzmy, że wypisuję plus plus,
co zostanie wydrukowane to 34, ponieważ zamierzasz zwiększyć
a o 1, a
następnie wydrukować. Ale zrobisz to w pojedynczej instrukcji, zrobisz
to w tej samej linii, ponieważ jest później.
Więc właściwie to, co zostanie tutaj
wyświetlone, to tylko wyświetlenie 33.
W rzeczywistości nie zwiększy to aż do następnej linii kodu.
Więc jeśli to uruchomimy,
zobaczysz, że po prostu wypisuje 33.
To jest różnica między robieniem plusa plusa.
Jeśli zrobisz plus plus a, czyli to samo, co zamierzasz
zwiększyć o jeden, różnica polega na tym, że zwiększysz go o 1,
a następnie przed wykonaniem instrukcji. Więc teraz zauważymy,
że
mamy tylko kilka
ostrzeżeń, żadnych błędów. A kiedy go uruchomimy, zobaczysz, że odpowiedź to 34,
ponieważ jest ona faktycznie zwiększana przed wykonaniem instrukcji. Ważne jest, aby wiedzieć
między plusem plus nazwa zmiennej a nazwą zmiennej plus plus.
Nazywa się to po prostu prefiksem i postfiksem.
To samo stanie się z minusem minus.
Więc pamiętaj o tym w swoim
jednoargudzie.
Są to również operatory jednoargumentowe, ponieważ mają tylko jeden operand.
Pozostałe są operatorami binarnymi, ponieważ mają operator
między operandami.
Ale zrozum minus minus kontra plus plus.
A potem zrozum również, czy umieścisz ją przed zmienną po zmiennej,
kiedy faktycznie będzie zwiększać lub zmniejszać.
I znowu, wszystko, co dzieje się
po zmiennej, zwiększa lub zmniejsza się tuż
przed wykonaniem wiersza kodu. Jeśli jest um przed
zmienną, wykona wiersz kodu, a po wykonaniu instrukcji będzie
zwiększać lub zmniejszać.
Ale pobaw się tym, otwórz okno, zrób
kilka różnych wyrażeń arytmetycznych i zobacz, jak to wszystko działa.
Porozmawiajmy teraz o innych typach operatorów.
Następna grupa operatorów to operatory logiczne.
I zdefiniowaliśmy, co to oznacza, że w zasadzie są
to operatory typu warunkowego. Zwracają wyniki logiczne, wartości prawda
lub fałsz.
Zatem symbole reprezentujące operatory logiczne to ampersand ampersand.
Dwa równoległe paski i wykrzyknik.
Znak ampersand ampersand jest nazywany operatorem logicznym i.
Jest to również operator wrostek, który przyjmuje 2 operandy, jeden po
lewej, jeden z boku. Zasadniczo, jeśli każdy operand
ma wartość różną od 0, warunek staje się prawdziwy.
A więc wartość różna od 0 oznacza 1, co oznacza prawdę. Więc jeśli a jest prawdziwe i
b jest prawdziwe, to odpowiedź byłaby
prawdziwa.
Jeśli a jest fałszywe i b
jest prawdziwe, odpowiedź jest fałszywa. Jeśli a jest fałszywe i b jest fałszywe, odpowiedź
jest fałszywa. Więc ponownie, zrobimy tego kilka przykładów.
A następnie pręty równoległe są logicznym lub operatorem. Powinno to być podobne do zajęć z matematyki, więc
nie chcę poświęcać temu zbyt wiele czasu. Ale jeśli którykolwiek z dwóch operandów
jest różny
od 0, każdy z nich jest prawdziwy, to jest prawdziwy. Więc jeśli a jest prawdą i b jest fałszem, to prawda.
A to są wyrażenia, które zwracają wartości.
Więc zwrot byłby prawdziwy, a b jest fałszem, jego zwrot będzie prawdziwy.
A potem operator logiczny nie będący wykrzyknikiem, to po prostu
odwraca stan logiczny swojego operandu.
Więc jeśli warunek jest prawdziwy, to zwróci fałsz.
Więc jeśli powiesz nie a, wykrzyknik i a było prawdą, a jest fałszem.
Jeśli umieścisz nie poza nawiasami, cokolwiek a i b zostanie ocenione,
teraz będzie miało wartość odwrotną.
Spójrzmy więc ponownie na kilka przykładów i bloków kodu.
Oto zimne bloki. Ponownie utworzę kilka zmiennych, aby zademonstrować operatory logiczne.
Ponownie utworzę po prostu kilka liczb całkowitych, powiemy,
że a równa się 12, a następnie b równa się 20.
Lepiej by było, gdybyśmy utworzyli a,
ponieważ nie chcę używać warunków, więc po prostu
utworzymy podkreślenie bool i przypiszemy to, powiem, że będą
to wyniki, i na
początku będziemy
nie przypisuj tego do niczego.
A potem po prostu wydrukujemy niektóre dane.
Chcemy więc zobaczyć, jakie
wartości zwracają te wyrażenia, jeśli użyjemy operatorów logicznych.
Więc tutaj wypiszę procent d,
który jest liczbą całkowitą. Pamiętaj, że wyrażenia logiczne to tylko
liczby całkowite.
Zmienne logiczne to liczby całkowite. Więc jeśli wartość logiczna wynosi 1, oznacza
to, że jest prawdą.
Jeśli jest 0, jest fałszem. Cokolwiek innego, zwykle 1, to prawda.
Więc zamierzam tylko wydrukować wynik.
A potem przypiszę do niego trochę danych. Więc jeśli powiem, że
wyniki są równe a i b, to
nie będzie miało żadnego sensu, ponieważ są to liczby.
Więc zainicjujmy równe prawdzie i
ponownie użyjmy wartości logicznych.
I tutaj powiemy, że
to prawda i to jest prawda.
A kiedy używamy
ampersandów, oznacza to, że a i b muszą być prawdziwe, aby zwrot był prawdziwy.
Zatem wyniki powinny zostać wydrukowane 1, ponieważ
1 oznacza prawdę. Zbudujmy to i
upewnijmy
się, że musimy użyć
odpowiedniej przestrzeni nazw. Więc będziemy reprezentować 1 dla prawdy
i 1, ponieważ nie
robimy teraz właściwego uwzględnienia, więc to nic wielkiego. Więc teraz uruchamiamy, powinno zgłosić prawdę
1 i robi 1.
Teraz, jeśli zmienię którekolwiek z nich na nieprawdziwe, jeśli powiem 0,
to wynik będzie fałszywy, ponieważ oba
a i b muszą być prawdziwe, aby wynik był prawdziwy.
Więc jeśli zbuduję to i uruchomię,
zobaczysz, że wynik wynosi 0, ponieważ
jest fałszywy.
Więc jeśli zmienię a lub b na 0,
co oznacza fałsz, wynik będzie fałszywy, ponieważ oba a i b muszą być prawdziwe.
Otóż, jeśli powiem pręt równoległy, pręt równoległy,
czyli a lub b, tylko jeden z nich musi być prawdziwy, aby wyniki były prawdziwe.
W tym przypadku wynik powinien wynosić 1.
Zbudujmy to i uruchommy.
A teraz mamy wartość 1.
Więc tylko jeden z nich musi być prawdziwy. Więc teraz, jeśli sprawię,
że oba staną
się fałszywe i będzie to o wiele bardziej odpowiednie, gdy mówimy o
stwierdzeniach warunkowych if i podejmowaniu decyzji, ale demonstruję tutaj logikę boolowską.
Teraz obie są fałszywe. Więc to
powinno zwrócić 0, co jest
fałszem i tak, 0, więc całkiem fajnie. A potem ostatni to po prostu symbol nie, który jest
wykrzyknikiem, który po prostu robi coś odwrotnego.
Więc jeśli powiem, że nie a,
jeśli a jest równe 0, a będzie
teraz równe 1 lub wynik będzie, a wynik będzie równy
1, czyli tak jest.
Więc to są 3 operatory logiczne. Ponownie, będą używane w zwykle oświadczeniach decyzyjnych.
Przejdźmy teraz i porozmawiajmy o innym zestawie operatorów.
Oto operatory przypisania. Dobrze znamy przynajmniej prosty operator przypisania, którym
jest symbol równości. Symbol równości przypisuje dane i
to jest dość podstawowe. C równa się a plus b, c będzie wynikiem a plus b.
Teraz są operatory złożone, w których można
zrobić plus równa się lub minus równa się lub gwiazda równa się.
Plus równa się to miejsce, w którym dodajesz i operator przypisania.
Więc dodaje prawy operand do lewego operandu, a następnie przypisuje
wyniki do lewego operandu.
Możesz więc powiedzieć, że c plus równa się a, a to to samo, co powiedzenie, że c równa się c plus a.
Minus to dokładnie to samo, z wyjątkiem odejmowania. Odejmujesz, a potem przypisujesz.
Więc odejmujesz prawy operand od lewego operandu, a następnie przypisujesz dane.
Więc jeśli powiesz, że c minus równa się a, to tak naprawdę c równa się c minus a.
To jest skrótowa notacja, te plus równa się i minus równa się.
Możesz pisać rzeczy trochę szybciej, ponieważ
wykonujesz dwie operacje
zasadniczo w jednej instrukcji.
A potem mnoży to samo, gwiazda równa się, mnoży i przypisuje.
Więc c gwiazda równa się a jest równoważne c równa się c razy a.
Myślę, że to całkiem proste.
Inne operatory
przypisania są podobne, z wyjątkiem tego, że używasz dzielenia. Zatem dzielenie równa się to dzielenie, a następnie znak.
Procent oblicza moduł, a następnie przypisuje wynik.
Więc to jest całkiem proste.
A potem mamy kilka innych, o których będziemy mówić bardziej szczegółowo w innym wykładzie.
Więc nie zamierzam ich tutaj dotykać, ponieważ są zupełnie inne.
Nazywa się je operatorami bitowymi, które zostały po
lewej stronie i jedyne, co tutaj mówię, to to, że
dla tych operatorów bitowych, o których
będziemy mówić, możesz również przypisać je w pojedynczych instrukcjach.
Więc przesuwając, wykonując przesunięcie w lewo i
przesunięcie w prawo i przypisywanie, możesz po prostu zrobić mniej niż mniej niż równe i napisać więcej niż jakiekolwiek większe niż równe.
A potem znowu znak ampersand, marchewka i słupek równoległy
są związane z robieniem rzeczy na bitach.
Więc wrócimy do tego, ale są one częścią operatorów przypisania.
Tak więc operator przypisania jest po prostu całkiem łatwy, przypisując dane,
a następnie, jeśli chcesz faktycznie wykonać wyrażenia, kilka
wyrażeń, a następnie przypisać je, wykonujesz kombinacje.
Operatory relacyjne to operatory porównania. Porównują 2 wartości.
Więc to jest ważne, równa się równa się. Porównamy wartości 2 zmiennych.
A jeśli są takie same, zwróci wartość true, ponieważ zwróci
wyrażenie logiczne, prawda lub fałsz lub wartość logiczną.
Wykrzyknik równa się sprawdza, czy wartości 2 operandy są równe, czy nie.
Więc a nie jest równe b, tak chcesz to czytać.
Jeśli a jest prawdą i
b jest prawdą, to zwróci fałsz, ponieważ są równe.
Zatem a musiałoby być
fałszywe lub b musiałoby być prawdziwe lub odwrotnie, a to zwróciłoby prawdę. Symbol większe niż sprawdza, czy a jest
większe niż b.
Mniejsze niż symbol, a jest mniejsze niż b. Większe niż równe, a jest większe lub
równe i mniejsze niż równe.
Więc znowu, to wszystko jest podstawowa matematyka.
Nie zamierzam przechodzić przez przykłady w IDE, ponieważ jest to całkiem proste.
Operator porównania jest taki sam jak w matematyce, większy niż równa się i tak dalej.
Miejmy nadzieję, że dobrze znamy
podstawowe operatory arytmetyczne, logiczne, przypisania i relacyjne.
Używane dość często, więc musisz je zrozumieć. Miejmy nadzieję, że nie jest to zbyt
trudne ani mylące.
Będziesz używał wielu z tego
w oświadczeniach if i oświadczeniach decyzyjnych, więc podamy więcej przykładów na ich temat. Dziękuję Ci.