c 中分号的应用详解 以及 什么时候该用{} 以及shell脚本中的分号

来源:互联网 发布:软件功能和技术特点 编辑:程序博客网 时间:2024/06/11 19:51

在c中只有在一个语句结束后才用分号,在c中分号表示语句结束,在这里要理解语句结束的含义,那么什么是语句的结束能就是这计算机已经完全做完了一件事,也就是他已经结束了这件事。注意在这的结束指的是程式运行和编译的语句结束

   这里的结束要根据c语言语法的设计原理来理解, c中的语句可以分为:

       1. 控制语句, 包括流程控制语句,分支语句等

       2. 表达式语句,就是一条完整的可执行语句,分号前的语句

       3. 空语句,也就是预留语句

       4.  符合语句,也就是{} 抱起来的语句,也就是好多条语句组合而成。

      在这里我们在了解一下{}的作用在c语言中,{}在c中是为了限定程序执行范围的。

这样我们就可以很容易的理解c总什么时候该用分号了,什么时候该用{} 了。下面我们详细的讲一下:

       1. 在c中我们的程式中的复合语句是可以嵌套的,而符合语句就是以些单一语句的集合,我们的函数就是一个符合语句,因此在函数调用时要加分号表示这个复合语句结束了。

        2. 而include define等他们不需要分号,因为他们只是要把某些语句块(也就是复合语句导入进来,也就是直接把他全部替换) 他们不属于语句,他们在预编译是就替换了(注意前面讲的语句结束表的是程序运行和编译的结束)

       3.   而一些函数的声明 变量声明等就是一个表达式语句,所以必需加分号。如struct 的声明等。

 因此要知道何处该加分号要知道这个语句结束的位置, if  else 结束语句就在他们的分支中因此{}后无需加分号,这里的{}就是一个程序块界限,函数也是一样的,但他与struct 的定义有区别,因为在c中类型和变量的声明是一条语句,因此在他的{}后边必须有分号。 而for(;;)语句的在第二个判断条件中所以{}后边没有分号,while()的语句结束也在判断哪里因此也无需在{}后加分号,而do{}while(); 就不同了他的最后结束在while后边一次要加上分号。如果还不了解就画出它的流程图就很容易名白了。   


shell中分号表示一个语句的分隔(也是指一条命令的分隔),shell脚本脚本运行的原理是把每一行命令一次读出来在shell解释器中运行,没有分号一行就是一条命令,如果有分号就以分号来分隔命令。

0 0
原创粉丝点击