欢迎拜访:雾里看山-CSDN博客
本篇主题:表达式语句、复合语句和空语句
发布时间:2024.12.26
隶属专栏:C语言
目录
- 1. 表达式语句
- 定义
- 作用
- 常见类型
- 赋值语句
- 函数调用语句
- 2. 复合语句
- 定义
- 作用
- 变量作用域
- 3. 空语句
- 定义
- 作用
1. 表达式语句
定义
表达式语句是在表达式后面加上分号构成的语句。表达式可以是算术表达式、关系表达式、逻辑表达式、赋值表达式等。例如, x = 5;
就是一个赋值表达式语句,它先计算赋值表达式 x = 5 的值(在这里这个值是5),然后将5赋值给变量 x ,分号表示这个操作是一个完整的语句。
作用
用于执行某种操作,如计算表达式的值并可能改变变量的值。例如, a + b;
这个表达式语句虽然计算了 a + b 的值,但是没有保存这个结果,如果想保存结果可以写成c=a + b;
,这里 c=a + b;
也是一个表达式语句,它把 a + b 的结果赋值给 c 。
常见类型
赋值语句
如 y = 3*x - 2;
,这是最常见的一种表达式语句,用于给变量赋值。
函数调用语句
例如 printf("Hello, World!")
; ,在这里 printf("Hello, World!")
是一个函数调用表达式,加上分号后就构成了函数调用语句,它的作用是调用 printf 函数输出指定的字符串。
2. 复合语句
定义
复合语句是用一对花括号{}
括起来的一组语句。例如:
{int a = 10;a++;printf("%d", a);
}
作用
- 可以将多条语句组合在一起,作为一个整体来处理。在控制结构(如 if 语句、 for 循环、 while 循环等)中,如果需要执行多条语句,就必须使用复合语句。例如:
if (x > 0) {y = 1;z = 2;
}
- 在这里,如果 x>0 成立,就会执行花括号内的两条语句
y = 1;
和z = 2;
。
变量作用域
复合语句内部定义的变量具有块作用域。例如在上面的复合语句中,变量 a 的作用域仅限于这个复合语句内部,在复合语句外部是无法访问 a 的。
3. 空语句
定义
空语句是只包含一个分号的语句,即 ;
。
作用
有时候在语法上需要一条语句,但实际上不需要执行任何操作,就可以使用空语句。
例如在 while 循环中,当循环体为空时可以使用空语句。
while (getchar()!='\n');
这个循环的目的是不断读取字符,直到读取到换行符 ‘\n’ 为止,循环体为空,所以用一个空语句来满足语法要求。不过,空语句如果使用不当,可能会导致逻辑错误,比如在不该省略代码的地方使用了空语句。