الگوریتم اول

لطفا صبر کنید...

عملگرها در ++C

عملگرها (Operators) در ++C نمادهایی هستند که برای انجام عملیات روی متغیرها و مقادیر استفاده می‌شوند.

۱. عملگرهای حسابی (Arithmetic Operators)

این عملگرها برای انجام عملیات ریاضی استفاده می‌شوند.

عملگر توضیح مثال
+ جمع a + b
- تفریق a - b
* ضرب a * b
/ تقسیم a / b
% باقیمانده تقسیم a % b
int a = 10, b = 3;
cout << (a + b) << endl; // خروجی: 13
cout << (a % b) << endl; // خروجی: 1

۲. عملگرهای رابطه‌ای (Relational Operators)

این عملگرها برای مقایسه‌ی مقادیر استفاده می‌شوند و مقدار true یا false برمی‌گردانند.

عملگر توضیح مثال
== برابر است با a == b
!= نابرابر است با a != b
> بزرگ‌تر از a > b
< کوچک‌تر از a < b
>= بزرگ‌تر یا مساوی a >= b
<= کوچک‌تر یا مساوی a <= b
cout << (10 > 5) << endl;  // خروجی: 1 (true)
cout << (10 == 5) << endl; // خروجی: 0 (false)

۳. عملگرهای منطقی (Logical Operators)

این عملگرها برای بررسی شرایط منطقی استفاده می‌شوند.

عملگر توضیح مثال
&& و (AND) (a > 5 && b < 10)
`   `
! نقیض (NOT) !(a > 5)
bool x = true, y = false;
cout << (x && y) << endl; // خروجی: 0 (false)
cout << (!x) << endl; // خروجی: 0 (false)

۴. عملگرهای انتساب (Assignment Operators)

این عملگرها برای مقداردهی به متغیرها استفاده می‌شوند.

عملگر توضیح مثال
= مقداردهی ساده a = b
+= جمع و انتساب a += b (معادل a = a + b)
-= تفریق و انتساب a -= b
*= ضرب و انتساب a *= b
/= تقسیم و انتساب a /= b
%= باقیمانده و انتساب a %= b
int a = 5;
a += 3; // a = 8
cout << a << endl;

۵. عملگرهای بیتی (Bitwise Operators)

این عملگرها روی بیت‌های عدد کار می‌کنند.

عملگر توضیح مثال
& AND بیتی a & b
` ` OR بیتی
^ XOR بیتی a ^ b
~ NOT بیتی ~a
<< شیفت چپ a << 2
>> شیفت راست a >> 2
int a = 5, b = 3;  
cout << (a & b) << endl; // خروجی: 1
cout << (a << 1) << endl; // خروجی: 10 (شیفت چپ)

۶. عملگرهای افزایش و کاهش (Increment & Decrement Operators)

عملگر توضیح مثال
++ افزایش یک واحدی a++ یا ++a
-- کاهش یک واحدی a-- یا --a
int x = 5;
cout << x++ << endl; // خروجی: 5
cout << ++x << endl; // خروجی: 7

x++ مقدار اولیه را نمایش می‌دهد و بعد مقدار را افزایش می‌دهد، ولی ++x ابتدا مقدار را افزایش می‌دهد و سپس نمایش می‌دهد.

۷. عملگر شرطی سه‌تایی (Ternary Operator)

این عملگر به صورت شرط ? مقدار_اگر_درست : مقدار_اگر_غلط است.

int a = 10, b = 20;
int min = (a < b) ? a : b;
cout << min << endl; // خروجی: 10

۸. عملگرهای اشاره‌گر (Pointer Operators)

عملگر توضیح مثال
* مقدار اشاره‌گر *ptr
& آدرس متغیر &var
int x = 10;
int* ptr = &x;
cout << *ptr << endl; // خروجی: 10

۹. عملگرهای تبدیل نوع (Type Casting Operators)

این عملگرها برای تبدیل نوع داده‌ها استفاده می‌شوند.

عملگر توضیح مثال
(type) تبدیل صریح int x = (int)3.14;
static_cast<type> تبدیل ایمن در زمان کامپایل int x = static_cast<int>(3.14);
reinterpret_cast<type> تبدیل آدرس‌ها و اشاره‌گرها char* p = reinterpret_cast<char*>(ptr);
double pi = 3.14;
int x = static_cast<int>(pi);
cout << x << endl; // خروجی: 3

۱۰. عملگرهای عضویت کلاس (Class Member Operators)

عملگر توضیح مثال
. دسترسی به عضو کلاس obj.var
-> دسترسی از طریق اشاره‌گر ptr->var
class MyClass {
public:
    int x = 10;
};

MyClass obj;
cout << obj.x << endl; // خروجی: 10

۱۱. عملگر sizeof

برای دریافت اندازه‌ی یک متغیر یا نوع داده استفاده می‌شود.

cout << sizeof(int) << endl; // خروجی: 4 (در اکثر سیستم‌ها)

۱۲. عملگر new و delete (مدیریت حافظه پویا)

برای تخصیص و آزادسازی حافظه در زمان اجرا استفاده می‌شوند.

int* ptr = new int(10); // تخصیص حافظه
cout << *ptr << endl;  
delete ptr; // آزادسازی حافظه