In der Programmierung wird innerhalb von Anweisungen zwischen L-Wert- und R-Wert-Ausdrücken unterschieden. Das L bedeutet, dass ein L-Wert-Ausdruck auf der linken Seite einer Zuweisung stehen kann. R-Wert-Ausdrücke dürfen nur auf der rechten Seite von Zuweisungen vorkommen. Ein Ausdruck innerhalb einer Anweisung besitzt einen L-Wert, wenn der Ausdruck auf einen Speicherort verweist. Ein L-Wert zeigt somit auf adressierbaren Speicher. Ausdrücke, die keinen L-Wert besitzen, sind R-Wert-Ausdrücke. Alle Zuweisungen mit L-Wert-Ausdrücken haben zugleich R-Wert-Ausdrücke, aber nicht jeder R-Wert-Ausdruck ist Teil einer Zuweisung.
L-Wert-Ausdrücke sind häufig Bezeichner von Datentypen, können jedoch auch als Funktionsaufrufe oder als Dereferenzierung (dt. Rückverweisung) von Zeigern oder Feldern vorkommen.