C最简单的语句是“空语句”,它本身只包含一个分号。
C不存在专门的“赋值语句”,那么它如何进行赋值呢?答案是赋值就是一种操作,就像加减法一样,所以赋值就在表达式内进行。
x=y+3;
ch=getchar();
实际上是表达式语句,而不是赋值语句。
警告:y+3;
getchar();
当执行上面语句时,表达式求值,但结果不保存在任何地方,不具备任何效果的语句,第2条语句读取输入中的下一个字符,但接着便将其丢弃。
printf("Hello world!");
这是一个函数,函数返回一个值,但printf的返回值是打印的字符数,通常并不关心这个,弃之不理。表达式的值被忽略,printf执行的是有用的工作,这类作用成为“副作用”。
还有一个例子:
a++;
++是自增操作符,使变量a+1,还有其他的副作用操作符。
C并不具备布尔类型,而是用整型代替。整型值0或1;而不是布尔型的真或假。
else子句从属于最靠近它的不完整的if语句。
while中
break语句用于永久终止循环。执行完break语句之后,执行流下一条执行的语句就是循环正常结束后应该执行的那条语句。
continue语句,用于永久终止当前的循环。执行完continue语句之后,执行流接下来就是重新测试表达式的值,决定是否继续执行语句。
for语句
break语句立即退出循环,而continue语句把控制流直接转到调整部分。
do while语句
循环体至少执行一次。当需要循环体至少执行一次是,选择do。
switch语句
首先计算参数的值,然后,执行流转到语句列表中期case标签值与参数值相等的语句。从这条语句,知道语句列表的结束也就是switch语句的底部,它们之间的语句均被执行。有一种方法可以纠正——就是break语句。
如果参数均不匹配怎么办?可以增加一条default语句,这个语句后面的语句将被执行。每个switch语句中只能出现一次default语句。
goto语句跳转到固定的代码段,必须在你希望的语句前面加上标签。一般情况下应避免使用goto语句。