C条件句

C条件语句简介:if / else和switch

任何编程语言都可以为程序员提供执行选择的能力。

在某些情况下,我们想做X,在其他情况下,我们要做Y。

我们要检查数据,并根据该数据的状态进行选择。

C为我们提供了两种方法。

首先是if陈述,及其else助手,第二个是switch陈述。

if

if语句,您可以检查条件为真,然后执行大括号中提供的代码块:

int a = 1;

if (a == 1) { /* do something */ }

您可以附加一个else如果原始条件为假,则执行另一个块;

int a = 1;

if (a == 2) { /* do something / } else { / do something else */ }

提防错误的一种常见来源-始终使用比较运算符==在比较中,而不是赋值运算符=,否则if除非参数为0,例如,如果您这样做:

int a = 0;

if (a = 0) { /* never invoked */ }

为什么会这样?因为条件检查将查找布尔结果(比较的结果),并且0数字始终等于错误值。其他所有情况都是正确的,包括负数。

你可以有多个else通过堆叠多个块if声明:

int a = 1;

if (a == 2) { /* do something / } else if (a == 1) { / do something else / } else { / do something else again */ }

switch

如果您需要执行过多的if / else / if块来执行检查,也许是因为您需要检查变量的确切值,那么switch对您非常有用。

您可以提供一个变量作为条件,以及一系列case您期望的每个值的入口点:

int a = 1;

switch (a) { case 0: /* do something / break; case 1: / do something else / break; case 2: / do something else */ break; }

我们需要一个break在每种情况下都使用关键字,以避免在前一种情况结束时执行下一种情况。这种“级联”效果在某些创造性方面可能很有用。

您可以在末尾添加一个“包罗万象”的标签,标记为default

int a = 1;

switch (a) { case 0: /* do something / break; case 1: / do something else / break; case 2: / do something else / break; default: / handle all the other cases */ break; }

免费下载我的C手册


更多clang教程: