若我们需要在一些情况下执行语句1,而在其它情况下执行语句2,这就需要使用条件语句来完成,在C语言中,我们常用两种条件选择方式,第一种方式是带 else 的 if 语句,另一种方式是 switch 语句。
1 条件语句
1 if
在 if 语句中,若条件为 true,则执行花括号里的语句:
int a = 257;
if(a == 257){
/*执行语句1*/
}
若条件判断为 false,可以追加一个 else 块以运行不同的语句。
int a = 257;
if(a == 257)
{
/*执行语句1*/
}
elss
{
/*执行语句2*/
}
注意,我们要区分比较运算符 == 和赋值运算符 = 。
我们也可以将多个 if 语句进行堆叠操作,比如:
int a = 257;
if(a == 257){
/*执行语句1*/
}elss if (a == 3){
/*执行语句2*/
}elss{
/*执行语句3*/
}
2 switch
当我们需要使用非常多的 if/else/if 语句时,程序就会显得很冗余,此时,我们可以引入 switch 语句来简化程序。即,我们可以提供一个变量作为条件,然后为期望的每个值使用一个 case 入口点。
int b = 1;
switch (b){
case 0:
/*执行语句1*/
break;
case 1:
/*执行语句2*/
break;
case 2:
/*执行语句3*/
break;
default:
/*处理其它所有情况*/
break;
当一个case语句执行完毕后,为避免直接执行下一个case语句,我们需要在每个case块的末尾使用break关键字。另外,我们可以在末尾添加一个“捕获所有的”case,名为default。
2 循环
在C语言中,我们可以常用三种循环来在数组上进行迭代,它们分别是:For循环、while循环以及do while循环,它们在用法及定义上又不尽相同。
1 For循环
第一种执行循环是 for 循环,它可能也是最常见的循环,使用时,我们可以先定义循环的规则,然后提供反复执行的那个代码块。
for (int i = 0; i <= 10; i++)
{
/*反复执行的语句*/
}
以上代码块包括初始条件 int i = 0,测试 i <= 10以及增长 i++。i 是被定义的循环变量,变量 i 的值被初始化为 0,并且第一次迭代执行完毕后。执行 i++,递增为 1,所有的循环会一直重复,直到 i 的值达到数字 10。
同时,我们也可以自定义循环变量的变化方式及范围,如下所示:
for (int i = 100; i > 10; i--)
{
/*反复执行的语句*/
}
for (int i = 0; i < 100; i = i + 10)
{
/*反复执行的语句*/
}
2 while循环
使用 while 时,你只需要检查条件,而不用在循环开始时预先定义所有的循环数据:
while ( i < 10)
{
/*执行语句*/
}
若仅有以上语句,若循环变量的初始化值已定义,除非在循环内的某些地方增加变量 i 的值,否则这个循环会变成一个无限循环。
对上述程序进行修改:
int i = 0;
while ( i < 10)
{
/*执行语句*/
i++;
}
当 i 的值不满足小于10时,此时循环结束。
3 do while循环
当我们需要多次执行某个代码块时,我们可以使用 do while 来完成,它在某种程度上和 while 循环非常类似,但是会有些许不同:
int i = 0;
do {
/*执行语句*/
i++;
}while ( i < 10);
注意,条件检查在最后, 只要 i 小于 10,我们都将会重复这个代码块。
4 使用 break 跳出循环
在所有的 C 循环内,不管循环的条件设置得如何,我们都有一种在某个时间立即跳出循环的方法。
这是通过 break 关键字来完成的.