Les deux opérateurs booléens binaires ont la particularité d'être séquentiels, c'est-à-dire de donner lieu à une évaluation de gauche à droite, la sous-expression de droite n'étant pas toujours évaluée :
&&
15#15 est faux si 14#14 est faux, et vrai si
14#14 et 15#15 sont vrais : 15#15 n'est pas évalué si 14#14 est faux
||
15#15 est vrai si 14#14 est vrai, et faux si
14#14 et 15#15 sont faux : 15#15 n'est pas évalué si 14#14 est vrai
if (x != 0 && 1/x < epsilon) { ... } if (i > N || t[i] > A) { ... } // t de taille N
Une autre expression dont l'évaluation est séquentielle est l'expression conditionnelle : l'évaluation de 14#14 ? 15#15 : 16#16 commence par évaluer 14#14 ; si sa valeur est vraie, alors 15#15 est évalué (et 16#16 ne l'est pas), sinon 16#16 est évalué (et 15#15 ne l'est pas).