循环
while循环
结构:
while (判断条件)
{循环内容} //若条件为真即关系表达式的值为非0则循环内容一次并且再次进行一次条件检测
for循环
结构:
for (初始化条件;测试条件;更新条件)
{循环内容}
初始化条件在循环开始时候进行一次
测试条件在每次循环开始前进行一次检测,若检测结果为真则进行一次循环
更新条件在每次循环结束时候进行一次
do while循环
结构
do
{循环内容}
while
测试条件;
当执行到do while指令时会直接执行一次循环,之后若检测条件为真则再进行一次循环(跟while循环一样)
递归
一个函数调用自己称为递归
递归的基本原理:
1.每一级函数调用都有自己的变量,如例子中函数的每一级的n都各不相同
2.当一级函数终止后,递归函数逐级返回,如例子中函数先从第一级到第四级,返回时候从第四级到第一级
3.递归一定有一个可以跳出递归的条件
例子:
void digui(int n)
{
printf("%d",n);
if(n<4)
digui(n+1);
printf("%d\n",n)
}
若有
digui(1);
则输出结果如下:
12344
3
2
1
循环与递归的使用
循环和递归有一定的相似之处,那么该如何选择使用哪一种呢?
优先选择方便自己编写程序的方式,但有时候循环和递归可以相互替代,那么这种情况下选择递归更好,因为递归的每一级都会创建独立的变量并进行运算,这会消耗大量的计算机内存资源且循环不易阅读和维护.