我试图辨别 C++ 中标点符号使用背后的逻辑,尤其是分号。这是我到目前为止的进展,有一些问题:
- 声明将类型、类或对象引入范围,例如
int i;
- 表达式是一系列运算符和操作数,例如
a=i+1; i++;
语句是表达式或声明。
()
括号将表达式的部分分组并包围测试,例如if(a==b)
,while(a==b)
,switch(myTestVal)
和for(int i=0;i<5;i++)
{}
大括号为数组、枚举和结构定义范围和组语句以及初始化列表,但为什么不是类!此外,它们需要在 switch 语句中包含其主体,以便 break 知道从哪里继续。,
逗号分隔列表中的项目,例如参数列表或数组初始化列表。:
冒号用在标签之后,例如在 switch 语句的 case 部分之后,并用于分隔语句的各个部分,例如在三级运算符 '?' 中。然而
;
,不是:
用来分隔for
语句的各个部分,例如for(i=0;i<5;i++)
——为什么会这样?;
分号终止语句(表达式和声明),除非它们由 终止)
,或者:
例如在 test:(a==(c+b*d))
或参数列表中。
请注意,}
这不算是终止语句,因此在}
函数或类声明的末尾;
必须使用 a,因为整个声明是一个语句,由许多其他语句组成。但是,函数或类的实现不是声明(因为函数或类必须已经被声明);因此它不算作陈述,因此在结束;
后没有结束}
最后一个奇怪的地方:为什么 a;
之后需要 a do...while
?