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

out

ffff

چهار عملگر / , * , – , +  تقریباً روی همه نوع داده‌های استاندارد موجود در زبان C به کار می‌رود. در صورتی که عملگر “/” روی مقادیر صحیح یا کاراکتر به کار رود، جزء اعشار حذف می‌شود. مثلاً مقدار ۱۰/۳برابر ۳ خواهد بود یعنی فقط جزء صحیح آن درنظر گرفته خواهد شد و قسمت اعشار بریده می‌شود.
عملگر % باقیمانده تقسیم را به دست می‌آورد و هر دو عملوند آن باید مقدار صحیح باشد. مثلاً مقدار ۱۰%۳ برابر یک خواهد بود. یعنی باقیمانده تقسیم ۱۰ بر ۳ مساوی یک است.
دو عملگر ++ و — در سایر زبانهای برنامه‌نویسی وجود ندارند. عملگر ++ یک واحد به عملوند خود اضافه می‌کند و عملگر — یک واحد از عملوند خود کم می‌کند. هر دو عملگر تک‌عملوندی‌اند. درواقع دو دستور+ +a ;  و  a+ + ;معادل این دستورند: a = a + 1 ;.همچنین دو دستور – –a ;  و  a– – ;معادل این دستورند a = a – ۱ ; .
توجه داشته باشید سرعت عمل دو عملگریکانی ++ و — از سرعت عمل عملگر انتساب (یعنی عملگر =) بالاتر است.
 مثال ۴ـ۵ به خروجی قطعه برنامه زیر توجه کنید.
a = 5 ;
printf (“%d %d\n”, a , a+ +) ;
printf (“%d”, a) ;
خروجی برنامه
۵    ۵
۶

 مثال ۴ـ۶ به خروجی قطعه برنامه زیر توجه کنید.
a = 5 ;
printf (“%d %d\n”, a , + +a) ;
printf (“%d”, a) ;
خروجی برنامه
۶    ۵
۶

با توجه به دو مثال بالا ملاحظه می‌‌کنید که از نظر کاربرد دو دستور + +a ; و a+ + ; با یکدیگر تفاوت دارند؛ یعنی، در مثال اول با اجرای دستور printf اولی مقدار a (که مساوی ۵ است) چاپ می‌شود و سپس دوباره همان مقدار a چاپ می‌گردد و پس از انجام عمل چاپ مقدار آن یک واحد افزایش می‌یابد. با اجرای دستور printf دوم کنترل به آغاز خط جدید انتقال می‌یابد، سپس مقدار a که اکنون برابر ۶ است چاپ می‌شود. در مثال دوم با اجرای دستور printf اولی مقدار a (که مساوی ۵ است) چاپ و سپس دستور + +a اجرا می‌شود؛ یعنی، به a یک واحد افزوده می‌شود بعد مقدار آن که برابر ۶ شده است چاپ می‌شود. دستور printf دوم در اینجا نیز مشابه مثال اول عمل می‌کند. عملکرد دو دستور –a و a– نیز به همین روش است.

ترتیب تقدم این گروه از عملگرها در جدول ۴ـ۵ نشان داده شده است.

bbm

در مورد عملگرهای هم‌تقدم ترتیب تقدم از چپ به راست است. درصورت وجود پرانتز، تقدم پرانتز از تقدم همه عملگرها بالاتر است.