复合语句的概念和用法
在部分时候,语句必须要与其他语句相结合才能实现应有的功能。放在花括号 {} 里的代码叫做复合语句。
例如:
int a,b;
if (a == b)
... ... /* 这一部分代码配合 if 函数使用,因此放在花括号内。 */
}
为了增加程序的可读性,在需要时可以把用于实现同一个功能的代码放在花括号里。例如:
int a=1,b=2,c;
if (a < b) {
printf("a = b");
{
c = a
printf("%d",c)
}
}
这种用法一般没有必要,可以结合适当空行和注释来指明。
左值和右值与多元操作符
例如:
int a,b,c,d;
c = a + b;
//d = c = a + b; /* 这是一种不好的习惯! */
不要使用注去的写法!此处可理解为
d = c;
c = a + b;
而应该理解为
d = a + b;
c = a + b;
这可能会导致错误,因此请极力避免此写法。
此处加号 + 和等号 = 是操作符,且是二元操作符。因为它们都有两个被操作的数,即等号左边的 c 和右边的 a 。因它们所处的位置,所以操作符左边的部分称为左值,右边的称为右值。
在所有操作符中,同一个符号可能有不同的意义,例如:
c = a * b /* 取 a 与 b 的乘积 */
c = * (a) /* 取 a 的指针 */
第一种写法有两个操作数,为二元操作符,所以为乘法运算符;第二种有一个操作数,为一元操作符,所以为指针操作符。