什么是语句?
语句是以分号”;”做为结束标志。
编译器会忽略语句中的空格。
例:
;
该语句即使一行中只有一个单一的分号”;”,这也是一条语句,为空语句,作用是什么也不执行。
例:
x = 1;
该语句并不表示x等于1,而是表示将数字1赋给x。经过这一操作后x的值变成了1。而”==”才是等号。
例:
x = a + b;
该语句完成了两件事情,首先将a与b相加,然后再将结果赋给了x同时返回x的值。
赋值运算符右边是表达式。
什么是块?
块是以左大括号”{“开始,以右大括号”}“结束,中间允许存放多条语句。
例:
{
int a = 1, b = 2, x;
x = a + b;
}
这个块虽然有多条语句,但是它可以看做是一条语句。
什么是表达式?
凡是用于计算值的操作都可看作是表达式,表达式总能返回一个值。
例:
1+2;
该语句返回了1+2的和,即3,因此它是一个表达式。
例:
1;
该语句返回了1,因此它也可以看做表达式。
例:
double PI = 3.1415926;
PI;
第1行:将3.1415926赋给了PI同时返回PI的值,因此该行可看做是一个表达式。
第2行:直接返回了PI的值,因此第2行也算是一个表达式。
这两个表达式都是以分号”;”结尾的,所以它们都是语句。
例:
x = a + b;
y = x = a + b;
第1行:该语句将a+b相加,然后把结果赋给了x,同时返回x的值,因此这条句语也是一个表达式,由于该语句是个表达式,因此它可以作为表达式放到赋值运算符的右边,如等2行。
第2行:该语句将首先计算a+b的和,然后将结果赋给x,最后再将x的值赋给y。
赋值运算符右边是表达式。
例:
#include <iostream>
int main(){
int a = 5, b = 2, x = 3, y = 0;
y = x = a + b;
std::cout << "x:" << x << "\n" << "y:" << y << std::endl;
return 0;
}
输出:
x:7
y:7