C语言复合语句的使用
- 提问者网友:我是我
- 2021-04-21 14:28
- 五星知识达人网友:有你哪都是故乡
- 2021-04-21 15:21
把多个语句用括号{}括起来组成的一个语句称复合语句。 在程序中应把复合语句看成是单条语句,而不是多条语句,例如
{
x=y+z;
a=b+c;
printf("%d%d",x,a);
}
是一条复合语句。复合语句内的各条语句都必须以分号“;”结尾;此外,在括号“}”外不能加分号。
所以一般复合语句用于 要执行某段特殊功能的程序
比如for语句 if语句 while 语句 甚至 某些函数等
- 1楼网友:青尢
- 2021-04-21 15:46
复合语句一般用在函数的定义,或局部变量的定义。
——在C中是有不少的括号,如{},[],()等,确实会让一些初入门的朋友不解。
——在VB等一些语言中同一个()号会有不同的作用,它可以用于组合若干条语句形成功能块,可以用做数组的下标等,而在C中括号的分工较为明显。
——{}号是用于将若干条语句组合在一起形成一种功能块,这种由若干条语句组合而成的语句就叫复合语句。
——复合语句之间用{}分隔,而它内部的各条语句还是需要以分号";"结束。
——复合语句是允许嵌套的,也是就是在{}中的{}也是复合语句。
——复合语句在程序运行时,{}中的各行单语句是依次顺序执行的。
——C语言中可以将复合语句视为一条单语句,也就是说在语法上等同于一条单语句。
——对于一个函数而言,函数体就是一个复合语句,也许大家会因此知道复合语句中不单可以用可执行语句组成,还可以用变量定义语句组成。
——要注意的是在复合语句中所定义的变量,称为局部变量,所谓局部变量就是指它的有效范围只在复合语句中,而函数也算是复合语句,所以函数内定义的变量有效范围也只在函数内部。
举个例子吧
#include <stdio.h> void pp(void) { printf(" {}里是函数体的定义,这里是复合语句,执行顺序是按条执行\n "); }
void main(void) //main的两个{}中也算复合语句,{}中定义的变量,只能在当前的{}中起作用 {
pp(); //复合语句嵌套使用 { unsigned int a=0,b=3; printf("a= %d, b= %d \n",a,b); } unsigned int a=5,b=4; //因为前面定义过的,只在其自己的{}中起作用,所以不会影响到后面其{}之外的定义了。 printf("a= %d, b= %d \n",a,b); }