A statement specifies one or more actions to be performed, such as assigning a value to a variable, passing control to a function, or jumping to another statement. The sum total of all a program's statements determines what the program does.
Jumps and loops are statements that control the flow of the program. Except when those control statements result in jumps, statements are executed sequentially; that is, in the order in which they appear in the program.
An expression statement is an expression followed by a semicolon:
In an expression statement, the expression—whether an assignment or another operation—is evaluated for the sake of its side effects. Following are some typical expression statements :
y = x; // An assignment sum = a + b; // Calculation and assignment ++x; printf("Hello, world\n"); // A function call
The type and value of the expression are irrelevant, and are discarded before the next statement is executed. For this reason, statements such as the following are syntactically correct, but not very useful:
100; y < x;
If a statement is a function call and the return value of the
function is not needed, it can be discarded explicitly by casting the
char name; /* ... */ (void)strcpy( name, "Jim" ); // Explicitly discard // the return value.
A statement can also consist of a semicolon alone: this is called a null statement . Null statements are necessary in cases where syntax requires a statement, ...