if ( a > b )
printf("something\n");
if(condition) {
printf("something1\n");
printf("something2\n");
}
3.4 Control Structures
Normally, statements in a program are executed one after the other in the order in which
they’re written. This is called sequential execution. Various C statements we’ll soon discuss
enable you to specify that the next statement to be executed may be other than the
next one in sequence. This is called transfer of control.
...
...
Bohm and Jacopini’s work demonstrated that all programs could be written in terms
of only three control structures, namely the sequence structure, the selection structure
and the repetition structure. The sequence structure is built into C. Unless directed otherwise,
the computer executes C statements one after the other in the order in which
they’re written. The flowchart segment of Fig. 3.1 illustrates C’s sequence structure.
3.5 The if Selection Statement
Selection statements are used to choose among alternative courses of action. For example,
suppose the passing grade on an exam is 60. The pseudocode statement
if (expr) // start of if-statement
{ // start of block
int n = 1; // declaration
printf("%d\n", n); // expression statement
} // end of block, end of if-statement
statement - инструкция
Слово statement обычно переводят на русский термином "оператор". Таким образом, мы и привыкли, что if, while, case и т.п. – это операторы. К сожалению, в С++ этот перевод приводит к трудностям, поскольку имеется термин operator - словом "оператор" естественно было бы переводить его. Из возможных и встречавшихся в русской литературе переводов statement (утверждение, предложение, инструкция) в переводе книжки Струструпа, посвященной третьему стандарту С++, принят термин "инструкция".
expression statement
инструкция-выражение
Инструкция, которая одновременно является и выражением. Примеры: присваивание, вызов функции.
operator - оператор
Встроенная операция языка, такая, как сложение. (Также перегруженная операция, задаваемая функцией-членом класса.-> к подмножеству Си не относится)
printf("something\n")
, без точки с запятой -- это expression, а именно вызов функции) и "statement" (например if (expression) statement
-- это statement), а иногда expression может быть statement'ом (например, printf("something\n");
, с точкой с запятой), это называется "expression statement".
Как называть по-человечески строчки:if ( a > b ) printf("something\n");
if
с единственной инструкцией-выражением.А такое:if(condition) { printf("something1\n"); printf("something2\n"); }
if
с составной инструкцией содержащей две инструкции-выражения.