这里是C++语句的形式化定义:
声明 表达式可选;
{ 语句列表可选 }
try { 语句列表可选 } 处理模块列表
case 常量表达式 : 语句
default : 语句
break;
continue;
return 表达式可选;
goto 标识符;
标识符 : 语句
选择语句
循环语句
if( 条件 ) 语句
if( 条件 ) 语句 else 语句
switch( 条件 ) 语句
while( 条件 ) 语句
do 语句 while ( 条件 )
for( for初始化语句; 条件可选; 表达式可选) 语句
for( for初始化声明 : 表达式) 语句
语句 语句列表可选
表达式
类型修饰符 声明符 = 表达式
类型修饰符 声明符{表达式}
处理模块 处理模块列表可选
catch( 表达式声明 ){ 语句列表可选 }
分号本身也是一条语句,即空语句(empty statement)。
“花括号”({ })括起来的一个可能为空的语句序列称为块(block)或者复合语句(compound statement)。块中声明的名字的作用域到块的末尾就结束了(6.3.4节)。
声明(declaration)是一条语句,没有赋值语句或过程调用的语句;赋值和函数调用不是语句,它们是表达式。
for初始化语句(for-init-statement)要么是声明,要么是一条表达式语句(expression-statement),它们都以分号结束。
for初始化声明(for-init-declaration)必须是一个未初始化变量的声明。
try语句块(try-block)的作用是处理异常,我们将在13.5节介绍它。