Ц ++ оператори са примерима

Преглед садржаја:

Anonim

Шта су оператори?

Оператор је симбол који се користи за извођење операција над операндима. Оператор управља операндима. Операције могу бити математичке или логичке. У Ц ++-у постоје различите врсте оператора за извођење различитих операција.

Размотрите следећу операцију:

a = x + y;

У горњој изјави, к и и су операнди, док је + оператор сабирања. Када Ц ++ компајлер наиђе на горњу изјаву, он ће додати к и и и сачувати резултат у променљивој а.

У овом водичу за Ц ++ научићете:

  • Шта су оператори?
  • Аритметички оператори
  • Релациони оператори
  • Логички оператори
  • Бит-ови оператори
  • Оператори доделе
  • Мисц оператор
    • сизеоф оператор
    • Цомма Оператор
    • Условни оператер
  • Предност оператора

Аритметички оператори

То су типови оператора који се користе за извођење математичких / аритметичких операција. То укључује:

Оператор Опис
+ оператор сабирања Додаје се у операнде.
- оператор одузимања Одузима 2 нд операн од 1 ст операнд.
* оператор множења Множи 2 операнда.
/ оператер поделе. Дели бројилац са имениоцем.
% оператора модула Враћа остатак након поделе.
++ оператор прираста Повећава целобројну вредност за 1.
- оператор декремента. Смањује целобројну вредност за 1.

На пример:

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

Излаз:

Ево снимка екрана кода:

Објашњење кода:

  1. Укључујући иостреам датотеку заглавља у наш код. Омогућиће нам читање са конзоле и писање на њу.
  2. Укључујући простор имена стд како би користио његове класе и функције без позива.
  3. Позивање функције маин () унутар које треба додати логику програма. Ознака {означава почетак тела главне () функције.
  4. Проглашавање целобројне променљиве а и иницијализација на 11.
  5. Проглашавање целобројне променљиве б и иницијализација на 5.
  6. Проглашавање целобројне променљиве ц.
  7. Штампање вредности операције а + б уз други текст на конзоли.
  8. Вредност исписа операције аб уз други текст на конзоли.
  9. Вредност исписа операције а * б уз други текст на конзоли.
  10. Вредност исписа операције а / б уз други текст на конзоли.
  11. Вредност исписа а% б уз други текст на конзоли.
  12. Штампање вредности операције а ++ поред осталог текста на конзоли.
  13. Вредност исписа операције а-- заједно са другим текстом на конзоли.
  14. Функција маин () би требала вратити вриједност ако програм ради у реду.
  15. Крај тела главне () функције.

Релациони оператори

Ове врсте оператора врше упоређивање на операндима. На пример, можда ћете морати да знате који је операнд већи од другог или мањи од другог. То укључује:

Опис

Оператор Опис
== једнако оператору. Проверава једнакост две вредности операнда.
! = није једнако оператору Проверава једнакост две вредности операнда.
> сјајан од оператера Проверава да ли је вредност левог операнда већа од вредности десног операнда.
<мање од оператора. Проверава да ли је вредност левог операнда мања од вредности десног операнда.
> = већи или једнак оператору Проверава да ли је вредност левог операнда већа или једнака вредности десног операнда.
<= мање или једнако оператору. Проверава да ли је вредност левог операнда мања или једнака вредности десног операнда.

На пример:

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

Излаз:

Ево снимка екрана кода:

Објашњење кода:

  1. Укључујући иостреам датотеку заглавља у наш код. Омогућиће нам читање са конзоле и писање на њу.
  2. Укључујући простор имена стд како би користио његове класе и функције без позива.
  3. Позивање функције маин () унутар које треба додати логику програма. Ознака {означава почетак тела главне () функције.
  4. Проглашавање целобројне променљиве а и иницијализација на 11.
  5. Проглашавање целобројне променљиве б и иницијализација на 5.
  6. Штампање текста на конзоли у коме се наводе вредности променљивих а и б.
  7. Извођење аритметичке операције, а == б у изјави за доношење одлуке ако се зна да ли је тачна или нетачна. Ознака {означава почетак тела наредбе иф.
  8. Текст за испис на конзоли ако је операција а == б тачна. Ендл је кључна реч Ц ++ за крајњи ред. Притисне курсор да започне штампање у следећем реду. }} Означава крај тела изјаве иф.
  9. Други део горе наведене изјаве иф. У њему се наводи шта треба учинити ако је операција а == б нетачна.
  10. Текст за испис на конзоли ако је операција а == б нетачна. Ендл је кључна реч Ц ++ за крајњи ред. Притисне курсор да започне штампање у следећем реду. }} Означава крај тела наредбе елсе.
  11. Извођење аритметичке операције, а <б у изјави за доношење одлуке ако се зна да ли је тачна или нетачна. Ознака {означава почетак тела наредбе иф.
  12. Текст за испис на конзоли ако је операција а <б тачна. Ендл је кључна реч Ц ++ за крајњи ред. Притисне курсор да започне штампање у следећем реду. }} Означава крај тела изјаве иф.
  13. Други део горе наведене изјаве иф. У њему се наводи шта треба учинити ако је операција а <б нетачна.
  14. Текст за испис на конзоли ако је операција а <б нетачна. Ендл је кључна реч Ц ++ за крајњи ред. Притисне курсор да започне штампање у следећем реду. }} Означава крај тела наредбе елсе.
  15. Извођење аритметичке операције а> б у изјави доношења одлука ако се зна да ли је тачна или нетачна. Ознака {означава почетак тела наредбе иф.
  16. Текст за испис на конзоли ако је операција а> б тачна. Ендл је кључна реч Ц ++ за крајњи ред. Притисне курсор да започне штампање у следећем реду. }} Означава крај тела изјаве иф.
  17. Други део горе наведене изјаве иф. У њему се наводи шта треба учинити ако је операција а> б нетачна.
  18. Текст за испис на конзоли ако је операција а> б нетачна. Ендл је кључна реч Ц ++ за крајњи ред. Притисне курсор да започне штампање у следећем реду. }} Означава крај тела наредбе елсе.
  19. Функција маин () би требала вратити вриједност ако програм ради у реду.
  20. Крај тела главне () функције.

Логички оператори

Логички оператори комбинују два / више ограничења / услова. Логички оператори такође допуњују процену оригиналног стања које се разматра. То укључује:

Оператор Опис
&& логички оператер АНД. Услов је тачан ако оба операнда нису нула.
|| логички ИЛИ оператор. Услов је тачан ако је један од операнда различит од нуле.
! логички НЕ оператор. Преокреће логичко стање операнда. Ако је операнд тачан,! оператор чини лажним.

На пример:

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

Излаз:

Ево снимка екрана кода:

Објашњење кода:

  1. Укључујући иостреам датотеку заглавља у наш код. Омогућиће нам читање са конзоле и писање на њу.
  2. Укључујући простор имена стд како би користио његове класе и функције без позива.
  3. Позивање функције маин () унутар које треба додати логику програма.
  4. Ознака {означава почетак тела главне () функције.
  5. Проглашавање 4 целобројне променљиве а, б, ц и д и додељивање различитих вредности.
  6. Коришћење оператора && (АНД) унутар израза иф. Спаја два услова, вредност једнака је вредности б и, вредност а је већа од вредности б. Први услов је нетачан, други услов је тачан. Фалсе && труе је Фалсе, дакле, исход иф је фалсе.
  7. Текст за испис на конзоли ако је горе наведена изјава иф тачна. Ово се неће извршити.
  8. Део који треба извршити ако је горенаведена изјава иф нетачна.
  9. Текст за испис на конзоли ако је наредба иф нетачна. Ово ће бити извршено.
  10. Коришћење || (ИЛИ) оператор у наредби иф. Спаја два услова, вредност једнака је вредности б и, вредност а је већа од вредности б. Први услов је нетачан, други услов је тачан. Фалсе || труе је тачно, стога је исход иф истинит.
  11. Текст за испис на конзоли ако је горе наведена изјава тачна. Ово ће бити извршено.
  12. Део који треба извршити ако је горенаведена изјава иф нетачна.
  13. Текст за испис на конзоли ако је наредба иф нетачна. Ово се неће извршити.
  14. Провера да ли је вредност променљиве 0.
  15. Текст за испис на конзоли ако је горе наведена изјава иф тачна. Ово се неће извршити.
  16. Део који треба извршити ако је горенаведена изјава иф нетачна.
  17. Текст за испис на конзоли ако је наредба иф нетачна. Ово ће бити извршено.
  18. Функција маин () би требала вратити вриједност ако програм ради у реду.
  19. Крај тела главне () функције.

Бит-ови оператори

Битовни оператори изводе операције нивоа бита на операндима. Прво се оператери претварају у ниво битова, а затим се операције извршавају на операндима. Када се аритметичке операције попут сабирања и одузимања изводе на нивоу битова, резултати се могу постићи брже. То укључује:

Оператор Опис
& (у битовима И). Потребна су 2 броја (операнда), а затим се изводи И на сваком биту од два броја. Ако су оба 1, И враћа 1, иначе 0.
|. | (у битовима ИЛИ) Узима 2 броја (операнда), а затим изводи ИЛИ за сваки бит два броја. Враћа 1 ако је један од битова 1.
(битни КСОР) Узима 2 броја (операнда), а затим изводи КСОР на сваком биту од 2 броја. Враћа 1 ако су оба бита различита.
<< (лева смена) Узме два броја, а затим помера лево битове првог операнда. Други операнд одређује укупна места за померање.
>> (десна смена) Узме два броја, а затим помера битове првог операнда удесно. Други операнд одређује број места за премештање.
~ (у битовима НЕ). Узме број, а затим инвертира све његове битове.
#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;}

Излаз:

Ево снимка екрана кода:

Објашњење кода:

  1. Укључујући иостреам датотеку заглавља у наш код. Омогућиће нам читање са конзоле и писање на њу.
  2. Укључујући простор имена стд како би користио његове класе и функције без позива.
  3. Позивање функције маин () унутар које треба додати логику програма. Ознака {означава почетак тела главне () функције.
  4. Декларирање непотписане целобројне променљиве п и додељивање вредности 60, што је, 0011 1100 у бинарном облику.
  5. Проглашавање непотписане целобројне променљиве к и додељивање вредности 13, што је 0000 1101 у бинарном облику.
  6. Проглашавање целобројне променљиве з и иницијализација на 0.
  7. Извођење битовне операције & (АНД) над променљивим п и к и чување резултата у променљивој з.
  8. Испис резултата горе наведене операције на конзоли уз други текст.
  9. Извођење у битовима | (ИЛИ) операција на променљиве п и к и чување резултата у променљивој з.
  10. Испис резултата горе наведене операције на конзоли уз други текст.
  11. Извођење битовне (КСОР) операције над променљивим п и к и чување резултата у променљивој з.
  12. Испис резултата горе наведене операције на конзоли уз други текст.
  13. Извођење битовне ~ (НОТ) операције над променљивим п и к и чување резултата у променљивој з.
  14. Испис резултата горе наведене операције на конзоли уз други текст.
  15. Извођење операције померања улево на променљивој п и чување резултата у променљивој з.
  16. Испис резултата горе наведене операције на конзоли уз други текст.
  17. Извођење операције десног помака на променљивој п и чување резултата у променљивој з.
  18. Испис резултата горе наведене операције на конзоли уз други текст.
  19. Функција маин () би требала вратити вриједност ако програм ради у реду.
  20. Крај тела главне () функције.

Оператори доделе

Оператори доделе додељују вредности променљивим. Операнд / променљива се додаје на леву страну оператора, док се вредност додаје на десну страну оператора. Променљива и вредност морају припадати истом типу података, у супротном ће компајлер Ц ++ изазвати грешку. На пример:

x = 5;

У горњем примеру, к је променљива / операнд, = је оператор доделе, док је 5 вредност. Ево популарних оператора доделе у Ц ++:

Оператор Опис
= (оператер једноставног додељивања) Вредности с десне стране додељује променљивој на левој страни.
+ = (Додај и оператор додељивања) Прво додаје вредност левог операнда вредности десног операнда, а затим додељује резултат променљивој на левој страни.
- = (Одузми И оператор додељивања) Прво одузима вредност десног операнда од вредности левог операнда, а затим додељује резултат променљивој на левој страни.
* = (Оператор множења И додељивања) Прво множи вредност левог операнда са вредношћу десног операнда, а затим додељује резултат променљивој на левој страни.
/ = (Оператор за поделу и поделу) Прво дели вредност левог операнда са вредношћу десног операнда, а затим додељује резултат променљивој на левој страни.

На пример:

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

Излаз:

Ево снимка екрана кода:

Објашњење кода:

  1. Укључујући иостреам датотеку заглавља у наш код. Омогућиће нам читање са конзоле и писање на њу.
  2. Укључујући простор имена стд како би користио његове класе и функције без позива.
  3. Позивање функције маин () унутар које треба додати логику програма.
  4. Ознака {означава почетак тела главне () функције.
  5. Проглашавање целобројне променљиве к и додељивање вредности 5.
  6. Штампање вредности променљиве к уз други текст на конзоли. \ Н је нови редни знак. Премешта курсор у следећи ред приликом штампања.
  7. Додавање 5 вредности променљиве к и додељивање резултата променљивој к.
  8. Штампање вредности променљиве к на конзоли уз други текст.
  9. Одузимање вредности 5 од вредности к и додељивање резултата променљивој к.
  10. Штампање вредности променљиве к на конзоли уз други текст.
  11. Множење вредности променљиве к са 5 и додељивање резултата променљивој к.
  12. Штампање вредности променљиве к на конзоли уз други текст.
  13. Дељење вредности променљиве к са 5 и додељивање резултата променљивој к.
  14. Штампање вредности променљиве к на конзоли уз други текст.
  15. Функција маин () би требала вратити вриједност ако програм ради у реду.
  16. Крај тела главне () функције.

Мисц оператор

Размотримо друге операторе подржане од Ц ++:

сизеоф оператор

Овај оператор одређује величину променљиве. Помоћу оператора сизеоф одредите величину типа података. На пример:

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

Излаз:

Ево снимка екрана кода:

Објашњење кода:

  1. Укључујући иостреам датотеку заглавља у наш код. Омогућиће нам читање са конзоле и писање на њу.
  2. Укључујући простор имена стд како би користио његове класе и функције без позива.
  3. Позивање функције маин () унутар које треба додати логику програма. Ознака {означава почетак тела главне () функције.
  4. Утврђивање величине целобројног типа података помоћу сизеоф оператора и његово штампање уз други текст на конзоли.
  5. Утврђивање величине типа података карактера помоћу величине оператора и његово исписивање уз други текст на конзоли.
  6. Утврђивање величине флоат типа података помоћу сизеоф оператора и његово исписивање уз други текст на конзоли.
  7. Утврђивање величине флоат типа података помоћу сизеоф оператора и његово исписивање уз други текст на конзоли.
  8. Функција маин () би требала вратити вриједност ако програм ради у реду.
  9. Крај тела главне () функције.

Цомма Оператор

Оператор зареза (,) покреће извођење низа операција. Изражава први операнд и одбацује резултат. Затим процењује други операнд и враћа вредност и тип.

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

Излаз:

Ево снимка екрана кода:

Објашњење кода:

  1. Укључујући иостреам датотеку заглавља у наш код. Омогућиће нам читање са конзоле и писање на њу.
  2. Укључујући простор имена стд како би користио његове класе и функције без позива.
  3. Позивање функције маин () унутар које треба додати логику програма. Ознака {означава почетак тела главне () функције.
  4. Декларисање две целобројне променљиве к и и.
  5. Додељивање променљиве иа вредности 100.
  6. Повећавање вредности и и додељивање резултата променљивој к. Почиње са и на 100, а затим га увећава на 101 (и ++). Даље, и се додаје 10. Коначно, и, још увек на 101, додаје се 99, дајући 200. к је сада 200.
  7. Штампање вредности променљиве к на конзоли.
  8. Функција маин () би требала вратити вриједност ако програм ради у реду.
  9. Крај тела главне () функције.

Условни оператер

Овај оператер процењује стање и делује на основу резултата процене.

Синтакса:

Condition ? Expression2 : Expression3;

Параметри:

  • Услов је услов који треба оценити.
  • Израз1 је израз који треба извршити ако је услов тачан.
  • Израз3 је израз који треба извршити ако је услов нетачан.

На пример:

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

Излаз:

Ево снимка екрана кода:

Објашњење кода:

  1. Укључујући иостреам датотеку заглавља у наш код. Омогућиће нам читање са конзоле и писање на њу.
  2. Укључујући простор имена стд како би користио његове класе и функције без позива.
  3. Позивање функције маин () унутар које треба додати логику програма. Ознака {означава почетак тела главне () функције.
  4. Декларисање две целобројне променљиве а и б. Променљивој а додељена је вредност 1.
  5. Додељивање вредности променљивој б. Ако је променљива а мања од 10, б ће добити вредност 2, у супротном б ће добити вредност 5.
  6. Испис вредности променљиве б на конзоли уз други текст.
  7. Функција маин () би требала вратити вриједност ако програм ради у реду.
  8. Крај тела главне () функције.

Предност оператора

Једна операција може имати више оператора. У том случају, предност оператора одређује онај који се прво процењује.

Следећа листа показује предност оператора у Ц ++, са смањењем приоритета слева надесно:

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

Резиме:

  • Оператори су симболи за извођење логичких и аритметичких операција.
  • Аритметички оператори помажу нам у извршавању различитих аритметичких операција на операндима.
  • Релациони оператери помажу нам у извршавању различитих операција упоређивања операнда.
  • Логички оператори помажу нам у извршавању различитих логичких операција над операндима.
  • Битовни оператори помажу нам у вршењу битних операција на операндима.
  • Оператори додељивања помажу нам у извршавању различитих аритметичких операција над операндима.
  • Оператор сизеоф враћа величину променљиве или типа података.
  • Оператор зареза извршава низ операција.
  • Условни оператор процењује стање и делује на основу исхода.