Any piece of program code in a high-level language which, when (if) its execution terminates, returns a value. In most programming languages, expressions consist of constants, variables, operators, functions, and parentheses. The operators and functions may be built-in or user defined. Languages differ on how expressions of different types may be combined - with some combination of explicit casts and implicit coercions.
The syntax of expressions generally follows conventional mathematical notation, though some languages such as Lisp or Forth have their own idiosyncratic syntax.