عملیات شرطی ساده را عملگر شرطی انجام میدهد. این عملگر سه عملوند دارد و شکل کلی آن در جدول نشان داده شده است
به عبارت دیگر شکل کلی عبارت شرطی به صورت زیر است.
exp1 ? exp2: exp3
که در آن ابتدا عبارت اول (exp1) ارزیابی میشود، اگر نتیجه آن درست یا true (یعنی مقدار آن غیرصفر) باشد، عبارت دوم (exp2) ارزیابی میشود و مقدار عبارت شرطی برابر نتیجه ارزیابی عبارت دوم خواهد بود. ولی چنانچه عبارت اول نادرست یا false (یعنی ارزش آن برابر صفر) باشد، عبارت سوم (exp3) ارزیابی میشود و مقدار عبارت شرطی برابر نتیجه ارزیابی عبارت سوم خواهد بود.
در واقع عملگر شرطی، شکل کوتاه دستور کنترلی if…else است. برای مثال عبارت
if (x<y)
z = 2 ;
else
z = 3 ;
را میتوان بهاین صورت نوشت.
z = ((x<y) ? 2: ۳) ;
اولین عملوند، بررسی شرط است که باید از نوع اسکالر باشد. عملوندهای دوم و سوم نتیجه نهایی عبارت را نشان میدهند که برحسب مقدار عملوند اول، فقط یکی از آن دو انتخاب میگردد. عملوندهای دوم و سوم ممکن است از هر نوع دادهای باشند تا جایی که دو نوع، براساس قوانین طبیعی تبدیل، سازگار باشند. برای مثال اگر عملوند دوم int و عملوند سوم double باشد، نتیجه بدون توجه به اینکه کدام انتخاب خواهد شد double خواهد بود (یعنی اگر int انتخاب شود، به double تبدیل خواهد شد).