آموزش #C – بخش ششم | عملگرها در سی شارپ

انواع عملگرها در #C

با سلام و درود به دوست‌داران زبان سی‌شارپ. در بخش قبلی آموزش به شرح کاراکترهای خاص و تبدیل انواع به یکدیگر پرداختیم. در این بخش به آموزش یک مبحث ساده اما مهم در زبان‌های برنامه نویسی می‌پردازیم و آن هم عملگرها هستند. همانطور که می‌دانید، ما در این سری از آموزش‌ها به آموزش زبان برنامه‌نویسی #C پرداخته‌ایم؛ در این قسمت نیز به بررسی عملگرها در سی شارپ خواهیم پرداخت. با ما همراه باشید.

عملگرها در سی شارپ

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

  1. عملگرهای منطقی
  2. عملگرهای ریاضی
  3. عملگرهای بیتی
  4. عملگرهای مقایسه‌ای
  5. عملگرهای تخصیصی

باید توجه داشت که عملگرها در سی شارپ سه نوع هستند.

  1. عملگرهایی که به یک عملوند نیاز دارند (Unary).
  2. عملگرهایی که به دو عملوند نیاز دارند (Binary).
  3. عملگرهایی که به سه عملوند نیاز دارند (Ternary).

عملگرهای ریاضی

عملگرهای ریاضی

به مثال‌های زیر توجه کنید.

int number1 = 23;
int number2 = 15;

Console.WriteLine( number1 + number2 );
Console.WriteLine( number1 - number2 );
Console.WriteLine( number1 * number2 );
Console.WriteLine( number1 / number2 );
Console.WriteLine( number1 % number2 );
Console.WriteLine( +number1 );
Console.WriteLine( -number1 );
Console.WriteLine( number1++ );
Console.WriteLine( number1-- );
number1 + number2 = 38
number1 - number2 = 8
number1 * number2 = 345
number1 / number2 = 1
number1 % number2 = 8
+number1 = 23
-number1 = -23
number1++ = 24
number1-- = 22

عملگر + اگر دارای عملوندهایی از نوع رشته باشد باعث الحاق رشته‌ها به یکدیگر می‌شود. عملگرهای ++ و — هم می‌توانند قبل از متغیر و هم بعد از متغیر بیایند. به مثال زیر دقت کنید:

int num1 = 10;
num2 = num1++;
Console.WriteLine(num2);
num1 = 10;
num2 = ++num1;
Console.WriteLine(num2);
10
11

عملگرهای مقایسه‌ای

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

عملگرهای مقایسه‌ای

به مثال‌های زیر توجه کنید:

int number1 = 23;
int number2 = 15;

Console.WriteLine( number1 == number2 );
Console.WriteLine( number1 != number2 );
Console.WriteLine( number1 > number2 );
Console.WriteLine( number1 < number2 );
Console.WriteLine( number1 >= number2 );
Console.WriteLine( number1 <= number2 );
number1 == number2 = False
number1 != number2 = True
number1 > number2 = True
number1 < number2 = False
number1 >= number2 = True
number1 <= number2 = False

عملگرهای منطقی

عملوند های عمگلرهای منطقی باید از نوع بولین باشند و حاصل هم از نوع بولی است.

عملگرهای منطقی

نمونه کدهای زیر نشانگر این نوع از عملگرها در سی شارپ هستند:

bool num1 = true;
bool num2 = false;

Console.WriteLine(num1 && num2);
Console.WriteLine(num1 || num2);
Console.WriteLine(!num1);
false
true
false

عملگرهای تخصیصی

این نوع از عملگرها مقدار متغیر سمت راست خود را در متغیر سمت چپ قرار می‌دهند.

عملگرهای تخصیصی

همانطور که در مثال‌های زیر می‌بینید، حاصل تمام عبارات بالا در متغیر سمت چپی ریخته می‌شود.

int num1 = 30;
int num2 = 15;
Console.WriteLine(num1 += num2);
Console.WriteLine(num1 -= num2);
Console.WriteLine(num1 *= num2);
Console.WriteLine(num1 /= num2);
Console.WriteLine(num1 %= num2);
num1 += num2 = 38
num1 -= num2 = 15
num1 *= num2 = 450
num1 /= num2 = 2
num1 %= num2 = 0

عملگرهای بیتی

این عملگرها به ما اجازه‌ی دستکاری داده متغیرها در سطح بیت را می‌دهند.

عملگرهای بیتی

در مثال‌های زیر، کاربرد این نوع از عملگرها در سی شارپ را مشاهده می‌کنید:

int num1 = 5;   // num1 = 0101
int num2 = 4;   // num2 = 0100

Console.WriteLine(num1 & num2); 
Console.WriteLine(num1 | num2);
Console.WriteLine(num1 ^ num2);
num1 & num2 = 4 // Result = 0100
num1 | num2 = 5 // Result = 0101
num1 ^ num2 = 1 // Result = 0001

تقدم عملگرها

عملگرها در سی‌شارپ دارای حق تقدم هستند. و در محاسباتی که بیش از دو عملوند حضور دارند، حق تقدم عملگرها مشخص می‌کند ابتدا کدام عملگر اثر کند.

تقدم عملگرها

برای ایجاد خوانایی بیشتر در عباراتی که دارای چندین عملگر هستند می‌توان از پرانتز استفاده کرد. در قطعه کد زیر این موضوع به وضوح نشان داده شده:

int number = 0;
number = (1 + 9) * (3 % 2) % (8 - (6 * 9));
Console.WriteLine(number);
10

دوستان این بخش هم به پایان رسید. تا بخش‌ بعدی و آموزشی دیگر شما را به پروردگار می‌سپارم. برای استفاده از سایر آموزش‌ها با رزدینو همراه باشید.

یک پاسخ

  1. Int a=4;
    Int b=9;
    Console.WriteLine(a+++b-a*b-a++)

    Result :-37

    طبق گفته ی شما پلاس پلاس بعد از متغیر به صورت پیشوندی الویت کمتری داره و آخر سر اضافه می‌شود
    در حالی که توی این مسئله
    ابتدا پلاس پلاس اولی درنظر گرفته شده … ولی پلاس پلاس دومی درنظر گرفته نشده
    تفاوت در چه چیزی هست که توی اینجا پلاس پلاس در نظر گرفته شده؟؟؟

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *