آموزش سی شارپ C# قسمت چهارم

1396/7/19 محمد احمدی 9847

جلسات قبل در مورد متغیر ها و کار با اونها صحبت کردیم . جلسه قبلی هم به ساخت یک ماشین حساب خیلی ساده و دارای چهار عمل اصلی پرداختیم .

 اگه سوالی در مورد جلسات قبل هست بفرمایید که بحث این جلسه رو شروع کنیم .

توی این جلسه میخوایم با تعریف عملوند و توضیح عملگر ها آشنا بشیم . توی جلسه قبل بصورت غیر رسمی با چهار عملگر اصلی آشنا شدیم ( جمع , تفریق , ضرب , تقسیم )

امشب قراره عملگرهای بالا رو بصورت کاملتر توضیح بدم و البته چند تا عملگر جدید هم بگیم !!

خب احتمالا خیلی ها این توضیحات رو میدونن , ولی برای جامع تر شدن آموزش خدمتتون ارائه میدم

یک معادله ساده مثل 2+2=4 رو در نظر بگیرید . توی این معادله , اعداد 2 و عدد 4 عملوند هستن . یعنی چیزی که عملیات ریاضی یا .... روش انجام میشه . یا توی مثال x = (y*z) + 5 متغیرهای x , y , z و عدد 5 عملوند هستن .

ولی بجز عملوند ها یک طرف دیگه هم هست . توی مثال بالا جمع و ضرب ( + , * ) عملگر هستن . یعنی ابزاری که ما با استفاده از اونها عملیات محاسباتی انجام میدیم

ما چند نوع عملگر داریم که با یک دوتا مورد اولی این جلسهآشنا میشیم و دوتا مورد بعدی رو توی جلسات بعدی توضیح میدم .

  1. عملگرهای محاسباتی
  2. عملگرهای ترکیبی
  3. عملگرهای رابطه ای ( مقایسه ای )
  4. عملگرهای منطقی و بیتی

عملگرهای محاسباتی اصلی در زبان سی شارپ ( و تقریبا همه زبان های خانواده سی ) :

  1. جمع              :         +
  2. تفریق             :         -
  3. ضرب             :         *
  4. تقسیم            :         /
  5. باقی مانده تقسیم         :         %

و :

  1. یک واحد افزایش         :         ++
  2. یک واحد کاهش :         --

دقتکنیدکهعملگرهیکواحدافزایشدوتاجمع + هستسرهمهستوعملگریکواحدکاهشهمدوتامنفی - هست ( برایاینگفتمکهیکباآندرلایناشتباهگرفتهنشه ! )

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

int x = 20 % 3;

توی مثال بالا , اول 20 رو تقسیم بر 3 میکنه . هر عددی که به عنوان باقیمانده اضافه بیاد ( که توی مثال بالا عدد 2 اضافه میاد ) رو به عنوان حاصل برمیگردونه . پس نتیجه میشه x = 2 !

اماعملگرهای ++ و -- :

این عملگرها کار یک واحد افزایش و کاهش رو انجام میدن و حتما باید قبل و یا بعد از یک متغیر و بصورت چسبیده به متغیر استفاده بشن  . تقاوت این عملگرها با   5 تا  عملگر اول اینه که حتما باید یک متغیر باشه که حاصل توی اون ریخته بشه و دو طرف عملگر هم باید عدد یا متغیر باشه یعنی یک همچین چیزی  x = 2 + 2

.ولی توی  ++  و  --  هم میتونیم مثل روش قبل کار کنیم و هم میتونیم به دو روش دیگه ازشون استفاده کنیم .

روش اول رو مثال میزنم :

int x = 1 , y = 1;

x++;

++x;

y--;

--y;

 

MessageBox.Show( “x = “ + x.ToStrong() + “ y = “ + y.ToString);

 

اگر دستورات بالا رو اجرا کنید میبینید که x برابر 3 هست و y برابر -1 میشه .

در واقع هرکدوم از دستورات x++ و ++x با دستور x = x +1 یکی هستن و همینطور هرکدوم از دستوراتy-- و --y هم با y = y - 1 یکی هست

روش دوم رو هم با مثال نشون میدم :

int x = 1 , y = 0 , z = 0;

y = x++;

x = 1;

z = ++x;

 

MessageBox.Show(“x = “ + x.ToStrong() + “ . y = “ + y.ToString + “ . z = “ + z.ToStrong() ,”I am new Programmer :) “);

 

 

نکته مهم : دقت کنید که ترتیب خوندن محاسبات ریاضی ابتدا بسته به اولیت عملگر ( که بعدا مفصل توضیح میدم ) و بعد از چپ به راست هست .

توی دستورات بالا اول سه تا متغیر رو تعریف کردیم . و توی خط بعدی , اول مقدار متغیر x که 1 هست رو داخل متغیر y کپی کردیم ( یعنی y برابر 1 ) . بعد از این یک واحد به متغیر x اضافه کردیم ( یعنی x برابر 2 ) . توی خط بعد دوباره به متغیر x عدد 1 رو نسبت دادیم .

حالا تفاوتی که خط بعدی با خط قبلی داره اینجاست : توی این خط اول یک واحد به x اضافه میکنی ( یعنی x برابر میشه با 1 ) و بعد نتیجه رو به z نسبت میدیم ( یعنی z میشه 2 ) .

اگه آخرین خط رو اجرا کنید نتیجه باید به شکل زیر باشه :

x = 2 . y = 1 . z = 2

در واقع وقتی که ++ و -- به تنهایی استفاده میشن هیچ فرقی نداره که کدوم طرف متغیر قرار بگیرن . ولی وقتی که توی یک معادله ساده ( مثل بالا ) یا معادله های پیچیده تر قرار میگیرن , اگه عملگر قبل از متغیر باشه اول متغیر رو تغیر میده و بعد توی معادله ازش استفاده میکنه ؛ و اگه بعد از متغیر باشه اول مقدار متغیر رو توی معادله حساب میکنه و بعد یک واحد بهش اضافه میکنه .

حالا سوال اینجاست که این عملگرها چه فرقی با عملگرهای معمولی مثل + و - دارن !!

جواب اینه که سرعت پردازش ++ و -- توسط سی پی یو بیشتر از سرعت پردازش عملگرهای معمولی هست !

یک تفاوت دیگه هم داره اونم اینکه راحت تر هست و سرعت برنامه نویسی رو زیاد میکنه !

بیشتر از این توضیح نمیدم ( بعدا باهاشون زیاد کار میکنیم ). پس اگه سوالی پیش اومد حتما بپرسید .

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

  1. +=
  2. -=
  3. *=
  4. /=
  5. %=

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

روش استفاده از اونها به این شکل هست که بطور معمول یک متغیر برای انتساب ( قبل از عملگر ) نوشته میشه و یک عدد یا متغیر هم بعد از عملگر نوشته میشه

کارشون هم اینه که مقدار متغیری که برای انتساب گذاشته شده رو با مقدار متغیر که بعد از عملگر نوشته شده رو با اون جمع , تفریق ضرب و .... ( بسته به دستور نوشته شده ) میکنه و نتیجه رو توی متغیر اول قرار میده

مثال :

int x =2 , y = 1 , z = 10;

y += x;

z /= x;

MessageBox.Show ( “y = “ + y.ToString() + “  .  z = “ + z.ToString() );

 

نتیجه خیلی واضح هست .

 

( y = y + x ) , ( z = z / x )

یعنی y = 3,z = 5

 

آیکن دانلود دانلود PDF قسمت چهارم آموزش سی شارپ C#

کانال تلگرام