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语言的语法都有其设计的原理和背景,如果能多了解这些原理和背景,那么语法就不再是需要死记的凭空生出来的规则,而是自然的逻辑演绎的结果。
  • 48
    点赞
  • 85
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值