Operawkracza C++ z przykładem: Co to jest, typy i programy
Jakie są Operatory?
Operator jest symbolem używanym do wykonywania operacji na operandach. Operator wykonuje operacje na operandach. Operacje mogą być matematyczne lub logiczne. Istnieją różne typy operatorów w C++ do wykonywania różnych operacji.
Rozważ następującą operację:
a = x + y;
W powyższym stwierdzeniu x i y są operandami, podczas gdy + jest operatorem dodawania. Gdy C++ kompilator napotka powyższą instrukcję, doda x i y i zapisze wynik w zmiennej a.
Rodzaje Operawkracza C++
Są głównie 6 różnych typów operatorów w C++
- Arytmetyka Operatorsy
- Relacyjny Operatorsy
- logiczny Operatorsy
- Bitowy Operatorsy
- Cesja Operatorsy
- Przydatne Operatorsy
Arytmetyka Operatorsy
Są to typy operatorów używanych do wykonywania operacji matematycznych/arytmetycznych. Obejmują one:
OperaTor | Opis |
---|---|
+ operator dodawania | Dodaje do operandów. |
– operator odejmowania | Odejmuje 2nd operand z 1st argument. |
* operator mnożenia | Mnoży 2 operandy. |
/operator podziału. | Dzieli licznik przez mianownik. |
% operator modułu | Zwraca resztę z dzielenia. |
++ operator inkrementacji | Zwiększa wartość całkowitą o 1. |
— operator dekrementacji. | Zmniejsza wartość całkowitą o 1. |
Na przykład:
#include <iostream> using namespace std; int main() { int a = 11; int b = 5; int c; cout << "a + b is :" << a+b << endl; //11+5 cout << "a - b is :" << a-b << endl; //11-5 cout << "a * b is :" << a*b << endl; //11*5 cout << "a / b is :" << a/b << endl; //11/5 cout << "a % b is :" << a%b << endl; //11%5 cout << "a++ is :" << a++ << endl; //11++ cout << "a-- is :" << a-- << endl; //12-- return 0; }
Wyjście:
Oto zrzut ekranu kodu:
Wyjaśnienie kodu:
- Dołącz plik nagłówkowy iostream do naszego kodu. Umożliwi nam to odczytywanie i zapisywanie na konsoli.
- Łącznie z przestrzenią nazw std, aby móc korzystać z jej klas i funkcji bez wywoływania jej.
- Wywołanie funkcji main(), wewnątrz której należy dodać logikę programu. Znak { oznacza początek treści funkcji main().
- Deklarowanie zmiennej całkowitej a i inicjowanie jej wartością 11.
- Deklarowanie zmiennej całkowitej b i inicjowanie jej na 5.
- Deklarowanie zmiennej całkowitej c.
- Wyświetlanie wartości operacji a+b obok innego tekstu na konsoli.
- Wyświetlanie wartości operacji ab obok innego tekstu na konsoli.
- Wyświetlanie wartości operacji a*b obok innego tekstu na konsoli.
- Wyświetlanie wartości operacji a/b obok innego tekstu na konsoli.
- Wyświetlanie wartości operacji a%b obok innego tekstu na konsoli.
- Wyświetlanie wartości operacji a++ obok innego tekstu na konsoli.
- Wyświetlanie wartości operacji a– obok innego tekstu na konsoli.
- Funkcja main() powinna zwrócić wartość, jeśli program działa prawidłowo.
- Koniec treści funkcji main().
Relacyjny Operatorsy
Tego typu operatory wykonują porównania operandów. Na przykład możesz potrzebować wiedzieć, który operand jest większy od drugiego lub mniejszy od drugiego. Obejmują one:
OperaTor | Opis |
---|---|
== równa się operatorowi. | Sprawdza równość wartości dwóch operandów. |
!= nie jest równe operatorowi | Sprawdza równość wartości dwóch operandów. |
> świetny niż operator | Sprawdza, czy wartość lewego operandu jest większa od wartości prawego operandu. |
< operator mniejszy niż. | Sprawdza, czy wartość lewego operandu jest mniejsza od wartości prawego operandu. |
>= większy lub równy operatorowi | Sprawdza, czy wartość lewego operandu jest większa lub równa wartości prawego operandu. |
<= mniejszy lub równy operatorowi. | Sprawdza, czy wartość lewego operandu jest mniejsza lub równa wartości prawego operandu. |
Na przykład:
#include <iostream> using namespace std; int main() { int a = 11; int b = 5; cout << "a=11, b=5" << endl; if (a == b) { cout << "a == b is true" << endl; } else { cout << " a == b is false" << endl; } if (a < b) { cout << "a < b is true" << endl; } else { cout << "a < b is false" << endl; } if (a > b) { cout << "a > b is true" << endl; } else { cout << "a > b is false" << endl; } return 0; }
Wyjście:
Oto zrzut ekranu kodu:
Wyjaśnienie kodu:
- Dołącz plik nagłówkowy iostream do naszego kodu. Umożliwi nam to odczytywanie i zapisywanie na konsoli.
- Łącznie z przestrzenią nazw std, aby móc korzystać z jej klas i funkcji bez wywoływania jej.
- Wywołanie funkcji main(), wewnątrz której należy dodać logikę programu. Znak { oznacza początek treści funkcji main().
- Deklarowanie zmiennej całkowitej a i inicjowanie jej wartością 11.
- Deklarowanie zmiennej całkowitej b i inicjowanie jej na 5.
- Wydrukowanie tekstu na konsoli podającego wartości zmiennych a i b.
- Wykonywanie operacji arytmetycznej a==b w instrukcji podejmowania decyzji if, aby dowiedzieć się, czy jest ona prawdziwa, czy fałszywa. { oznacza początek treści instrukcji if.
- Tekst do wydrukowania na konsoli, jeśli operacja a==b jest prawdziwa. Endl to C++ słowo kluczowe dla linii końcowej. Przesuwa kursor, aby rozpocząć drukowanie w następnej linii. Znak } oznacza koniec treści instrukcji if.
- Część else powyższego polecenia if. Określa, co zrobić, jeśli operacja a==b jest fałszywa.
- Tekst do wydrukowania na konsoli, jeśli operacja a==b jest fałszywa. Endl jest C++ słowo kluczowe dla linii końcowej. Przesuwa kursor, aby rozpocząć drukowanie w następnej linii. Znak } oznacza koniec treści instrukcji else.
- Wykonując operację arytmetyczną,
- Tekst do wydrukowania na konsoli, jeśli operacja jest wykonywana C++ słowo kluczowe dla linii końcowej. Przesuwa kursor, aby rozpocząć drukowanie w następnej linii. Znak } oznacza koniec treści instrukcji if.
- Część else powyższego polecenia if. Określa, co zrobić, jeśli operacja a
- Tekst do wydrukowania na konsoli, jeśli operacja jest wykonywana C++ słowo kluczowe dla linii końcowej. Przesuwa kursor, aby rozpocząć drukowanie w następnej linii. Znak } oznacza koniec treści instrukcji else.
- Wykonywanie operacji arytmetycznej a>b w instrukcji if do podejmowania decyzji, aby dowiedzieć się, czy jest ona prawdziwa, czy fałszywa. { oznacza początek treści instrukcji if.
- Tekst do wydrukowania na konsoli, jeśli operacja a>b jest prawdziwa. Endl to C++ słowo kluczowe dla linii końcowej. Przesuwa kursor, aby rozpocząć drukowanie w następnej linii. Znak } oznacza koniec treści instrukcji if.
- Część else powyższego polecenia if. Określa, co zrobić, jeśli operacja a>b jest fałszywa.
- Tekst do wydrukowania na konsoli, jeśli operacja a>b jest fałszywa. Endl jest C++ słowo kluczowe dla linii końcowej. Przesuwa kursor, aby rozpocząć drukowanie w następnej linii. Znak } oznacza koniec treści instrukcji else.
- Funkcja main() powinna zwrócić wartość, jeśli program działa prawidłowo.
- Koniec treści funkcji main().
logiczny Operatorsy
Kolekcja operatory logiczne łączenie dwóch/więcej ograniczeń/warunków. Operatory logiczne uzupełniają również ocenę pierwotnego rozważanego warunku. Obejmują one:
OperaTor | Opis |
---|---|
&& operator logiczny AND. | Warunek jest prawdziwy, jeśli oba operandy są różne od zera. |
|| operator logiczny LUB. | Warunek jest prawdziwy, jeśli jeden z operandów jest różny od zera. |
! operator logiczny NOT. | Odwraca logiczny stan operandu. Jeśli operand jest prawdziwy, operator ! zmienia go na fałszywy. |
Na przykład:
#include <iostream> using namespace std; int main() { int a = 5, b = 2, c = 6, d = 4; if (a == b && c > d) cout << "a equals to b AND c is greater than d\n"; else cout << "AND operation returned false\n"; if (a == b || c > d) cout << "a equals to b OR c is greater than d\n"; else cout << "Neither a is equal to b nor c is greater than d\n"; if (!b) cout << "b is zero\n"; else cout << "b is not zero"; return 0; }
Wyjście:
Oto zrzut ekranu kodu:
Wyjaśnienie kodu:
- Dołącz plik nagłówkowy iostream do naszego kodu. Umożliwi nam to odczytywanie i zapisywanie na konsoli.
- Łącznie z przestrzenią nazw std, aby móc korzystać z jej klas i funkcji bez wywoływania jej.
- Wywołanie funkcji main(), wewnątrz której należy dodać logikę programu.
- Znak { oznacza początek treści funkcji main().
- Deklarowanie 4 zmiennych całkowitych a, b, c i d i przypisywanie im różnych wartości.
- Używając operatora && (AND) wewnątrz instrukcji if. Łączy on dwa warunki, wartość a równa się wartości b i wartość a jest większa niż wartość b. Pierwszy warunek jest fałszywy, drugi warunek jest prawdziwy. False&&true to False, stąd wynik if jest fałszywy.
- Tekst do wydrukowania na konsoli, jeśli powyższe stwierdzenie if jest prawdziwe. To nie zostanie wykonane.
- Część do wykonania, jeśli powyższa instrukcja if jest fałszywa.
- Tekst do wydrukowania na konsoli, jeśli instrukcja if jest fałszywa. To zostanie wykonane.
- Użycie operatora || (OR) w instrukcji if. Łączy on dwa warunki, wartość a równa się wartości b i wartość a jest większa niż wartość b. Pierwszy warunek jest fałszywy, drugi warunek jest prawdziwy. Fałsz||prawda jest prawdą, stąd wynik if jest prawdą.
- Tekst do wydrukowania na konsoli, jeśli powyższe stwierdzenie if jest prawdziwe. To zostanie wykonane.
- Część do wykonania, jeśli powyższa instrukcja if jest fałszywa.
- Tekst do wydrukowania na konsoli, jeśli instrukcja if jest fałszywa. To nie zostanie wykonane.
- Sprawdzanie, czy wartość zmiennej wynosi 0.
- Tekst do wydrukowania na konsoli, jeśli powyższe stwierdzenie if jest prawdziwe. To nie zostanie wykonane.
- Część do wykonania, jeśli powyższa instrukcja if jest fałszywa.
- Tekst do wydrukowania na konsoli, jeśli instrukcja if jest fałszywa. To zostanie wykonane.
- Funkcja main() powinna zwrócić wartość, jeśli program działa prawidłowo.
- Koniec treści funkcji main().
Bitowy Operatorsy
Operatory bitowe wykonuj operacje na poziomie bitów na operandach. Najpierw operatory są konwertowane na poziom bitów, a następnie wykonywane są operacje na operandach. Gdy operacje arytmetyczne, takie jak dodawanie i odejmowanie, są wykonywane na poziomie bitów, wyniki można uzyskać szybciej. Obejmują one:
OperaTor | Opis |
---|---|
& (bitowe AND). | Pobiera 2 liczby (operandy), a następnie wykonuje AND na każdym bicie dwóch liczb. Jeśli oba są 1, AND zwraca 1, w przeciwnym razie 0. |
| (LUB bitowy) | Pobiera 2 liczby (operandy), a następnie wykonuje operację OR na każdym bicie dwóch liczb. Zwraca 1, jeśli jeden z bitów jest równy 1. |
^ (XOR bitowy) | Pobiera 2 liczby (operandy), a następnie wykonuje operację XOR na każdym bicie 2 liczb. Zwraca 1, jeśli oba bity są różne. |
<< (przesunięcie w lewo) | Pobiera dwie liczby, a następnie przesuwa w lewo bity pierwszego operandu. Drugi operand określa całkowitą liczbę miejsc do przesunięcia. |
>> (przesunięcie w prawo) | Pobiera dwie liczby, a następnie przesuwa w prawo bity pierwszego operandu. Drugi operand określa liczbę miejsc do przesunięcia. |
~ (bitowe NIE). | Pobiera liczbę, a następnie odwraca wszystkie jej bity. |
#include <iostream> using namespace std; int main() { unsigned int p = 60; // 60 = 0011 1100 unsigned int q = 13; // 13 = 0000 1101 int z = 0; z = p & q; cout << "p&q is : " << z << endl; // 12 = 0000 1100 z = p | q; cout << "p|q is : " << z << endl; // 61 = 0011 1101 z = p ^ q; cout << "p^q is : " << z << endl; // 49 = 0011 0001 z = ~p; cout << "~p is : " << z << endl; // -61 = 1100 0011 z = p << 2; cout << "p<<2 is: " << z << endl; // 240 = 1111 0000 z = p >> 2; cout << "p>>2 is : " << z << endl; // 15 = 0000 1111 return 0; }
Wyjście:
Oto zrzut ekranu kodu:
Wyjaśnienie kodu:
- Dołącz plik nagłówkowy iostream do naszego kodu. Umożliwi nam to odczytywanie i zapisywanie na konsoli.
- Łącznie z przestrzenią nazw std, aby móc korzystać z jej klas i funkcji bez wywoływania jej.
- Wywołanie funkcji main(), wewnątrz której należy dodać logikę programu. Znak { oznacza początek treści funkcji main().
- Deklarowanie zmiennej całkowitej p bez znaku i przypisywanie jej wartości 60, czyli 0011 1100 w formacie binarnym.
- Deklarowanie zmiennych całkowitych bez znaku q i przypisywanie im wartości 13, czyli 0000 1101 w formacie binarnym.
- Deklarowanie zmiennej całkowitej z i inicjowanie jej na 0.
- Wykonanie operacji bitowej & (AND) na zmiennych p i q i zapisanie wyniku w zmiennej z.
- Wydrukowanie wyniku powyższej operacji na konsoli wraz z innym tekstem.
- Wykonanie operacji bitowej | (OR) na zmiennych p i q i zapisanie wyniku w zmiennej z.
- Wydrukowanie wyniku powyższej operacji na konsoli wraz z innym tekstem.
- Wykonanie operacji bitowej ^ (XOR) na zmiennych p i q i zapisanie wyniku w zmiennej z.
- Wydrukowanie wyniku powyższej operacji na konsoli wraz z innym tekstem.
- Wykonanie operacji bitowej ~ (NOT) na zmiennych p i q i zapisanie wyniku w zmiennej z.
- Wydrukowanie wyniku powyższej operacji na konsoli wraz z innym tekstem.
- Wykonanie operacji przesunięcia w lewo na zmiennej p i zapisanie wyniku w zmiennej z.
- Wydrukowanie wyniku powyższej operacji na konsoli wraz z innym tekstem.
- Wykonanie operacji przesunięcia w prawo na zmiennej p i zapisanie wyniku w zmiennej z.
- Wydrukowanie wyniku powyższej operacji na konsoli wraz z innym tekstem.
- Funkcja main() powinna zwrócić wartość, jeśli program działa prawidłowo.
- Koniec treści funkcji main().
Cesja Operatorsy
Operatorzy przypisania przypisz wartości do zmiennych. Operand/zmienna jest dodawana do lewej strony operatora, podczas gdy wartość jest dodawana do prawej strony operatora. Zmienna i wartość muszą należeć do tego samego typu danych, w przeciwnym razie C++ kompilator zgłosi błąd.
Na przykład:
x = 5;
W powyższym przykładzie x jest zmienną/operandem, = jest operatorem przypisania, a 5 jest wartością. Oto popularne operatory przypisania w C++:
OperaTor | Opis |
---|---|
= (prosty operator przypisania) | Przypisuje wartość po prawej stronie zmiennej po lewej stronie. |
+= (Dodaj operator przypisania AND) | Dodaje wartość prawego operandu do lewego operandu, a następnie przypisuje wynik do zmiennej po lewej stronie. |
-= (Operator odejmowania i przypisania) | Odejmuje wartość prawego operandu od wartości lewego operandu, a następnie przypisuje wynik do zmiennej po lewej stronie. |
*= (Operator przypisania mnożenia AND) | Mnoży wartość lewego operandu przez wartość prawego operandu, a następnie przypisuje wynik do zmiennej po lewej stronie. |
/= (Operator dzielenia i przypisania) | Dzieli wartość lewego operandu przez wartość prawego operandu, a następnie przypisuje wynik do zmiennej po lewej stronie. |
Na przykład:
#include <iostream> using namespace std; int main() { int x = 5; cout << "Initial value of x is " << x << "\n"; x += 5; cout << "x += 5 gives :" << x << "\n"; x -= 5; cout << "x -= 5 gives : " << x << "\n"; x *= 5; cout << "x *= 5 gives :" << x << "\n"; x /= 5; cout << "x /= 5 gives : " << x << "\n"; return 0; }
Wyjście:
Oto zrzut ekranu kodu:
Wyjaśnienie kodu:
- Dołącz plik nagłówkowy iostream do naszego kodu. Umożliwi nam to odczytywanie i zapisywanie na konsoli.
- Łącznie z przestrzenią nazw std, aby móc korzystać z jej klas i funkcji bez wywoływania jej.
- Wywołanie funkcji main(), wewnątrz której należy dodać logikę programu.
- Znak { oznacza początek treści funkcji main().
- Deklarowanie zmiennej całkowitej x i przypisywanie jej wartości 5.
- Drukowanie wartości zmiennej x wraz z innym tekstem na konsoli. \n jest znakiem nowej linii. Podczas drukowania przesuwa kursor do następnej linii.
- Dodanie 5 do wartości zmiennej x i przypisanie wyniku do zmiennej x.
- Drukowanie wartości zmiennej x na konsoli wraz z innym tekstem.
- Odejmowanie 5 od wartości x i przypisywanie wyniku do zmiennej x.
- Drukowanie wartości zmiennej x na konsoli wraz z innym tekstem.
- Mnożenie wartości zmiennej x przez 5 i przypisywanie wyniku do zmiennej x.
- Drukowanie wartości zmiennej x na konsoli wraz z innym tekstem.
- Dzielenie wartości zmiennej x przez 5 i przypisywanie wyniku do zmiennej x.
- Drukowanie wartości zmiennej x na konsoli wraz z innym tekstem.
- Funkcja main() powinna zwrócić wartość, jeśli program działa prawidłowo.
- Koniec treści funkcji main().
Przydatne Operatorsy
Przydatne Operatorsy uwzględnij operatora sizeof, przecinek Operator, warunkowy Operator i Operatory Pierwszeństwo.
Omówmy innych operatorów obsługiwanych przez C++:
operator sizeof
Ten operator określa rozmiar zmiennej. Użyj operatora sizeof, aby określić rozmiar typu danych.
Na przykład:
#include <iostream> using namespace std; int main() { cout<<"Size of int : "<< sizeof(int) << "\n"; cout<<"Size of char : " << sizeof(char) << "\n"; cout<<"Size of float : " << sizeof(float) << "\n"; cout<<"Size of double : " << sizeof(double) << "\n"; return 0; }
Wyjście:
Oto zrzut ekranu kodu:
Wyjaśnienie kodu:
- Dołącz plik nagłówkowy iostream do naszego kodu. Umożliwi nam to odczytywanie i zapisywanie na konsoli.
- Łącznie z przestrzenią nazw std, aby móc korzystać z jej klas i funkcji bez wywoływania jej.
- Wywołanie funkcji main(), wewnątrz której należy dodać logikę programu. Znak { oznacza początek treści funkcji main().
- Określanie rozmiaru danych całkowitych za pomocą operatora sizeof i wyświetlanie go obok innego tekstu na konsoli.
- Określanie rozmiaru typu danych znakowych za pomocą operatora sizeof i wyświetlanie go obok innego tekstu na konsoli.
- Określanie rozmiaru danych typu float za pomocą operatora sizeof i wyświetlanie go obok innego tekstu na konsoli.
- Określanie rozmiaru danych typu float za pomocą operatora sizeof i wyświetlanie go obok innego tekstu na konsoli.
- Funkcja main() powinna zwrócić wartość, jeśli program działa prawidłowo.
- Koniec treści funkcji main().
Przecinek OperaTor
Kolekcja operator przecinka (,) uruchamia wykonanie sekwencji operacji. Wyraża pierwszy operand i odrzuca wynik. Następnie ocenia drugi operand i zwraca wartość i typ.
#include <iostream> using namespace std; int main() { int x, y; y = 100; x = (y++, y + 10, 99 + y); cout << x; return 0; }
Wyjście:
Oto zrzut ekranu kodu:
Wyjaśnienie kodu:
- Dołącz plik nagłówkowy iostream do naszego kodu. Umożliwi nam to odczytywanie i zapisywanie na konsoli.
- Łącznie z przestrzenią nazw std, aby móc korzystać z jej klas i funkcji bez wywoływania jej.
- Wywołanie funkcji main(), wewnątrz której należy dodać logikę programu. Znak { oznacza początek treści funkcji main().
- Deklarowanie dwóch zmiennych całkowitych x i y.
- Przypisanie zmiennej ya wartości 100.
- Zwiększanie wartości y i przypisywanie wyniku do zmiennej x. Zaczyna się od y o wartości 100, a następnie zwiększa ją do 101 (y++). Następnie y dodaje się do 10. Na koniec y, wciąż równe 101, dodaje się do 99, co daje 200. x wynosi teraz 200.
- Drukowanie wartości zmiennej x na konsoli.
- Funkcja main() powinna zwrócić wartość, jeśli program działa prawidłowo.
- Koniec treści funkcji main().
Warunkowy OperaTor
Operator ten ocenia warunek i podejmuje działania na podstawie wyniku oceny.
Składnia:
Condition ? Expression2 : Expression3;
Parametry:
- Warunek to warunek, który ma zostać oceniony.
- Wyrażenie1 to wyrażenie, które ma zostać wykonane, jeśli warunek jest spełniony.
- Wyrażenie3 to wyrażenie, które ma zostać wykonane, jeśli warunek jest fałszywy.
Na przykład:
#include <iostream> using namespace std; int main() { int a = 1, b; b = (a < 10) ? 2 : 5; cout << "value of b: " << b << endl; return 0; }
Wyjście:
Oto zrzut ekranu kodu:
Wyjaśnienie kodu:
- Dołącz plik nagłówkowy iostream do naszego kodu. Umożliwi nam to odczytywanie i zapisywanie na konsoli.
- Łącznie z przestrzenią nazw std, aby móc korzystać z jej klas i funkcji bez wywoływania jej.
- Wywołanie funkcji main(), wewnątrz której należy dodać logikę programu. Znak { oznacza początek treści funkcji main().
- Deklaracja dwóch zmienne całkowite a i b. Zmiennej a przypisano wartość 1.
- Przypisywanie wartości zmiennej b. Jeśli zmienna a jest mniejsza niż 10, zmienna b otrzyma wartość 2, w przeciwnym razie, zmienna b otrzyma wartość 5.
- Drukowanie wartości zmiennej b na konsoli wraz z innym tekstem.
- Funkcja main() powinna zwrócić wartość, jeśli program działa prawidłowo.
- Koniec treści funkcji main().
Operatory Pierwszeństwo
Pojedyncza operacja może mieć więcej niż jednego operatora. W takim przypadku pierwszeństwo operatora określa ten, który jest oceniany jako pierwszy.
Poniższa lista przedstawia pierwszeństwo operatorów w C++, z malejącym priorytetem od lewej do prawej:
(), [],*, /, %, +/-, << , >>, == , !=, ^, |, &&, ||, ?:, =, +=, -=, *= , /=
Podsumowanie
- OperaTorsy są symbolami wykonywania operacji logicznych i arytmetycznych.
- Operatory arytmetyczne pomagają nam wykonywać różne działania arytmetyczne na operandach.
- Operatory relacyjne pomagają nam wykonywać różne operacje porównywania na operandach.
- Operatory logiczne pomagają nam wykonywać różne operacje logiczne na operandach.
- Operatory bitowe pomóż nam wykonać operacje bitowe na operandach.
- Operatory przypisania pomagają nam wykonywać różne operacje arytmetyczne na operandach.
- Operator sizeof zwraca rozmiar zmiennej lub typu danych.
- Operator przecinka wykonuje sekwencję operacji.
- Operator warunkowy ocenia warunek i działa na podstawie wyniku.