Оператори на C ++ с примери

Съдържание:

Anonim

Какво представляват операторите?

Операторът е символ, използван за извършване на операции върху операнди. Операторът управлява операнди. Операциите могат да бъдат математически или логически. В C ++ има различни видове оператори за извършване на различни операции.

Помислете за следната операция:

a = x + y;

В горното изявление x и y са операндите, докато + е оператор на добавяне. Когато C ++ компилаторът срещне горния израз, той ще добави x и y и ще съхрани резултата в променлива a.

В този урок за C ++ ще научите:

  • Какво представляват операторите?
  • Аритметични оператори
  • Релационни оператори
  • Логически оператори
  • Побитови оператори
  • Оператори за присвояване
  • Различен оператор
    • sizeof оператор
    • Запетая оператор
    • Условен оператор
  • Предимство на операторите

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

Те са типовете оператори, използвани за извършване на математически / аритметични операции. Те включват:

Оператор Описание
+ оператор за добавяне Добавя се към операндите.
- оператор за изваждане Изважда 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. Включване на заглавния файл на iostream в нашия код. Това ще ни позволи да четем от и да пишем на конзолата.
  2. Включително std пространството от имена, за да се използват класовете и функциите му, без да го извиквате.
  3. Извикване на функцията main (), в която трябва да се добави логиката на програмата. {Маркира начало на тялото на функцията main ().
  4. Деклариране на целочислена променлива a и инициализиране на 11.
  5. Деклариране на целочислена променлива b и инициализиране на 5.
  6. Деклариране на целочислена променлива c.
  7. Стойност за отпечатване на операция a + b заедно с друг текст на конзолата.
  8. Стойност за отпечатване на операция ab заедно с друг текст на конзолата.
  9. Стойност за отпечатване на операция a * b заедно с друг текст на конзолата.
  10. Стойност за отпечатване на операция a / b заедно с друг текст на конзолата.
  11. Стойност на отпечатване на операция a% b заедно с друг текст на конзолата.
  12. Отпечатване на стойност на операция a ++ заедно с друг текст на конзолата.
  13. Стойност на отпечатване на операция a-- заедно с другия текст на конзолата.
  14. Функцията main () трябва да върне стойност, ако програмата работи нормално.
  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. Включване на заглавния файл на iostream в нашия код. Това ще ни позволи да четем от и да пишем на конзолата.
  2. Включително std пространството от имена, за да се използват класовете и функциите му, без да го извиквате.
  3. Извикване на функцията main (), в която трябва да се добави логиката на програмата. {Маркира начало на тялото на функцията main ().
  4. Деклариране на целочислена променлива a и инициализиране на 11.
  5. Деклариране на целочислена променлива b и инициализиране на 5.
  6. Отпечатване на някакъв текст на конзолата, в който се посочват стойностите на променливи a и b.
  7. Извършване на аритметична операция, a == b в ако вземане на решение, за да разберете дали е вярно или не. {Отбелязва началото на тялото на оператора if.
  8. Текст за отпечатване на конзолата, ако операцията a == b е вярна. Endl е ключова дума C ++ за краен ред. Той натиска курсора, за да започне печат в следващия ред. The} отбелязва края на тялото на оператора if.
  9. Останалата част от горното твърдение if. В него се посочва какво да се прави, ако операцията a == b е невярна.
  10. Текст за отпечатване на конзолата, ако операцията a == b е невярна. Endl е ключова дума C ++ за краен ред. Той натиска курсора, за да започне печат в следващия ред. The} отбелязва края на тялото на оператора else.
  11. Извършване на аритметична операция, a
  12. Текст за отпечатване на конзолата, ако операцията a
  13. Останалата част от горното твърдение if. В него се посочва какво да се прави, ако операцията a
  14. Текст за отпечатване на конзолата, ако операцията a
  15. Извършване на аритметична операция a> b в оператор за вземане на решения, ако се знае дали е вярно или не. {Отбелязва началото на тялото на оператора if.
  16. Текст за отпечатване на конзолата, ако операцията a> b е вярна. Endl е ключова дума C ++ за краен ред. Той натиска курсора, за да започне печат в следващия ред. The} отбелязва края на тялото на оператора if.
  17. Останалата част от горното твърдение if. В него се посочва какво да се прави, ако операцията a> b е невярна.
  18. Текст за отпечатване на конзолата, ако операцията a> b е невярна. Endl е ключова дума C ++ за краен ред. Той натиска курсора, за да започне печат в следващия ред. The} отбелязва края на тялото на оператора else.
  19. Функцията main () трябва да върне стойност, ако програмата работи нормално.
  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. Включване на заглавния файл на iostream в нашия код. Това ще ни позволи да четем от и да пишем на конзолата.
  2. Включително std пространството от имена, за да се използват класовете и функциите му, без да го извиквате.
  3. Извикване на функцията main (), в която трябва да се добави логиката на програмата.
  4. {Маркира начало на тялото на функцията main ().
  5. Деклариране на 4 целочислени променливи a, b, c и d и присвояване на различни стойности.
  6. Използване на оператора && (И) в оператора if. Той обединява две условия, стойността на равно е на стойност на b и, стойността на a е по-голяма от стойността на b. Първото условие е невярно, второто условие е вярно. False && true е False, следователно резултатът от if е false.
  7. Текст за отпечатване на конзола, ако горното if твърдение е вярно. Това няма да бъде изпълнено.
  8. Част, която трябва да се изпълни, ако горното твърдение if е невярно.
  9. Текст за отпечатване на конзолата, ако операторът if е невярно. Това ще бъде изпълнено.
  10. Използване на || (ИЛИ) оператор в if оператор. Той обединява две условия, стойността на равно е на стойност на b и, стойността на a е по-голяма от стойността на b. Първото условие е невярно, второто условие е вярно. False || true е True, следователно резултатът от if е true.
  11. Текст за отпечатване на конзола, ако горното if твърдение е вярно. Това ще бъде изпълнено.
  12. Част, която трябва да се изпълни, ако горното твърдение if е невярно.
  13. Текст за отпечатване на конзолата, ако операторът if е невярно. Това няма да бъде изпълнено.
  14. Проверка дали стойността на променливата е 0.
  15. Текст за отпечатване на конзола, ако горното if твърдение е вярно. Това няма да бъде изпълнено.
  16. Част, която трябва да се изпълни, ако горното твърдение if е невярно.
  17. Текст за отпечатване на конзолата, ако операторът if е невярно. Това ще бъде изпълнено.
  18. Функцията main () трябва да върне стойност, ако програмата работи нормално.
  19. Край на тялото на основната () функция.

Побитови оператори

Побитовите оператори извършват операции на ниво бит върху операндите. Първо, операторите се преобразуват в битово ниво, след което се извършват операции върху операндите. Когато аритметичните операции като събиране и изваждане се извършват на битово ниво, резултатите могат да бъдат постигнати по-бързо. Те включват:

Оператор Описание
& (побитово И). Отнема 2 числа (операнди), след което изпълнява И на всеки бит от две числа. Ако и двете са 1, И връща 1, в противен случай 0.
| (побитово ИЛИ) Взема 2 числа (операнди), след което извършва ИЛИ на всеки бит от две числа. Той връща 1, ако един от битовете е 1.
(битовият XOR) Взема 2 числа (операнди), след което изпълнява XOR на всеки бит от 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. Включване на заглавния файл на iostream в нашия код. Това ще ни позволи да четем от и да пишем на конзолата.
  2. Включително std пространството от имена, за да се използват класовете и функциите му, без да го извиквате.
  3. Извикване на функцията main (), в която трябва да се добави логиката на програмата. {Маркира начало на тялото на функцията main ().
  4. Деклариране на неподписани целочислени променливи p и присвояване на стойност 60, което е 0011 1100 в двоично.
  5. Деклариране на неподписани целочислени променливи q и присвояване на стойност от 13, което е 0000 1101 в двоично.
  6. Деклариране на целочислена променлива z и инициализиране на 0.
  7. Извършване на битовата операция & (И) върху променливи p и q и съхраняване на резултата в променлива z.
  8. Отпечатване на резултата от горната операция на конзолата заедно с друг текст.
  9. Извършване побитово | (ИЛИ) операция с променливи p и q и съхраняване на резултата в променлива z.
  10. Отпечатване на резултата от горната операция на конзолата заедно с друг текст.
  11. Извършване на битовата операция (XOR) върху променливи p и q и съхраняване на резултата в променлива z.
  12. Отпечатване на резултата от горната операция на конзолата заедно с друг текст.
  13. Извършване на битовата операция ~ (NOT) върху променливи p и q и съхраняване на резултата в променлива z.
  14. Отпечатване на резултата от горната операция на конзолата заедно с друг текст.
  15. Извършване на операцията за лява смяна на променлива p и съхраняване на резултата в променлива z.
  16. Отпечатване на резултата от горната операция на конзолата заедно с друг текст.
  17. Извършване на операцията за дясна смяна на променлива p и съхраняване на резултата в променлива z.
  18. Отпечатване на резултата от горната операция на конзолата заедно с друг текст.
  19. Функцията main () трябва да върне стойност, ако програмата работи нормално.
  20. Край на тялото на основната () функция.

Оператори за присвояване

Операторите на присвояване присвояват стойности на променливи. Операндът / променливата се добавя от лявата страна на оператора, докато стойността се добавя от дясната страна на оператора. Променливата и стойността трябва да принадлежат към един и същи тип данни, в противен случай компилаторът на C ++ ще предизвика грешка. Например:

x = 5;

В горния пример x е променливата / операнда, = е операторът за присвояване, докато 5 е стойността. Ето популярните оператори за присвояване в C ++:

Оператор Описание
= (опростен оператор за присвояване) Той присвоява стойност отдясно на променлива отляво.
+ = (Добавяне и оператор за присвояване) Първо добавя стойност на левия операнд към стойността на десния операнд, след което присвоява резултат на променлива вляво.
- = (Изваждане и оператор за присвояване) Първо изважда стойността на десния операнд от стойността на левия операнд, след което присвоява резултат на променлива вляво.
* = (Умножение и оператор за присвояване) Първо умножава стойността на левия операнд със стойността на десния операнд, след което присвоява резултат на променлива вляво.
/ = (Оператор за разделяне И присвояване) Първо разделя стойността на левия операнд на стойността на десния операнд, след което присвоява резултат на променлива вляво.

Например:

#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. Включване на заглавния файл на iostream в нашия код. Това ще ни позволи да четем от и да пишем на конзолата.
  2. Включително std пространството от имена, за да се използват класовете и функциите му, без да го извиквате.
  3. Извикване на функцията main (), в която трябва да се добави логиката на програмата.
  4. {Маркира начало на тялото на функцията main ().
  5. Деклариране на цяло число променливи x и присвояване на стойност 5.
  6. Отпечатва стойност на променлива x заедно с друг текст на конзолата. \ N е нов ред знак. Той премества курсора на следващия ред при печат.
  7. Добавяне на 5 към стойността на променлива x и присвояване на резултат на променлива x.
  8. Стойност за отпечатване на променлива x на конзолата заедно с друг текст.
  9. Изваждане на 5 от стойността на x и присвояване на резултат на променлива x.
  10. Стойност за отпечатване на променлива x на конзолата заедно с друг текст.
  11. Умножаване на стойност на променлива x с 5 и присвояване на резултат на променлива x.
  12. Стойност за отпечатване на променлива x на конзолата заедно с друг текст.
  13. Разделяне на стойността на променлива x на 5 и присвояване на резултат на променлива x.
  14. Стойност за отпечатване на променлива x на конзолата заедно с друг текст.
  15. Функцията main () трябва да върне стойност, ако програмата работи нормално.
  16. Край на тялото на основната () функция.

Различен оператор

Нека обсъдим други оператори, поддържани от C ++:

sizeof оператор

Този оператор определя размера на променлива. Използвайте оператора sizeof, за да определите размера на даден тип данни. Например:

#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. Включване на заглавния файл на iostream в нашия код. Това ще ни позволи да четем от и да пишем на конзолата.
  2. Включително std пространството от имена, за да се използват класовете и функциите му, без да го извиквате.
  3. Извикване на функцията main (), в която трябва да се добави логиката на програмата. {Маркира начало на тялото на функцията main ().
  4. Определяне размера на целочисления тип данни с помощта на sizeof оператор и отпечатването му заедно с друг текст на конзолата.
  5. Определяне на размера на типа данни за символи с помощта на sizeof оператор и отпечатването му заедно с друг текст на конзолата.
  6. Определяне на размера на типа данни с поплавък с помощта на sizeof оператор и отпечатването му заедно с друг текст на конзолата
  7. Определяне на размера на типа данни с поплавък с помощта на sizeof оператор и отпечатването му заедно с друг текст на конзолата
  8. Функцията main () трябва да върне стойност, ако програмата работи нормално.
  9. Край на тялото на основната () функция.

Запетая оператор

Операторът със запетая (,) задейства изпълнението на последователност от операции. Той изразява първия операнд и отхвърля резултата. След това оценява втория операнд и връща стойността и типа.

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

Изход:

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

Обяснение на кода:

  1. Включване на заглавния файл на iostream в нашия код. Това ще ни позволи да четем от и да пишем на конзолата.
  2. Включително std пространството от имена, за да се използват класовете и функциите му, без да го извиквате.
  3. Извикване на функцията main (), в която трябва да се добави логиката на програмата. {Маркира начало на тялото на функцията main ().
  4. Деклариране на две целочислени променливи x и y.
  5. Присвояване на променливата ya стойност от 100.
  6. Увеличаване на стойността на y и присвояване на резултат на променлива x. Започва с y при 100, след което го увеличава до 101 (y ++). След това y се добавя към 10. Най-накрая y, все още на 101, се добавя към 99, давайки 200. x е 200.
  7. Стойност за отпечатване на променлива x на конзолата.
  8. Функцията main () трябва да върне стойност, ако програмата работи нормално.
  9. Край на тялото на основната () функция.

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

Този оператор оценява състояние и действа въз основа на резултата от оценката.

Синтаксис:

Condition ? Expression2 : Expression3;

Параметри:

  • Условието е условието, което трябва да бъде оценено.
  • Expression1 е изразът, който трябва да се изпълни, ако условието е вярно.
  • Expression3 е изразът, който трябва да се изпълни, ако условието е false.

Например:

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

Изход:

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

Обяснение на кода:

  1. Включване на заглавния файл на iostream в нашия код. Това ще ни позволи да четем от и да пишем на конзолата.
  2. Включително std пространството от имена, за да се използват класовете и функциите му, без да го извиквате.
  3. Извикване на функцията main (), в която трябва да се добави логиката на програмата. {Маркира начало на тялото на функцията main ().
  4. Деклариране на две целочислени променливи a и b. На променлива a е присвоена стойност 1.
  5. Присвояване на стойност на променлива b. Ако променлива a е по-малка от 10, на b ще бъде присвоена стойност 2, в противен случай на b ще бъде присвоена стойност 5.
  6. Стойност за отпечатване на променлива b на конзолата заедно с друг текст.
  7. Функцията main () трябва да върне стойност, ако програмата работи нормално.
  8. Край на тялото на основната () функция.

Предимство на операторите

Една операция може да има повече от един оператор. В този случай приоритетът на оператора определя първо оценения.

Следващият списък показва предимството на операторите в C ++, с намаляващ приоритет отляво надясно:

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

Резюме:

  • Операторите са символи за извършване на логически и аритметични операции.
  • Аритметичните оператори ни помагат да изпълняваме различни аритметични операции върху операндите.
  • Релационните оператори ни помагат да изпълняваме различни операции за сравнение на операндите.
  • Логическите оператори ни помагат да изпълняваме различни логически операции върху операндите.
  • Побитовите оператори ни помагат да изпълняваме побитови операции над операндите.
  • Операторите на присвояване ни помагат да изпълняваме различни аритметични операции над операндите.
  • Операторът sizeof връща размера на променлива или тип данни.
  • Операторът със запетая изпълнява последователност от операции.
  • Условният оператор оценява състояние и действа въз основа на резултата.