Hvad er operatører?
En operatør er et symbol, der bruges til at udføre operationer på operander. En operatør driver operander. Funktionerne kan være matematiske eller logiske. Der er forskellige typer operatører i C ++ til at udføre forskellige operationer.
Overvej følgende handling:
a = x + y;
I ovenstående udsagn er x og y operanderne, mens + er en additionsoperator. Når C ++ -compileren støder på ovenstående udsagn, tilføjer den x og y og gemmer resultatet i variabel a.
I denne C ++ -studie lærer du:
- Hvad er operatører?
- Aritmetiske operatører
- Relationelle operatører
- Logiske operatører
- Bitvise operatører
- Opgaveoperatører
- Diverse operatører
- operatørens størrelse
- Kommaoperatør
- Betinget operatør
- Operatørernes forrang
Aritmetiske operatører
De er de typer operatører, der bruges til at udføre matematiske / aritmetiske operationer. De omfatter:
Operatør | Beskrivelse |
+ tilføjelsesoperatør | Føjes til operander. |
- subtraktionsoperatør | Subtraherer 2 nd operand fra 1 st operand. |
* multiplikationsoperator | Multipliserer 2 operander. |
/ divisionsoperatør. | Opdeler tæller efter nævner. |
% modulus operator | Returnerer resten efter division. |
++ inkrement operatør | Øger et heltal med 1. |
- reduktion operatør. | Nedsætter et heltal med 1. |
For eksempel:
#includeusing 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;}
Produktion:
Her er et screenshot af koden:
Kode Forklaring:
- Herunder iostream header-filen i vores kode. Det giver os mulighed for at læse fra og skrive til konsollen.
- Inkluderet std navneområdet for at bruge dets klasser og funktioner uden at kalde det.
- Ringer til hovedfunktionen () inden for hvilken programmets logik skal tilføjes. {Markerer starten på kroppen af hovedfunktionen ().
- Erklærer en heltalsvariabel a og initialiserer den til 11.
- Erklærer en heltalsvariabel b og initialiserer den til 5.
- Erklæring om en heltalsvariabel c.
- Udskrivningsværdi for operation a + b sammen med anden tekst på konsollen.
- Udskrivningsværdi for operation ab sammen med anden tekst på konsollen.
- Udskrivningsværdi for operation a * b sammen med anden tekst på konsollen.
- Udskrivningsværdi for operation a / b sammen med anden tekst på konsollen.
- Udskrivningsværdi for operation a% b sammen med anden tekst på konsollen.
- Udskrivningsværdi for operation a ++ sammen med anden tekst på konsollen.
- Udskrivningsværdi for handling a - sammen med anden tekst på konsollen.
- Hovedfunktionen () skal returnere en værdi, hvis programmet fungerer fint.
- Slutningen af hovedfunktionens () krop.
Relationelle operatører
Disse typer operatører udfører sammenligninger på operander. For eksempel skal du muligvis vide, hvilken operand der er større end den anden eller mindre end den anden. De omfatter:
Beskrivelse
Operatør | Beskrivelse |
== lig med operatøren. | Kontrollerer lighed mellem to operandværdier. |
! = ikke lig med operatøren | Kontrollerer lighed mellem to operandværdier. |
> fantastisk end operatør | Kontrollerer, om værdien af venstre operand er større end værdien for højre operand. |
Kontrollerer, om værdien af venstre operand er mindre end værdien af højre operand. |
|
> = større end eller lig med operatøren | Kontrollerer, om værdien af venstre operand er større end eller lig med værdien for højre operand. |
<= mindre end eller lig med operatøren. | Kontrollerer, om værdien af venstre operand er mindre end eller lig værdien af højre operand. |
For eksempel:
#includeusing 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;}
Produktion:
Her er et screenshot af koden:
Kode Forklaring:
- Herunder iostream header-filen i vores kode. Det giver os mulighed for at læse fra og skrive til konsollen.
- Inkluderet std navneområdet for at bruge dets klasser og funktioner uden at kalde det.
- Ringer til hovedfunktionen () inden for hvilken programmets logik skal tilføjes. {Markerer starten på kroppen af hovedfunktionen ().
- Erklærer en heltalsvariabel a og initialiserer den til 11.
- Erklærer en heltalsvariabel b og initialiserer den til 5.
- Udskrivning af tekst på konsollen med angivelse af værdierne for variabler a og b.
- Udfør den aritmetiske operation, a == b i en if-beslutningstagning for at vide, om den er sand eller falsk. {Markerer begyndelsen på kroppen af if-udsagnet.
- Tekst der skal udskrives på konsollen, hvis handlingen a == b er sand. Endl er et C ++ nøgleord til slutlinjen. Det skubber markøren for at starte udskrivningen i næste linje. } Markerer afslutningen på kroppen af if-udsagnet.
- Den anden del af ovenstående hvis udsagn. Den angiver, hvad man skal gøre, hvis operationen a == b er falsk.
- Tekst der skal udskrives på konsollen, hvis handlingen a == b er forkert. Endl er et C ++ nøgleord til slutlinjen. Det skubber markøren for at starte udskrivningen i næste linje. Den} markerer afslutningen på kroppen af den anden erklæring.
- Udfør den aritmetiske operation, a
- Tekst der skal udskrives på konsollen, hvis handlingen a
- Den anden del af ovenstående hvis udsagn. Den angiver, hvad man skal gøre, hvis operationen a
- Tekst der skal udskrives på konsollen, hvis handlingen a
- Udfør den aritmetiske operation a> b i en if-beslutningstagning for at vide, om den er sand eller falsk. {Markerer begyndelsen på kroppen af if-udsagnet.
- Tekst der skal udskrives på konsollen, hvis handlingen a> b er sand. Endl er et C ++ nøgleord til slutlinjen. Det skubber markøren for at starte udskrivningen i næste linje. } Markerer slutningen på kroppen af if-udsagnet.
- Den anden del af ovenstående hvis udsagn. Den angiver, hvad man skal gøre, hvis operationen a> b er falsk.
- Tekst der skal udskrives på konsollen, hvis handlingen a> b er forkert. Endl er et C ++ nøgleord til slutlinjen. Det skubber markøren for at starte udskrivningen i næste linje. Den} markerer afslutningen på kroppen af den anden erklæring.
- Hovedfunktionen () skal returnere en værdi, hvis programmet fungerer fint.
- Slutningen af hovedfunktionens () krop.
- Tekst der skal udskrives på konsollen, hvis handlingen a
Logiske operatører
De logiske operatorer kombinerer to / flere begrænsninger / betingelser. Logiske operatører supplerer også evalueringen af den oprindelige tilstand, der overvejes. De omfatter:
Operatør | Beskrivelse |
&& logisk OG operatør. | Betingelsen er sand, hvis begge operander ikke er nul. |
|| logisk ELLER operatør. | Betingelsen er sand, hvis en af operanderne ikke er nul. |
! logisk IKKE operatør. | Det vender operandens logiske tilstand. Hvis operanden er sand, er! operatør gør det forkert. |
For eksempel:
#includeusing 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;}
Produktion:
Her er et screenshot af koden:
Kode Forklaring:
- Herunder iostream header-filen i vores kode. Det giver os mulighed for at læse fra og skrive til konsollen.
- Inkluderet std navneområdet for at bruge dets klasser og funktioner uden at kalde det.
- Ringer til hovedfunktionen () inden for hvilken programmets logik skal tilføjes.
- {Markerer starten på kroppen af hovedfunktionen ().
- Deklarerer 4 heltalsvariabler a, b, c og d og tildeler dem forskellige værdier.
- Brug af && (AND) -operatoren inde i if-sætningen. Det forbinder to betingelser, værdien af a er lig med værdien af b, og værdien af a er større end værdien af b. Første betingelse er falsk, anden betingelse er sand. Falsk && sandt er Falsk, derfor er resultatet af hvis falsk.
- Tekst der skal udskrives på konsollen, hvis ovenstående, hvis udsagnet er sandt. Dette vil ikke blive udført.
- Del, der skal udføres, hvis ovenstående, hvis udsagn er falsk.
- Tekst der skal udskrives på konsollen, hvis if-sætningen er falsk. Dette vil blive udført.
- Brug af || (OR) operatør inden for en if-erklæring. Det forbinder to betingelser, værdien af a er lig med værdien af b, og værdien af a er større end værdien af b. Første betingelse er falsk, anden betingelse er sand. Falsk || sandt er sandt, derfor er resultatet af hvis sandt.
- Tekst der skal udskrives på konsollen, hvis ovenstående, hvis udsagnet er sandt. Dette vil blive udført.
- Del, der skal udføres, hvis ovenstående, hvis udsagn er falsk.
- Tekst der skal udskrives på konsollen, hvis if-sætningen er falsk. Dette udføres ikke.
- Kontrol af, om variabelens værdi er 0.
- Tekst der skal udskrives på konsollen, hvis ovenstående, hvis udsagnet er sandt. Dette udføres ikke.
- Del, der skal udføres, hvis ovenstående, hvis udsagn er falsk.
- Tekst der skal udskrives på konsollen, hvis if-sætningen er falsk. Dette vil blive udført.
- Hovedfunktionen () skal returnere en værdi, hvis programmet fungerer fint.
- Slutningen af hovedfunktionens () krop.
Bitvise operatører
Bitvis operatører udfører bit-niveau operationer på operander. Først konverteres operatorer til bitniveau, derefter udføres operationer på operanderne. Når aritmetiske operationer som addition og subtraktion udføres på bitniveau, kan resultater opnås hurtigere. De omfatter:
Operatør | Beskrivelse |
& (bitvis OG). | Det tager 2 tal (operander) og udfører derefter AND på hver bit af to tal. Hvis begge er 1, returnerer AND 1, ellers 0. |
| (bitvis ELLER) | Tager 2 tal (operander) og udfører derefter ELLER på hver bit af to tal. Det returnerer 1, hvis et af bitene er 1. |
(den bitvise XOR) | Tager 2 tal (operander) og udfører derefter XOR på hver bit på 2 tal. Det returnerer 1, hvis begge bits er forskellige. |
<< (venstre skift) | Tager to tal og derefter venstre skifter bitene i den første operand. Den anden operand bestemmer de samlede steder at skifte. |
>> (højre skift) | Tager to tal, så skifter bits til den første operand til højre. Den anden operand bestemmer antallet af steder, der skal skiftes. |
~ (bitvis IKKE). | Tager nummer og vender derefter alle sine bits om. |
#includeusing 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;}
Produktion:
Her er et screenshot af koden:
Kode Forklaring:
- Herunder iostream header-filen i vores kode. Det giver os mulighed for at læse fra og skrive til konsollen.
- Inkluderet std navneområdet for at bruge dets klasser og funktioner uden at kalde det.
- Ringer til hovedfunktionen () inden for hvilken programmets logik skal tilføjes. {Markerer starten på kroppen af hovedfunktionen ().
- Erklærer et usigneret heltalvariabler p og tildeler det en værdi på 60, hvilket er 0011 1100 i binær.
- Erklærer et usigneret heltalvariabler q og tildeler det en værdi på 13, dvs. 0000 1101 i binær.
- Erklærer en heltalsvariabel z og initialiserer den til 0.
- Udførelse af bitvis & (OG) operation på variabler p og q og lagring af resultatet i variabel z.
- Udskrivning af resultatet af ovenstående handling på konsollen sammen med anden tekst.
- Udføre bitvis | (OR) operation på variabler p og q og lagring af resultatet i variabel z.
- Udskrivning af resultatet af ovenstående handling på konsollen sammen med anden tekst.
- Udførelse af bitvis (XOR) operation på variabler p og q og lagring af resultatet i variabel z.
- Udskrivning af resultatet af ovenstående handling på konsollen sammen med anden tekst.
- Udførelse af bitvis ~ (IKKE) operation på variabler p og q og lagring af resultatet i variabel z.
- Udskrivning af resultatet af ovenstående handling på konsollen sammen med anden tekst.
- Udførelse af venstre skiftoperation på variabel p og lagring af resultatet i variabel z.
- Udskrivning af resultatet af ovenstående handling på konsollen sammen med anden tekst.
- Udførelse af højre skiftoperation på variabel p og lagring af resultatet i variabel z.
- Udskrivning af resultatet af ovenstående handling på konsollen sammen med anden tekst.
- Hovedfunktionen () skal returnere en værdi, hvis programmet fungerer fint.
- Slutningen af hovedfunktionens () krop.
Opgaveoperatører
Tildelingsoperatører tildeler værdier til variabler. Operand / variabel føjes til operatørens venstre side, mens værdien føjes til operatørens højre side. Variablen og værdien skal høre til den samme datatype, ellers vil C ++ - kompilatoren rejse fejl. For eksempel:
x = 5;
I ovenstående eksempel er x variablen / operanden, = er tildelingsoperatøren, mens 5 er værdien. Her er de populære opgaveoperatører i C ++:
Operatør | Beskrivelse |
= (simpel tildelingsoperatør) | Det tildeler værdi til højre til variabel til venstre. |
+ = (Tilføj OG tildelingsoperatør) | Det tilføjer først værdien af venstre operand til værdien af højre operand og tildeler derefter resultatet til variablen til venstre. |
- = (Træk OG tildelingsoperatør) | Det trækker først værdien af højre operand fra værdien af venstre operand og tildeler derefter resultatet til variablen til venstre. |
* = (Multiplicer OG tildelingsoperatør) | Det multiplicerer først værdien af venstre operand med værdien af højre operand og tildeler derefter resultatet til variablen til venstre. |
/ = (Division OG opgaveoperatør) | Det deler først værdien af venstre operand med værdien af højre operand og tildeler derefter resultatet til variabel til venstre. |
For eksempel:
#includeusing 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;}
Produktion:
Her er et screenshot af koden:
Kode Forklaring:
- Herunder iostream header-filen i vores kode. Det giver os mulighed for at læse fra og skrive til konsollen.
- Inkluderet std navneområdet for at bruge dets klasser og funktioner uden at kalde det.
- Ringer til hovedfunktionen () inden for hvilken programmets logik skal tilføjes.
- {Markerer starten på kroppen af hovedfunktionen ().
- Erklærer et heltal variabler x og tildeler det en værdi på 5.
- Udskrivningsværdi af variabel x sammen med anden tekst på konsollen. \ N er et nyt linjetegn. Den flytter markøren til næste linje, når du udskriver.
- Tilføjelse af 5 til værdien af variabel x og tildeling af resultat til variabel x.
- Udskrivningsværdi af variabel x på konsollen sammen med anden tekst.
- Trækker 5 fra værdien af x og tildeler resultatet til variablen x.
- Udskrivningsværdi af variabel x på konsollen sammen med anden tekst.
- Multiplikation af variabel x med 5 og tildeling af resultat til variabel x.
- Udskrivningsværdi af variabel x på konsollen sammen med anden tekst.
- Dele værdien af variabel x med 5 og tildele resultat til variabel x.
- Udskrivningsværdi af variabel x på konsollen sammen med anden tekst.
- Hovedfunktionen () skal returnere en værdi, hvis programmet fungerer fint.
- Slutningen af hovedfunktionens () krop.
Diverse operatører
Lad os diskutere andre operatører understøttet af C ++:
operatørens størrelse
Denne operatør bestemmer størrelsen på en variabel. Brug operatorens størrelse til at bestemme størrelsen på en datatype. For eksempel:
#includeusing 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;}
Produktion:
Her er et screenshot af koden:
Kode Forklaring:
- Herunder iostream header-filen i vores kode. Det giver os mulighed for at læse fra og skrive til konsollen.
- Inkluderet std navneområdet for at bruge dets klasser og funktioner uden at kalde det.
- Ringer til hovedfunktionen () inden for hvilken programmets logik skal tilføjes. {Markerer starten på kroppen af hovedfunktionen ().
- Bestemmelse af størrelsen på heltal datatype ved hjælp af størrelse af operatoren og udskrivning sammen med anden tekst på konsollen.
- Bestemmelse af størrelsen på karakterdatatypen ved hjælp af operatorstørrelse og udskrivning sammen med anden tekst på konsollen.
- Bestemmelse af størrelsen på floatdatatypen ved hjælp af operatorstørrelse og udskrivning sammen med anden tekst på konsollen.
- Bestemmelse af størrelsen på floatdatatypen ved hjælp af operatorstørrelse og udskrivning sammen med anden tekst på konsollen.
- Hovedfunktionen () skal returnere en værdi, hvis programmet fungerer fint.
- Slutningen af hovedfunktionens () krop.
Kommaoperatør
Kommaoperatoren (,) udløser udførelsen af en række operationer. Det udtrykker første operand og kasserer resultatet. Dernæst evaluerer den anden operand og returnerer værdien og typen.
#includeusing namespace std;int main() {int x, y;y = 100;x = (y++, y + 10, 99 + y);cout << x;return 0;}
Produktion:
Her er et screenshot af koden:
Kode Forklaring:
- Herunder iostream header-filen i vores kode. Det giver os mulighed for at læse fra og skrive til konsollen.
- Inkluderet std navneområdet for at bruge dets klasser og funktioner uden at kalde det.
- Ringer til hovedfunktionen () inden for hvilken programmets logik skal tilføjes. {Markerer starten på kroppen af hovedfunktionen ().
- Erklærer to heltalsvariabler x og y.
- Tildel den variable ya-værdi på 100.
- Forøgelsesværdi af y og tildeling af resultat til variabel x. Det starter med y ved 100 og forøger det derefter til 101 (y ++). Derefter føjes y til 10. Endelig tilføjes y, stadig ved 101, til 99, hvilket giver 200. x er nu 200.
- Udskrivningsværdi af variabel x på konsollen.
- Hovedfunktionen () skal returnere en værdi, hvis programmet fungerer fint.
- Slutningen af hovedfunktionens () krop.
Betinget operatør
Denne operatør evaluerer en tilstand og handler ud fra resultatet af evalueringen.
Syntaks:
Condition ? Expression2 : Expression3;
Parametre:
- Betingelsen er den betingelse, der skal evalueres.
- Expression1 er det udtryk, der skal udføres, hvis betingelsen er sand.
- Expression3 er det udtryk, der skal udføres, hvis betingelsen er falsk.
For eksempel:
#includeusing namespace std;int main() {int a = 1, b;b = (a < 10) ? 2 : 5;cout << "value of b: " << b << endl;return 0;}
Produktion:
Her er et screenshot af koden:
Kode Forklaring:
- Herunder iostream header-filen i vores kode. Det giver os mulighed for at læse fra og skrive til konsollen.
- Inkluderet std navneområdet for at bruge dets klasser og funktioner uden at kalde det.
- Ringer til hovedfunktionen () inden for hvilken programmets logik skal tilføjes. {Markerer starten på kroppen af hovedfunktionen ().
- Erklæring om to heltalsvariabler a og b. Variabel a er tildelt en værdi på 1.
- Tildeling af værdi til variabel b. Hvis variabel a er mindre end 10, tildeles b værdien 2, ellers tildeles b værdien 5.
- Udskrivningsværdi af variabel b på konsollen sammen med anden tekst.
- Hovedfunktionen () skal returnere en værdi, hvis programmet fungerer fint.
- Slutningen af hovedfunktionens () krop.
Operatørernes forrang
En enkelt operation kan have mere end en operatør. I så fald bestemmer operatørens forrang den, der først evalueres.
Følgende liste viser forrang for operatorer i C ++ med faldende forrang fra venstre mod højre:
(), [], *, /,%, +/-, <<, >>, ==,! =, ^, |, &&, ||,?:, =, + =, - =, 8 = , / =
Resumé:
- Operatører er symboler til at udføre logiske og aritmetiske operationer.
- Aritmetiske operatorer hjælper os med at udføre forskellige aritmetiske operationer på operander.
- Relationsoperatører hjælper os med at udføre forskellige sammenligningsoperationer på operander.
- Logiske operatører hjælper os med at udføre forskellige logiske operationer på operander.
- Bitvis operatører hjælper os med at udføre bitvise operationer på operander.
- Opgaveoperatører hjælper os med at udføre forskellige aritmetiske operationer på operander.
- Operatørens størrelse returnerer størrelsen på en variabel eller datatype.
- Kommaoperatøren udfører en række operationer.
- Den betingede operatør evaluerer en tilstand og handler ud fra resultatet.