Statement (programming)

From Wikipedia, the free encyclopedia

Jump to: navigation, search

In computer programming a statement can be thought of as the smallest standalone element of an imperative programming language. A program is formed by a sequence of one or more statements. A statement will have internal components (e.g., expressions).

Many languages (e.g. C) make a distinction between statements and definitions, with a statement only containing executable code and a definition declaring an identifier. A distinction can also be made between simple and compound statements; the latter may contain statements as components.

Contents

[edit] Kinds of statements

The following are the major generic kinds of statements with examples in typical imperative languages:

[edit] Simple statements

[edit] Compound statements

  • block: begin integer NUMBER; WRITE('Number? '); READLN(NUMBER); A:= A*NUMBER end
  • if-statement: if A > 3 then WRITELN(A) else WRITELN("NOT YET"); end
  • switch-statement: switch (c) { case 'a': alert(); break; case 'q': quit(); break; }
  • while-loop: while NOT EOF DO begin READLN end
  • do-loop: do { computation(&i); } while (i < 10);
  • for-loop: for A:=1 to 10 do WRITELN(A) end

[edit] Expressions

In most languages, statements contrast with expressions in that statements do not return results and are executed solely for their side effects, while expressions always return a result and often do not have side effects at all. Among imperative programming languages, Algol 68 is one of the few in which a statement can return a result. In languages which mix imperative and functional styles, such as the Lisp family, the distinction between expressions and statements is not made: even expressions executed in sequential contexts solely for their side effects and whose return values are not used are considered 'expressions'. In purely functional programming, there are no statements; everything is an expression.

[edit] Programming languages

The syntax and semantics of statements is specified by the definition of the programming language.

Most programming languages do not allow self-modifying code. That is, most programming languages do not allow new statements to be created during program execution (Snobol 4 is a language that does) or existing statements to be modified (Lisp is an exception).

[edit] See also