++C

++C — تقدم عملگرها (Precedence)

آخرین بروزرسانی: 1404/07/27

تقدم عملگرها (Precedence)

وقتی یک عبارت چند عملگر دارد، ترتیب محاسبات مهم می شود. به این ترتیب «تقدم عملگرها» می گوییم؛ یعنی قانون اینکه کدام بخش اول حساب می شود.

تقدم عملگرها یعنی چه؟

C++ از قانون ترتیب عملیات پیروی می کند. مثلا ضرب قبل از جمع انجام می شود. اگر ترتیب دیگری می خواهی، از پرانتز استفاده کن.

مثال پایه

int result1 = 2 + 3 * 4; // 2 + 12 = 14
int result2 = (2 + 3) * 4; // 5 * 4 = 20
cout << result1 << "\n";
cout << result2 << "\n";

چرا این اتفاق می افتد؟

در عبارت 2 + 3 * 4، ضرب جلوتر است. بنابراین 3*4 اول حساب می شود. ولی با پرانتز، جمع اول می شود و نتیجه عوض می شود.

نکته: همیشه برای تأکید روی ترتیب دلخواه، از پرانتز ( ) استفاده کن. کد هم خواناتر می شود.

ترتیب عملیات از بیشترین تا کمترین

  • () — پرانتز
  • * ، / ، % — ضرب، تقسیم، باقیمانده
  • + ، - — جمع، تفریق
  • > ، < ، >= ، <= — مقایسه
  • == ، != — برابری
  • && — «و» منطقی
  • || — «یا» منطقی
  • = — انتساب

نمونه دیگر: چپ به راست

جمع و تفریق، بدون پرانتز، از چپ به راست انجام می شوند.

int result1 = 10 - 2 + 5; // (10 - 2) + 5 = 13
int result2 = 10 - (2 + 5); // 10 - 7 = 3
cout << result1 << "\n";
cout << result2 << "\n";

یادآوری: پرانتز همیشه اول محاسبه می شود. پس با پرانتز، ترتیب را دقیق کنترل کن.

گام های عملی

  1. یک عبارت با چند عملگر بساز.
  2. پیش بینی کن خروجی چه می شود.
  3. با پرانتز ترتیب را تغییر بده و مقایسه کن.

لینک ها و ادامه مطالعه

صفحات مرتبط: عملگرهای منطقی، عملگرهای مقایسه ای، و برای تأکید روی مفهوم، همین صفحه تقدم عملگرها. منابع بیرونی: W3Schools: Operator Precedence، cppreference: operator precedence.

جمع بندی سریع

  • ضرب/تقسیم قبل از جمع/تفریق هستند.
  • پرانتز همیشه اول حساب می شود.
  • بدون پرانتز، جمع/تفریق چپ به راست اند.
  • برای خوانایی، پرانتز فراموش نشود.