Operatory C ++ z przykładami

Spisie treści:

Anonim

Kim są operatorzy?

Operator jest symbolem używanym do wykonywania operacji na operandach. Operator obsługuje operandy. Operacje mogą być matematyczne lub logiczne. W C ++ istnieją różne typy operatorów do wykonywania różnych operacji.

Rozważ następującą operację:

a = x + y;

W powyższej instrukcji x i y są operandami, podczas gdy + jest operatorem dodawania. Gdy kompilator C ++ napotka powyższą instrukcję, doda x i y i zapisze wynik w zmiennej a.

W tym samouczku C ++ dowiesz się:

  • Kim są operatorzy?
  • Operatory arytmetyczne
  • Operatorzy relacyjni
  • Operatory logiczne
  • Operatory bitowe
  • Operatory przypisania
  • Operator różnych
    • operator sizeof
    • Operator przecinka
    • Operator warunkowy
  • Pierwszeństwo operatorów

Operatory arytmetyczne

Są to typy operatorów używanych do wykonywania operacji matematycznych / arytmetycznych. Zawierają:

Operator Opis
+ operator dodawania Dodaje do operandów.
- operator odejmowania Odejmuje 2 nd operand od 1 st argument.
* operator mnożenia Mnoży 2 operandy.
/ operator dzielenia. Dzieli licznik przez mianownik.
% operator modułu Zwraca resztę po dzieleniu.
++ Operator inkrementacji Zwiększa wartość całkowitą o 1.
- operator dekrementacji. Zmniejsza wartość całkowitą o 1.

Na przykład:

#include using namespace std;int main() {int a = 11;int b = 5;int c;cout << "a + b is : << a+b << endl; //11+5cout << "a - b is : << a-b << endl; //11-5cout << "a * b is : << a*b << endl; //11*5cout << "a / b is : << a/b << endl; //11/5cout << "a % b is : << a%b << endl; //11%5cout << "a++ is : << a++ << endl; //11++cout << "a-- is : << a-- << endl; //12--return 0;}

Wynik:

Oto zrzut ekranu kodu:

Objaśnienie kodu:

  1. Dołączanie pliku nagłówkowego iostream do naszego kodu. Pozwoli nam to czytać i zapisywać na konsoli.
  2. Włączanie przestrzeni nazw std, aby używać jej klas i funkcji bez wywoływania jej.
  3. Wywołanie funkcji main (), wewnątrz której należy dodać logikę programu. {Oznacza początek treści funkcji main ().
  4. Deklarowanie zmiennej całkowitej a i inicjowanie jej na 11.
  5. Deklarowanie zmiennej całkowitej b i inicjowanie jej na 5.
  6. Deklarowanie zmiennej całkowitej c.
  7. Wydruk wartości operacji a + b obok innego tekstu na konsoli.
  8. Wydruk wartości operacji ab obok innego tekstu na konsoli.
  9. Wydruk wartości operacji a * b obok innego tekstu na konsoli.
  10. Wydruk wartości operacji a / b obok innego tekstu na konsoli.
  11. Wydruk wartości operacji a% b obok innego tekstu na konsoli.
  12. Wydruk wartości operacji a ++ obok innego tekstu na konsoli.
  13. Wydruk wartości operacji a-- obok innego tekstu na konsoli.
  14. Funkcja main () powinna zwrócić wartość, jeśli program działa poprawnie.
  15. Koniec treści funkcji main ().

Operatorzy relacyjni

Te typy operatorów wykonują porównania na operandach. Na przykład możesz potrzebować wiedzieć, który operand jest większy od drugiego lub mniejszy od drugiego. Zawierają:

Opis

Operator Opis
== równe operatorowi. Sprawdza równość dwóch wartości operandów.
! = różne od operatora Sprawdza równość dwóch wartości operandów.
> świetne niż operator Sprawdza, czy wartość lewego operandu jest większa niż wartość prawego operandu.
Sprawdza, czy wartość lewego operandu jest mniejsza niż wartość prawego operandu.
> = operator większy lub równy 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 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;}

Wynik:

Oto zrzut ekranu kodu:

Objaśnienie kodu:

  1. Dołączanie pliku nagłówkowego iostream do naszego kodu. Pozwoli nam to czytać i zapisywać na konsoli.
  2. Włączanie przestrzeni nazw std, aby używać jej klas i funkcji bez wywoływania jej.
  3. Wywołanie funkcji main (), wewnątrz której należy dodać logikę programu. {Oznacza początek treści funkcji main ().
  4. Deklarowanie zmiennej całkowitej a i inicjowanie jej na 11.
  5. Deklarowanie zmiennej całkowitej b i inicjowanie jej na 5.
  6. Wydruk tekstu na konsoli podający wartości zmiennych a i b.
  7. Wykonując operację arytmetyczną, a == b w instrukcji podejmowania decyzji if, aby wiedzieć, czy jest to prawda, czy fałsz. {Oznacza początek treści instrukcji if.
  8. Tekst do wydrukowania na konsoli, jeśli operacja a == b jest prawdą. Endl jest słowem kluczowym C ++ oznaczającym linię końcową. Popycha kursor, aby rozpocząć drukowanie w następnym wierszu. Znak} oznacza koniec treści instrukcji if.
  9. Inna część powyższego oświadczenia if. Określa, co zrobić, jeśli operacja a == b jest fałszywa.
  10. Tekst do wydrukowania na konsoli, jeśli operacja a == b jest fałszywa. Endl jest słowem kluczowym C ++ oznaczającym linię końcową. Popycha kursor, aby rozpocząć drukowanie w następnym wierszu. Znak} oznacza koniec treści instrukcji else.
  11. Wykonywanie operacji arytmetycznej, a
  12. Tekst do wydrukowania na konsoli, jeśli operacja a
  13. Inna część powyższego oświadczenia if. Określa, co zrobić, jeśli operacja a
  14. Tekst do wydrukowania na konsoli, jeśli operacja a
  15. Wykonywanie operacji arytmetycznej a> b w instrukcji podejmowania decyzji if, aby wiedzieć, czy jest to prawda, czy fałsz. {Oznacza początek treści instrukcji if.
  16. Tekst do wydrukowania na konsoli, jeśli operacja a> b jest prawdą. Endl jest słowem kluczowym C ++ oznaczającym linię końcową. Popycha kursor, aby rozpocząć drukowanie w następnym wierszu. Znak} oznacza koniec treści instrukcji if.
  17. Inna część powyższego oświadczenia if. Określa, co zrobić, jeśli operacja a> b jest fałszywa.
  18. Tekst do wydrukowania na konsoli, jeśli operacja a> b jest fałszywa. Endl jest słowem kluczowym C ++ oznaczającym linię końcową. Popycha kursor, aby rozpocząć drukowanie w następnym wierszu. Znak} oznacza koniec treści instrukcji else.
  19. Funkcja main () powinna zwrócić wartość, jeśli program działa poprawnie.
  20. Koniec treści funkcji main ().

Operatory logiczne

Operatory logiczne łączą dwa / więcej ograniczeń / warunków. Operatory logiczne również uzupełniają ocenę rozważanego stanu pierwotnego. Zawierają:

Operator Opis
&& operator logiczny AND. Warunek jest prawdziwy, jeśli oba operandy są różne od zera.
|| operator logiczny OR. Warunek jest prawdziwy, jeśli jeden z operandów jest różny od zera.
! operator logiczny NOT. Odwraca stan logiczny operandu. Jeśli operand jest prawdziwy,! operator sprawia, że ​​jest fałszywa.

Na przykład:

#include 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";elsecout << "AND operation returned false\n";if (a == b || c> d)cout << "a equals to b OR c is greater than d\n";elsecout << "Neither a is equal to b nor c is greater than d\n";if (!b)cout << "b is zero\n";elsecout << "b is not zero";return 0;}

Wynik:

Oto zrzut ekranu kodu:

Objaśnienie kodu:

  1. Dołączanie pliku nagłówkowego iostream do naszego kodu. Pozwoli nam to czytać i zapisywać na konsoli.
  2. Włączanie przestrzeni nazw std, aby używać jej klas i funkcji bez wywoływania jej.
  3. Wywołanie funkcji main (), wewnątrz której należy dodać logikę programu.
  4. {Oznacza początek treści funkcji main ().
  5. Zadeklarowanie 4 zmiennych całkowitych a, b, c i d oraz przypisanie im różnych wartości.
  6. Korzystanie z operatora && (AND) wewnątrz instrukcji if. Łączy dwa warunki, wartość a jest równa wartości b, a wartość a jest większa niż wartość b. Pierwszy warunek jest fałszywy, drugi warunek jest prawdziwy. Fałsz && prawda jest fałszem, stąd wynik if jest fałszywy.
  7. Tekst do wydrukowania w konsoli, jeśli powyższe stwierdzenie if jest prawdziwe. To nie zostanie wykonane.
  8. Część do wykonania, jeśli powyższe stwierdzenie if jest fałszywe.
  9. Tekst do wydrukowania na konsoli, jeśli instrukcja if jest fałszywa. To zostanie wykonane.
  10. Korzystanie z || (OR) operator w instrukcji if. Łączy dwa warunki, wartość a jest równa wartości b, a wartość a jest większa niż wartość b. Pierwszy warunek jest fałszywy, drugi warunek jest prawdziwy. False || true jest True, stąd wynik if jest true.
  11. Tekst do wydrukowania w konsoli, jeśli powyższe stwierdzenie if jest prawdziwe. To zostanie wykonane.
  12. Część do wykonania, jeśli powyższe stwierdzenie if jest fałszywe.
  13. Tekst do wydrukowania na konsoli, jeśli instrukcja if jest fałszywa. To nie zostanie wykonane.
  14. Sprawdzanie, czy wartość zmiennej wynosi 0.
  15. Tekst do wydrukowania w konsoli, jeśli powyższe stwierdzenie if jest prawdziwe. To nie zostanie wykonane.
  16. Część do wykonania, jeśli powyższe stwierdzenie if jest fałszywe.
  17. Tekst do wydrukowania na konsoli, jeśli instrukcja if jest fałszywa. To zostanie wykonane.
  18. Funkcja main () powinna zwrócić wartość, jeśli program działa poprawnie.
  19. Koniec treści funkcji main ().

Operatory bitowe

Operatory bitowe wykonują operacje na poziomie bitów na operandach. Najpierw operatory są konwertowane do poziomu bitowego, a następnie wykonywane są operacje na operandach. Gdy operacje arytmetyczne, takie jak dodawanie i odejmowanie, są wykonywane na poziomie bitowym, wyniki można osiągnąć szybciej. Zawierają:

Operator Opis
& (bitowe i). Pobiera 2 liczby (operandy), a następnie wykonuje operację AND na każdym bicie dwóch liczb. Jeśli oba są równe 1, AND zwraca 1, w przeciwnym razie 0.
| (bitowe LUB) Przyjmuje 2 liczby (operandy), a następnie wykonuje operację LUB na każdym bicie dwóch liczb. Zwraca 1, jeśli jeden z bitów ma wartość 1.
(bitowy XOR) Pobiera 2 liczby (operandy), a następnie wykonuje XOR na każdym bicie dwóch liczb. Zwraca 1, jeśli oba bity są różne.
<< (przesunięcie w lewo) Przyjmuje dwie liczby, a następnie w lewo przesuwa bity pierwszego operandu. Drugi operand określa całkowitą liczbę miejsc do przesunięcia.
>> (prawe przesunięcie) Przyjmuje dwie liczby, a następnie w prawo przesuwa bity pierwszego operandu. Drugi operand określa liczbę miejsc do przesunięcia.
~ (bitowe NIE). Pobiera liczbę, a następnie odwraca wszystkie jej bity.
#include using namespace std;int main() {unsigned int p = 60; // 60 = 0011 1100unsigned int q = 13; // 13 = 0000 1101int z = 0;z = p & q;cout << "p&q is : " << z << endl; // 12 = 0000 1100z = p | q;cout << "p|q is : " << z << endl; // 61 = 0011 1101z = p q;cout << "p^q is : " << z << endl; // 49 = 0011 0001z = ~p;cout << "~p is : " << z << endl; // -61 = 1100 0011z = p << 2;cout << "p<<2 is: " << z << endl; // 240 = 1111 0000z = p>> 2;cout << "p>>2 is : " << z << endl; // 15 = 0000 1111return 0;}

Wynik:

Oto zrzut ekranu kodu:

Objaśnienie kodu:

  1. Dołączanie pliku nagłówkowego iostream do naszego kodu. Pozwoli nam to czytać i zapisywać na konsoli.
  2. Włączanie przestrzeni nazw std, aby używać jej klas i funkcji bez wywoływania jej.
  3. Wywołanie funkcji main (), wewnątrz której należy dodać logikę programu. {Oznacza początek treści funkcji main ().
  4. Deklarowanie zmiennych całkowitych bez znaku p i przypisanie im wartości 60, czyli 0011 1100 w systemie dwójkowym.
  5. Deklarowanie zmiennych całkowitych bez znaku q i przypisanie im wartości 13, czyli 0000 1101 w systemie dwójkowym.
  6. Deklarowanie zmiennej całkowitej z i inicjowanie jej na 0.
  7. Wykonywanie operacji bitowej & (AND) na zmiennych p i q oraz zapisywanie wyniku w zmiennej z.
  8. Wydruk wyniku powyższej operacji na konsoli obok innego tekstu.
  9. Wykonywanie bitowego | (LUB) operacja na zmiennych p i q oraz przechowywanie wyniku w zmiennej z.
  10. Wydruk wyniku powyższej operacji na konsoli obok innego tekstu.
  11. Wykonywanie operacji bitowej (XOR) na zmiennych p i q oraz zapisywanie wyniku w zmiennej z.
  12. Wydruk wyniku powyższej operacji na konsoli obok innego tekstu.
  13. Wykonywanie operacji bitowej ~ (NOT) na zmiennych p i q oraz zapisywanie wyniku w zmiennej z.
  14. Wydruk wyniku powyższej operacji na konsoli obok innego tekstu.
  15. Wykonywanie operacji przesunięcia w lewo na zmiennej p i zapisywanie wyniku w zmiennej z.
  16. Wydruk wyniku powyższej operacji na konsoli obok innego tekstu.
  17. Wykonywanie operacji przesunięcia w prawo na zmiennej p i zapisywanie wyniku w zmiennej z.
  18. Wydruk wyniku powyższej operacji na konsoli obok innego tekstu.
  19. Funkcja main () powinna zwrócić wartość, jeśli program działa poprawnie.
  20. Koniec treści funkcji main ().

Operatory przypisania

Operatory przypisania przypisują wartości do zmiennych. Operand / zmienna jest dodawana po lewej stronie operatora, podczas gdy wartość jest dodawana po prawej stronie operatora. Zmienna i wartość muszą należeć do tego samego typu danych, w przeciwnym razie kompilator C ++ zgłosi błąd. Na przykład:

x = 5;

W powyższym przykładzie x to zmienna / operand, = to operator przypisania, a 5 to wartość. Oto popularne operatory przypisania w C ++:

Operator Opis
= (prosty operator przypisania) Przypisuje wartość po prawej stronie zmiennej po lewej stronie.
+ = (Operator dodawania AND przypisania) Najpierw dodaje wartość lewego operandu do wartości prawego operandu, a następnie przypisuje wynik do zmiennej po lewej stronie.
- = (operator odejmowania AND przypisania) Najpierw odejmuje wartość prawego operandu od wartości lewego operandu, a następnie przypisuje wynik do zmiennej po lewej stronie.
* = (Operator mnożenia AND przypisania) Najpierw mnoży wartość lewego operandu przez wartość prawego operandu, a następnie przypisuje wynik do zmiennej po lewej stronie.
/ = (Operator przypisania dzielenia ORAZ) Najpierw dzieli wartość lewego operandu przez wartość prawego operandu, a następnie przypisuje wynik do zmiennej po lewej stronie.

Na przykład:

#include 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;}

Wynik:

Oto zrzut ekranu kodu:

Objaśnienie kodu:

  1. Dołączanie pliku nagłówkowego iostream do naszego kodu. Pozwoli nam to czytać i zapisywać na konsoli.
  2. Włączanie przestrzeni nazw std, aby używać jej klas i funkcji bez wywoływania jej.
  3. Wywołanie funkcji main (), wewnątrz której należy dodać logikę programu.
  4. {Oznacza początek treści funkcji main ().
  5. Deklarowanie zmiennej całkowitej x i przypisanie jej wartości 5.
  6. Wydruk wartości zmiennej x obok innego tekstu na konsoli. \ N jest znakiem nowej linii. Podczas drukowania przesuwa kursor do następnej linii.
  7. Dodanie 5 do wartości zmiennej x i przypisanie wyniku do zmiennej x.
  8. Wydruk wartości zmiennej x na konsoli obok innego tekstu.
  9. Odejmowanie 5 od wartości x i przypisywanie wyniku do zmiennej x.
  10. Wydruk wartości zmiennej x na konsoli obok innego tekstu.
  11. Mnożenie wartości zmiennej x przez 5 i przypisanie wyniku do zmiennej x.
  12. Wydruk wartości zmiennej x na konsoli obok innego tekstu.
  13. Dzielenie wartości zmiennej x przez 5 i przypisanie wyniku do zmiennej x.
  14. Wydruk wartości zmiennej x na konsoli obok innego tekstu.
  15. Funkcja main () powinna zwrócić wartość, jeśli program działa poprawnie.
  16. Koniec treści funkcji main ().

Operator różnych

Omówmy inne operatory obsługiwane przez C ++:

operator sizeof

Ten operator określa rozmiar zmiennej. Użyj operatora sizeof, aby określić rozmiar typu danych. Na przykład:

#include 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;}

Wynik:

Oto zrzut ekranu kodu:

Objaśnienie kodu:

  1. Dołączanie pliku nagłówkowego iostream do naszego kodu. Pozwoli nam to czytać i zapisywać na konsoli.
  2. Włączanie przestrzeni nazw std, aby używać jej klas i funkcji bez wywoływania jej.
  3. Wywołanie funkcji main (), wewnątrz której należy dodać logikę programu. {Oznacza początek treści funkcji main ().
  4. Określanie rozmiaru danych typu integer za pomocą operatora sizeof i drukowanie go wraz z innym tekstem na konsoli.
  5. Określanie rozmiaru typu danych znakowych za pomocą operatora sizeof i drukowanie go wraz z innym tekstem na konsoli.
  6. Określanie rozmiaru typu danych typu float przy użyciu operatora sizeof i drukowanie go wraz z innym tekstem na konsoli.
  7. Określanie rozmiaru typu danych typu float przy użyciu operatora sizeof i drukowanie go wraz z innym tekstem na konsoli.
  8. Funkcja main () powinna zwrócić wartość, jeśli program działa poprawnie.
  9. Koniec treści funkcji main ().

Operator przecinka

Operator przecinka (,) wyzwala wykonanie sekwencji operacji. Wyraża pierwszy operand i odrzuca wynik. Następnie ocenia drugi operand i zwraca wartość i typ.

#include using namespace std;int main() {int x, y;y = 100;x = (y++, y + 10, 99 + y);cout << x;return 0;}

Wynik:

Oto zrzut ekranu kodu:

Objaśnienie kodu:

  1. Dołączanie pliku nagłówkowego iostream do naszego kodu. Pozwoli nam to czytać i zapisywać na konsoli.
  2. Włączanie przestrzeni nazw std, aby używać jej klas i funkcji bez wywoływania jej.
  3. Wywołanie funkcji main (), wewnątrz której należy dodać logikę programu. {Oznacza początek treści funkcji main ().
  4. Deklarowanie dwóch zmiennych całkowitych x i y.
  5. Przypisanie zmiennej ya wartości 100.
  6. Zwiększenie wartości y i przypisanie wyniku do zmiennej x. Zaczyna się od y przy 100, a następnie zwiększa go do 101 (y ++). Następnie y jest dodawane do 10. W końcu y, wciąż na poziomie 101, jest dodawane do 99, dając 200. x wynosi teraz 200.
  7. Wydruk wartości zmiennej x na konsoli.
  8. Funkcja main () powinna zwrócić wartość, jeśli program działa poprawnie.
  9. Koniec treści funkcji main ().

Operator warunkowy

Ten operator ocenia warunek i działa w oparciu o wynik oceny.

Składnia:

Condition ? Expression2 : Expression3;

Parametry:

  • Warunek to stan, który ma zostać oceniony.
  • Wyrażenie1 jest wyrażeniem, które ma zostać wykonane, jeśli warunek jest prawdziwy.
  • Wyrażenie3 jest wyrażeniem, które ma zostać wykonane, jeśli warunek jest fałszywy.

Na przykład:

#include using namespace std;int main() {int a = 1, b;b = (a < 10) ? 2 : 5;cout << "value of b: " << b << endl;return 0;}

Wynik:

Oto zrzut ekranu kodu:

Objaśnienie kodu:

  1. Dołączanie pliku nagłówkowego iostream do naszego kodu. Pozwoli nam to czytać i zapisywać na konsoli.
  2. Włączanie przestrzeni nazw std, aby używać jej klas i funkcji bez wywoływania jej.
  3. Wywołanie funkcji main (), wewnątrz której należy dodać logikę programu. {Oznacza początek treści funkcji main ().
  4. Deklarowanie dwóch zmiennych całkowitych a i b. Zmiennej a przypisano wartość 1.
  5. Przypisanie wartości do zmiennej b. Jeśli zmienna a jest mniejsza niż 10, b otrzyma wartość 2, w przeciwnym razie b otrzyma wartość 5.
  6. Wydruk wartości zmiennej b na konsoli obok innego tekstu.
  7. Funkcja main () powinna zwrócić wartość, jeśli program działa poprawnie.
  8. Koniec treści funkcji main ().

Pierwszeństwo operatorów

Pojedyncza operacja może mieć więcej niż jednego operatora. W takim przypadku pierwszeństwo operatorów 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:

(), [], *, /,%, +/-, <<, >>, ==,! =, ^, |, &&, ||,?:, =, + =, - =, 8 = , / =

Podsumowanie:

  • Operatory to symbole służące do wykonywania operacji logicznych i arytmetycznych.
  • Operatory arytmetyczne pomagają nam wykonywać różne operacje arytmetyczne na operandach.
  • Operatory relacyjne pomagają nam wykonywać różne operacje porównawcze na operandach.
  • Operatory logiczne pomagają nam wykonywać różne operacje logiczne na operandach.
  • Operatory bitowe pomagają nam wykonywać operacje bitowe na operandach.
  • Operatory przypisania pomagają nam wykonywać różne operacje arytmetyczne na operandach.
  • Operator sizeof zwraca rozmiar zmiennej lub typ danych.
  • Operator przecinka wykonuje sekwencję operacji.
  • Operator warunkowy ocenia warunek i działa na podstawie wyniku.