其他分享
首页 > 其他分享> > C语言分号的用法

C语言分号的用法

作者:互联网

分号的使用是初学者往往容易犯错的地方,要么少了分号,要么多了分号。少了分号多见于定义变量和给变量赋值的时候,而多了分号则多见于分支结构和循环结构中。如程序段1、2、3所示。

   
   //程序段1,在定义变量和赋值时少了分号
   1 int a,b
   2 a=20;
   3 b=30

   
  //程序段2,分支结构中多了分号
   1 if(a>b);
   2  printf("%d",a);

   
//程序段3,循环结构中多了分号

   1 while(a<50);
   2  a++;
  3 for(i=1;i<10;i++);
   4  b++;
  
   那么,究竟在什么时候该使用分号,什么时候不该使用分号呢?许多资料列举了使用分号的不同情况,但是未能触及本质,也给学习者带来了记忆上的负担,有些书籍则避而不谈,只是通过学习者对示例程序的模仿而形成的“语感”来决定是否使用分号。
   其实,只需弄清分号在C语言中的含义,什么时候使用分号的问题就迎刃而解了。在C语言中,分号表示语句的结尾,意即一个分号表示着一句具有完整意义的C语句的完结。而什么是“具有完整意义的C语句”呢?即是意思明确,说完了一件事情,完成了一个操作的C语句。
   如程序段1中的“b=30”,表示将30赋值给变量b,意思完整,操作完成,因此需要加上分号。而程序段2本意是想表达如果a大于b,那么打印a,而示例的写法却告诉计算机“if(a>b)”是一个完整意义的C语句了,完成了一个操作了。这在语法上是没有错,而却与程序设计者的初衷相去甚远,此时的含义已经变成了如果a大于b,那么什么都不做(因为分号前没有任何操作)。程序段3也是如此。
   循环结构还有一种do-while语句,其结构形式如下所示。  
  do{
       程序段S
     }while(表达式P);
   这处while后的分号是必不可少的,为何?因为此处已经将完整的意思表达清楚,如果不加分号,那么计算机就会将这部分与此后的代码误认为是同一句语句,造成表意不清的错误。
   其实,C语言的语法都有其设计的原理和背景,如果能多了解这些原理和背景,那么语法就不再是需要死记的凭空生出来的规则,而是自然的逻辑演绎的结果。

标签:语句,分号,30,用法,while,C语言,程序段
来源: https://www.cnblogs.com/leader-one/p/12556795.html