Operator warunkowy (ang. conditional operator; ternary operator) – konstrukcja języków programowania, w których odróżnia się wyrażenia od instrukcji, będący formą instrukcji warunkowej wyrażoną za pomocą operatora trójargumentowego; bywa ona instrukcją wyrażeniową. Umożliwia ona sprawdzenie warunku na poziomie wyrażenia, co w pewnym stopniu zaciera rozróżnienie między wyrażeniami a instrukcjami, dzięki czemu przy jej rozsądnym używaniu kod źródłowy może zyskać na zwięzłości i prostocie.
thumb|300px|Działanie operatora warunkowego w C++ W językach C, C++, Java, JavaScript, C#, Perl, PHP (od wersji 5.3) i Ruby operator ten ma postać: warunek ? wyrażenie1 : wyrażenie2
W języku Python ma on nieznacznie inną składnięPython umożliwia stosowanie w wyrażeniach listowych (ang. list comprehension) obok tej konstrukcji podobnej do niej konstrukcji: wyrażenie if warunek, która pełni wtedy jednak rolę zwykłej instrukcji warunkowej.: wyrażenie1 if warunek else wyrażenie2 naśladującą język naturalny (w tym wypadku język angielski).
Działanie operatora polega na sprawdzeniu wartości logicznej wyrażenia warunek i zwrócenie na jej podstawie jednej z wartości: wyrażenie1, gdy jest warunek jest prawdziwy i wyrażenie2, gdy jest warunek jest fałszywy;