C ++ operátorok példákkal

Tartalomjegyzék:

Anonim

Mik az üzemeltetők?

Az operátor az operandusokkal végzett műveletek végrehajtására használt szimbólum. Egy operátor operandusokat működtet. A műveletek lehetnek matematikai vagy logikai. Különböző típusú operátorok vannak a C ++ rendszerben különböző műveletek végrehajtására.

Fontolja meg a következő műveletet:

a = x + y;

A fenti utasításban x és y az operandus, míg a + addíciós operátor. Amikor a C ++ fordító találkozik a fenti állítással, x-et és y-t ad hozzá, és az eredményt az a változóban tárolja.

Ebben a C ++ oktatóanyagban megtudhatja:

  • Mik az üzemeltetők?
  • Számtani operátorok
  • Relációs operátorok
  • Logikai operátorok
  • Bitenkénti operátorok
  • Feladatkezelők
  • Egyéb operátor
    • operátor mérete
    • Vesszőkezelő
    • Feltételes üzemeltető
  • Operátorok elsőbbsége

Számtani operátorok

A matematikai / számtani műveletek végrehajtására használt operátorok. Tartalmazzák:

Operátor Leírás
+ összeadás operátor Hozzáad az operandusokhoz.
- kivonási operátor Kivon 2 ND operandus 1 st operandus.
* szorzó operátor 2 operandus szorzata.
/ részleg üzemeltetője. Osztja a számlálót nevezővel.
% modulus operátor Visszaadja az osztás után fennmaradó részt.
++ növekmény operátor Egy egész számot 1-gyel növel.
- csökkentési operátor. Egy egész számot 1-gyel csökkenti.

Például:

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

Kimenet:

Itt van egy képernyőkép a kódról:

Kód Magyarázat:

  1. Az iostream fejlécfájl belefoglalása a kódunkba. Ez lehetővé teszi számunkra, hogy a konzolról olvassunk és írjunk.
  2. Beleértve az std névteret annak osztályainak és függvényeinek felhasználása érdekében, anélkül, hogy meghívnánk.
  3. A main () függvény meghívása, amelyen belül hozzá kell adni a program logikáját. A {(fő) függvény törzsének kezdetét jelöli.
  4. Az egész a változó deklarálása és inicializálása 11-re.
  5. Egy egész b változó deklarálása és inicializálása 5-re.
  6. C egész változó deklarálása.
  7. Az a + b művelet értékének nyomtatása a konzolon lévő többi szöveg mellé.
  8. Az ab művelet értéke a konzolon lévő egyéb szöveg mellett.
  9. Az a * b művelet értéke a konzolon lévő többi szöveg mellett.
  10. Az a / b művelet értéke a konzolon lévő egyéb szöveg mellett.
  11. A% b művelet értéke a konzolon lévő többi szöveg mellett.
  12. A ++ művelet értékének nyomtatása a konzolon lévő többi szöveg mellé.
  13. A művelet értéke - a konzolon lévő egyéb szöveg mellett.
  14. A main () függvénynek vissza kell adnia egy értéket, ha a program jól fut.
  15. A fő () függvény törzsének vége.

Relációs operátorok

Az ilyen típusú operátorok összehasonlításokat végeznek az operandusokkal. Például tudnia kell, hogy melyik operandus nagyobb, mint a másik, vagy kevesebb, mint a másik. Tartalmazzák:

Leírás

Operátor Leírás
== egyenlő az operátorral. Két operandusérték egyenlőségét ellenőrzi.
! = nem egyenlő az operátorral Két operandusérték egyenlőségét ellenőrzi.
> nagyszerű, mint operátor Ellenőrzi, hogy a bal operandus értéke nagyobb-e, mint a jobb operandus értéke.
Ellenőrzi, hogy a bal operandus értéke kisebb-e a jobb operandus értékénél.
> = nagyobb vagy egyenlő az operátorral Ellenőrzi, hogy a bal operandus értéke nagyobb vagy egyenlő-e a jobb operandus értékével.
<= kisebb vagy egyenlő az operátorral. Ellenőrzi, hogy a bal operandus értéke kisebb vagy egyenlő-e a jobb operandus értékével.

Például:

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

Kimenet:

Itt van egy képernyőkép a kódról:

Kód Magyarázat:

  1. Az iostream fejlécfájl belefoglalása a kódunkba. Ez lehetővé teszi számunkra, hogy a konzolról olvassunk és írjunk.
  2. Beleértve az std névteret annak osztályainak és függvényeinek felhasználása érdekében, anélkül, hogy meghívnánk.
  3. A main () függvény meghívása, amelyen belül hozzá kell adni a program logikáját. A {(fő) függvény törzsének kezdetét jelöli.
  4. Az egész a változó deklarálása és inicializálása 11-re.
  5. Egy egész b változó deklarálása és inicializálása 5-re.
  6. Nyomtasson egy kis szöveget a konzolra az a és b változók értékeinek megadásával.
  7. A számtani művelet végrehajtása esetén a == b egy if döntéshozó utasításban, hogy megtudja, igaz-e vagy hamis. A {az if utasítás törzsének kezdetét jelöli.
  8. A konzolra nyomtatandó szöveg, ha az a == b művelet igaz. Az endl egy C ++ kulcsszó a végsorhoz. Nyomja a kurzort a nyomtatás megkezdéséhez a következő sorban. A} az if utasítás törzsének a végét jelöli.
  9. A fenti if utasítás másik része. Megállapítja, hogy mi a teendő, ha az a == b művelet hamis.
  10. A konzolra nyomtatandó szöveg, ha az a == b művelet hamis. Az endl egy C ++ kulcsszó a végsorhoz. Nyomja a kurzort a nyomtatás megkezdéséhez a következő sorban. A} az else utasítás törzsének a végét jelöli.
  11. Számtani művelet végrehajtása esetén a
  12. A konzolra nyomtatandó szöveg, ha az a
  13. A fenti if utasítás másik része. Megállapítja, hogy mi a teendő, ha az a
  14. A konzolra nyomtatandó szöveg, ha az a
  15. Az a> b számtani művelet végrehajtása egy if döntéshozó utasításban, hogy megtudja, igaz-e vagy hamis. A {az if utasítás törzsének kezdetét jelöli.
  16. A konzolra nyomtatandó szöveg, ha az a> b művelet igaz. Az endl egy C ++ kulcsszó a végsorhoz. Nyomja a kurzort a nyomtatás megkezdéséhez a következő sorban. A} az if utasítás törzsének a végét jelöli.
  17. A fenti if utasítás másik része. Megállapítja, hogy mi a teendő, ha az a> b művelet hamis.
  18. A konzolra nyomtatandó szöveg, ha az a> b művelet hamis. Az endl egy C ++ kulcsszó a végsorhoz. Nyomja a kurzort a nyomtatás megkezdéséhez a következő sorban. A} az else utasítás törzsének a végét jelöli.
  19. A main () függvénynek vissza kell adnia egy értéket, ha a program jól fut.
  20. A fő () függvény törzsének vége.

Logikai operátorok

A logikai operátorok két / több megszorítást / feltételt kombinálnak. A logikai operátorok kiegészítik a vizsgált eredeti állapot értékelését is. Tartalmazzák:

Operátor Leírás
&& logikus ÉS operátor. A feltétel igaz, ha mindkét operandus nem nulla.
|| logikus VAGY operátor. A feltétel akkor igaz, ha az egyik operandus nem nulla.
! logikus NEM operátor. Megfordítja az operandus logikai állapotát. Ha az operandus igaz, akkor a! operátor tévessé teszi.

Például:

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

Kimenet:

Itt van egy képernyőkép a kódról:

Kód Magyarázat:

  1. Az iostream fejlécfájl belefoglalása a kódunkba. Ez lehetővé teszi számunkra, hogy a konzolról olvassunk és írjunk.
  2. Beleértve az std névteret annak osztályainak és függvényeinek felhasználása érdekében, anélkül, hogy meghívnánk.
  3. A main () függvény meghívása, amelyen belül hozzá kell adni a program logikáját.
  4. A {(fő) függvény törzsének kezdetét jelöli.
  5. 4 egész a, b, c és d változó deklarálása és különböző értékek hozzárendelése.
  6. Az && (AND) operátor használata az if utasításon belül. Összekapcsol két feltételt, az egyenlőség értéke megegyezik b értékével, és az a értéke nagyobb, mint b értéke. Az első feltétel hamis, a második feltétel igaz. A hamis && igaz hamis, ezért az if eredménye hamis.
  7. A konzolra nyomtatandó szöveg, ha a fenti állítás igaz. Ezt nem hajtják végre.
  8. Végrehajtandó rész, ha a fenti hamis állítás esetén.
  9. A konzolra nyomtatandó szöveg, ha az if utasítás hamis. Ezt végrehajtják.
  10. A || használatával (OR) operátor az if utasításban. Összekapcsol két feltételt: az egyenlőség értéke megegyezik a b értékével és az a értéke nagyobb, mint a b értéke. Az első feltétel hamis, a második feltétel igaz. Hamis || igaz igaz, ezért az if eredménye az igaz.
  11. A konzolra nyomtatandó szöveg, ha a fenti állítás igaz. Ezt végrehajtják.
  12. Végrehajtandó rész, ha a fenti hamis állítás esetén.
  13. A konzolra nyomtatandó szöveg, ha az if utasítás hamis. Ez nem kerül végrehajtásra.
  14. Annak ellenőrzése, hogy a változó értéke 0-e.
  15. A konzolra nyomtatandó szöveg, ha a fenti állítás igaz. Ez nem kerül végrehajtásra.
  16. Végrehajtandó rész, ha a fenti hamis állítás esetén.
  17. A konzolra nyomtatandó szöveg, ha az if utasítás hamis. Ezt végrehajtják.
  18. A main () függvénynek vissza kell adnia egy értéket, ha a program jól fut.
  19. A fő () függvény törzsének vége.

Bitenkénti operátorok

A bitenkénti operátorok bitszintű műveleteket hajtanak végre operandusokon. Először az operátorokat konvertálják bitszintre, majd a műveleteket az operandusokon hajtják végre. Ha az aritmetikai műveleteket, például az összeadást és a kivonást bitszinten végzik, az eredmények gyorsabban érhetők el. Tartalmazzák:

Operátor Leírás
& (bitenként ÉS). 2 számra (operandusra) van szükség, majd két szám mindegyik bitjén végrehajtja az ÉS műveletet. Ha mindkettő 1, az AND 1-et ad vissza, különben 0.
| (bitenként VAGY) Vesz 2 számot (operandus), majd két szám minden bitjén VAGY végrehajt. 1-et ad vissza, ha az egyik bit 1.
(bitenként XOR) Vesz 2 számot (operandus), majd végrehajtja az XOR funkciót 2 szám minden egyes bitjén. 1-et ad vissza, ha mindkét bit különbözik.
<< (bal váltás) Két számot vesz, majd balra tolja az első operandus bitjeit. A második operandus meghatározza az összes eltolandó helyet.
>> (jobb váltás) Két számot vesz, majd jobbra tolja az első operandus bitjeit. A második operandus meghatározza az eltolandó helyek számát.
~ (bitenként NEM). A számot ekkor megfordítja az összes bitjét.
#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;}

Kimenet:

Itt van egy képernyőkép a kódról:

Kód Magyarázat:

  1. Az iostream fejlécfájl belefoglalása a kódunkba. Ez lehetővé teszi számunkra, hogy a konzolról olvassunk és írjunk.
  2. Beleértve az std névteret annak osztályainak és függvényeinek felhasználása érdekében, anélkül, hogy meghívnánk.
  3. A main () függvény meghívása, amelyen belül hozzá kell adni a program logikáját. A {(fő) függvény törzsének kezdetét jelöli.
  4. Az aláíratlan p egész változók deklarálása és 60-as érték hozzárendelése, azaz binárisan 0011 1100.
  5. A q előjel nélküli egész változók deklarálása és 13-as érték hozzárendelése, azaz binárisan 0000 1101.
  6. Z egész változó deklarálása és inicializálása 0-ra.
  7. A p és q változók bitenkénti és (ÉS) műveletének végrehajtása és az eredmény tárolása z változóban.
  8. A fenti művelet eredményének kinyomtatása a konzolra más szöveg mellé.
  9. A bitenkénti | (OR) művelet a p és q változókon, és az eredmény tárolása z változóban.
  10. A fenti művelet eredményének kinyomtatása a konzolra más szöveg mellé.
  11. A p és q változók bitenkénti (XOR) műveletének végrehajtása és az eredmény eltárolása z változóban.
  12. A fenti művelet eredményének kinyomtatása a konzolra más szöveg mellé.
  13. A p és q változók bitenkénti ~ (NOT) műveletének végrehajtása és az eredmény eltárolása z változóban.
  14. A fenti művelet eredményének kinyomtatása a konzolra más szöveg mellé.
  15. A bal váltás műveletének elvégzése a p változón és az eredmény tárolása z változóban.
  16. A fenti művelet eredményének kinyomtatása a konzolra más szöveg mellé.
  17. A jobb váltási művelet végrehajtása a p változón és az eredmény tárolása z változóban.
  18. A fenti művelet eredményének kinyomtatása a konzolra más szöveg mellé.
  19. A main () függvénynek vissza kell adnia egy értéket, ha a program jól fut.
  20. A fő () függvény törzsének vége.

Feladatkezelők

A hozzárendelés operátorai értékeket rendelnek a változókhoz. Az operandus / változó a kezelő bal oldalához, míg az érték a kezelő jobb oldalához kerül. A változónak és az értéknek ugyanahhoz az adattípushoz kell tartoznia, különben a C ++ fordító hibát vet fel. Például:

x = 5;

A fenti példában x a változó / operandus, = a hozzárendelés operátor, míg 5 az érték. Íme a népszerű hozzárendelési operátorok a C ++ nyelven:

Operátor Leírás
= (egyszerű hozzárendelés operátor) A jobb oldali értéket a bal oldali változóhoz rendeli.
+ = (Hozzáadás ÉS hozzárendelés operátor) Először hozzáadja a bal operandus értékét a jobb operandus értékéhez, majd eredményt rendel a bal oldali változóhoz.
- = (Kivonás ÉS hozzárendelés operátor) Először kivonja a jobb operandus értékét a bal operandus értékéből, majd az eredményt a bal oldali változóhoz rendeli.
* = (Szorzás ÉS hozzárendelés operátor) Először megszorozza a bal operandus értékét a jobb operandus értékével, majd a bal változóhoz rendeli az eredményt.
/ = (Osztály ÉS hozzárendelés operátor) Először elosztja a bal operandus értékét a jobb operandus értékével, majd eredményt rendel a bal oldali változóhoz.

Például:

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

Kimenet:

Itt van egy képernyőkép a kódról:

Kód Magyarázat:

  1. Az iostream fejlécfájl belefoglalása a kódunkba. Ez lehetővé teszi számunkra, hogy a konzolról olvassunk és írjunk.
  2. Beleértve az std névteret annak osztályainak és függvényeinek felhasználása érdekében, anélkül, hogy meghívnánk.
  3. A main () függvény meghívása, amelyen belül hozzá kell adni a program logikáját.
  4. A {(fő) függvény törzsének kezdetét jelöli.
  5. Az x egész változók deklarálása és 5-ös érték hozzáadása.
  6. Az x változó értékének nyomtatása a konzolon lévő többi szöveg mellett. A \ n új vonalkarakter. Nyomtatáskor a kurzort a következő sorra mozgatja.
  7. 5 hozzáadása az x változó értékéhez és az eredmény hozzáadása az x változóhoz.
  8. Az x változó értékének nyomtatása a konzolra más szöveg mellé.
  9. Az x értékéből kivonva 5-öt, és az eredményt az x változóhoz rendelve.
  10. Az x változó értékének nyomtatása a konzolra más szöveg mellé.
  11. Az x változó értékének szorzata 5-tel és az eredmény hozzáadása az x változóhoz.
  12. Az x változó értékének nyomtatása a konzolra más szöveg mellé.
  13. Az x változó értékének elosztása 5-tel és az eredmény hozzáadása az x változóhoz.
  14. Az x változó értékének nyomtatása a konzolra más szöveg mellé.
  15. A main () függvénynek vissza kell adnia egy értéket, ha a program jól fut.
  16. A fő () függvény törzsének vége.

Egyéb operátor

Beszéljünk a C ++ által támogatott más operátorokról:

operátor mérete

Ez az operátor meghatározza a változó méretét. Használja a sizeof operátort az adattípus méretének meghatározásához. Például:

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

Kimenet:

Itt van egy képernyőkép a kódról:

Kód Magyarázat:

  1. Az iostream fejlécfájl belefoglalása a kódunkba. Ez lehetővé teszi számunkra, hogy a konzolról olvassunk és írjunk.
  2. Beleértve az std névteret annak osztályainak és függvényeinek felhasználása érdekében, anélkül, hogy meghívnánk.
  3. A main () függvény meghívása, amelyen belül hozzá kell adni a program logikáját. A {(fő) függvény törzsének kezdetét jelöli.
  4. Az egész adattípus méretének meghatározása a sizeof operátor használatával, és a konzolon lévő egyéb szöveg mellé történő nyomtatás.
  5. A karakter adattípus méretének meghatározása a sizeof operátor használatával és a konzolon lévő egyéb szöveg mellé történő nyomtatás.
  6. Az úszó adattípus méretének meghatározása a sizeof operátor használatával és a konzolon lévő egyéb szöveg mellé történő nyomtatás.
  7. Az úszó adattípus méretének meghatározása a sizeof operátor használatával és a konzolon lévő egyéb szöveg mellé történő nyomtatás.
  8. A main () függvénynek vissza kell adnia egy értéket, ha a program jól fut.
  9. A fő () függvény törzsének vége.

Vesszőkezelő

A vessző operátor (,) kiváltja egy műveletsorozat végrehajtását. Kifejezi az első operandust és elveti az eredményt. Ezután kiértékeli a második operandust, és visszaadja az értéket és a típust.

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

Kimenet:

Itt van egy képernyőkép a kódról:

Kód Magyarázat:

  1. Az iostream fejlécfájl belefoglalása a kódunkba. Ez lehetővé teszi számunkra, hogy a konzolról olvassunk és írjunk.
  2. Beleértve az std névteret annak osztályainak és függvényeinek felhasználása érdekében, anélkül, hogy meghívnánk.
  3. A main () függvény meghívása, amelyen belül hozzá kell adni a program logikáját. A {(fő) függvény törzsének kezdetét jelöli.
  4. Két x és y egész változó deklarálása.
  5. A 100 változó ya érték hozzárendelése.
  6. Y értéke növekszik és eredményt rendelünk az x változóhoz. Y-val kezdődik 100-nál, majd növeli 101-re (y ++). Ezután y-t adunk a 10.-hez. Végül a még mindig 101-es y-t hozzáadjuk a 99-hez, ami 200-at ad.
  7. Az x változó értékének nyomtatása a konzolra.
  8. A main () függvénynek vissza kell adnia egy értéket, ha a program jól fut.
  9. A fő () függvény törzsének vége.

Feltételes üzemeltető

Ez a kezelő értékeli a feltételt és az értékelés eredménye alapján cselekszik.

Szintaxis:

Condition ? Expression2 : Expression3;

Paraméterek:

  • A feltétel az az állapot, amelyet értékelni kell.
  • Az 1. kifejezés az a kifejezés, amelyet végre kell hajtani, ha a feltétel igaz.
  • A 3. kifejezés az a kifejezés, amelyet végre kell hajtani, ha a feltétel hamis.

Például:

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

Kimenet:

Itt van egy képernyőkép a kódról:

Kód Magyarázat:

  1. Az iostream fejlécfájl belefoglalása a kódunkba. Ez lehetővé teszi számunkra, hogy a konzolról olvassunk és írjunk.
  2. Beleértve az std névteret annak osztályainak és függvényeinek felhasználása érdekében, anélkül, hogy meghívnánk.
  3. A main () függvény meghívása, amelyen belül hozzá kell adni a program logikáját. A {(fő) függvény törzsének kezdetét jelöli.
  4. Két a és b egész változó deklarálása. Az a változóhoz 1 értéket rendeltek.
  5. Érték hozzárendelése a b változóhoz. Ha az a változó kisebb, mint 10, akkor b értékhez 2 értéket rendelünk, ellenkező esetben b értékhez 5 értéket rendelünk.
  6. A b változó értékének nyomtatása a konzolra más szöveg mellé.
  7. A main () függvénynek vissza kell adnia egy értéket, ha a program jól fut.
  8. A fő () függvény törzsének vége.

Operátorok elsőbbsége

Egy műveletnek több operátora lehet. Ebben az esetben az operátor elsőbbsége határozza meg az először értékeltet.

Az alábbi lista a C ++ operátorok elsőbbségét mutatja, balról jobbra csökkenő elsőbbséggel:

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

Összegzés:

  • Az operátorok a logikai és számtani műveletek végrehajtásának szimbólumai.
  • A számtani operátorok segítenek számunkra különféle számtani műveletek végrehajtásában az operandusokon.
  • A relációs operátorok segítenek minket különböző összehasonlítási műveletek végrehajtásában az operandusokon.
  • A logikai operátorok segítenek különböző operációs műveletek végrehajtásában az operandusokon.
  • A bitenkénti operátorok segítenek az operandusok bitenkénti műveleteinek végrehajtásában.
  • A hozzárendelési operátorok segítenek nekünk különféle számtani műveletek végrehajtásában az operandusokon.
  • A sizeof operátor egy változó vagy adattípus méretét adja vissza.
  • A vessző operátor műveletek sorozatát hajtja végre.
  • A feltételes operátor értékeli a feltételt és az eredmény alapján cselekszik.