空语句
C最简单的语句就是空语句,它本身只包含一个分号。它所适用的场合就是语法要求出现一条完整的语句,但并不需要它执行任何任务。
表达式语句
C不存在专门的“赋值语句”赋值就是一种操作,就像加法和减法一样,所以赋值就在表达式内进行。
你只要在表达式后面加上一个分号,就可以把表达式转变成语句。所以,下面两个表达式
1: x = y + 3;
2: ch = getchar();
实际上是表达式语句,而不是赋值语句。
警告:
理解这点非常重要,因为像下面这样的语句也是完全合法的:
1: y + 3;
2: getchar();
当这些语句被执行时,表达式被求值,但它们的结果并不保存于任何地方,因为它们并未使用复制操作。因此,第1条语句并不具备任何效果,而第2条语句则读取输入中的下一个字符,但接着便将其丢弃。
for语句
for语句的语法
1: for( expression1; expression2; expression3 )
2: statement
其中三tatement称为循环体。expression1为初始化部分,它只在循环开始时执行一次。expression2称为条件部分,它在循环体每次执行前都要执行一次。expression3称为调整部分,它在循环体每次执行完毕,在条件部分即将执行前执行。所有三个表达式都是可选的,都可以省略。
switch语句
语法
1: switch( expression )
2: statement
贯穿于语句列表之间的是一个或多个case标签,形势如下:
1: case constant-expression:
每个case标签必须具有一个唯一的值。常量表达式(constant-expression)是指在编译期间进行求值得表达式,它不能是任何变量。这里不同寻常之处是case标签并不把语句列表划分为几个部分,它们只是确定语句列表的进入点。
总结
在while和do循环中,下一次循环开始的位置是表达式的测试部分。但在for循环中,下一次循环开始的位置是调整部分。
C并不具备任何输入输出语句;I/O是通过调用库函数来实现的。C也不具备异常处理语句,它们是通过调用库函数来完成的。