پرش به محتوا

زبان برنامه نویسی سی/آشنایی با علائم و عملگرها

ویکی‎کتاب، کتابخانهٔ آزاد

عملگرها در زبان C جزء ارکان و عناصر اصلی برنامه‌نویسی هستند که متشکل از یک یا چند کاراکتر هستند . برخی از عملگرها با انجام عملیات بر روی داده‌ها باعث پردازش بر روی آنها می‌شوند و برخی دیگر به پردازش داده‌ها کمک می‌کنند . به بعضی از عملگرها در زبان C عملگر اطلاق نمی‌شود اما در واقع عملگر هستند مثل پرانتز که یک جفت پرانتز باز و بسته به تفکیک و خواناتر شدن عبارت‌ها برای کامپایلر کمک می‌کنند . یا مثلاً آکولاد که یک جفت آکولاد باز و بسته ، یک بلوک را ایجاد می‌کند . دقت داشته باشید که هر عملگر ، عملوندهای خاص خودش را دارد . عملوند به داده‌ای می‌گویند که عملگر بر روی آن ، عملیاتی را انجام می‌دهد . مثلاً مقدار عملوند a را که یک متغیر صحیح است با کمک عملگر جمع + با مقدار عملوند b که یک متغیر صحیح است ، جمع می‌کنیم . به هر قسمت از برنامه که داده‌ها به همراه عملگرها نوشته شوند یک عبارت می‌گوئیم . عبارت‌ها ممکن است طولانی باشند که برای اینکه کامپایلر آن را همان گونه بخواند و به اجرا بگذارد که منظور ماست ، باید عبارت را با اولویتی که توسط استاندارد C تعیین شده و یا کامپایلر به دلخواه به کار بسته بنویسیم . در پایان این فصل ، پس از نوشتن و تشریح عملگرها ، به اولویت خوانده شدن و به کار بسته شدن عبارت‌ها می‌پردازیم . دقت کنید که برخی از اولویت‌ها توسط استاندارد تعیین نشده‌اند و کامپایلرها مجازند تا هر گونه که خواستند آن را به کار ببندند . دقت کنید که عملگرها نمی‌توانند بر روی تابع‌ها و داده‌های پوچ ، عمل کنند ( به اسثنای برخی از کامپایلرها که اجازه برخی از عمل‌ها را بر روی اشاره‌گرهای پوچ می‌دهند )

یک مثال ساده می‌نویسیم تا بهتر مفهوم عبارت و عملگرها و عملوند‌ها را متوجه شوید :


( 2 * ( ( 3 + 10 ) - ( 2 * 6 ) ) )


در مثال بالا ، کل جمله یک عبارت حساب می‌شود که ( 6 * 2 ) و ( 10 + 3 ) و همچنین 2 زیر عبارت‌ها هستند . و علامت‌های * و + و − عملگرهای محاسباتی ضرب ، جمع و تفریق هستند ( به ترتیب ) که بر روی عملوندهای 3 ، 10 ، 2 و 6 عمل می‌کنند . عبارت‌ها از چپ به راست خوانده می‌شوند و عملیات ضرب بر عملیات جمع اولویت دارد و اولویت بالاتر از آن نیز پرانتزهای باز و بسته هستند که عبارت‌ها را قسمت بندی می‌کنند . پاسخ عبارت بالا عدد 2 است . ۳ با ۱۰ می‌شود ۱۳ و ۲ ضربدر ۶ می‌شود ۱۲ و سپس ۱۲ از ۱۳ کم می‌شود که عدد ۱ باقی می‌ماند که در نهایت ضربدر عدد ۲ می‌شود و پاسخ نهایی ما عدد ۲ است که این عبارت مقدار 2 را به متغیری که مقدار آن را می‌خواند بازمی‌گرداند . اگر پرانتز‌ها را نمی‌نوشتیم ، کامپایلر آن را به گونه دیگری می‌خواند . قوانین اولویت بسیار مشابه قوانین اولویت عبارت‌ها در علم ریاضی است و در ادامه فصل ، ضمن معرفی عملگرها ، به اولویت خوانده شدن آنها می‌پردازیم