短絡評価とは、プログラムの実行速度とパフォーマンスを向上させるための効果的な論理演算子の使用方法です。
短絡評価演算子は、論理積（AND）と論理和（OR）の両方に存在します。論理積演算子で左辺がfalse（偽）と評価された場合、式全体の値はfalseであるため、右辺は評価されず、実行されません。同様に、論理和演算子の左辺がtrue（真）に評価された場合、式全体の値はtrueであるため、右辺は評価されず、実行されません。
排他的論理和（XOR）のような一部の論理演算では、両方のオペランドが必要なため、短絡評価演算を行うことはできません。
遅延評価を持つLisp、Perl、Haskellのような言語では、通常の論理演算子も短絡評価演算子として機能します。一方、Ada、Java、Delphiなどの他の言語では、短絡評価演算子と通常の論理演算子の両方を持っています。
短絡評価演算子は、制御構造であり、単純な算術演算子ではありません。コンピュータプログラミングの世界では、正確で堅牢なコードを作成するために、短絡評価の適切な使用が必要不可欠です。
__TOC__
以下のようなコードがあったとします。
if (a != NULL && *a == 'x') {
    // ...
}
左辺の a != NULL が false の場合は右辺の *a == 'x' の評価が不要であるため、短絡評価を用いることで効率的に処理を行うことができます。
同様に、以下のようなコードでも短絡評価が使われます。
 
この場合、左辺の p != NULL が false の場合は、右辺の q != NULL および *p == *q の評価が不要であるため、処理を早期に終了することができます。
短絡評価は、プログラムの実行速度を向上させることができるだけでなく、エラーを防ぐことにも役立ちます。例えば、以下のようなコードがあったとします。
 
if (p != NULL && q != NULL && *p == *q) {
    // ...
}
左辺の p != NULL が true の場合は右辺の strlen(p) > 0 の評価が行われず、p が NULL の場合は strlen() の呼び出しを行わないため、セグメンテーションフォルトなどのエラーを防ぐことができます。