内容正文:
第4章 循环程序设计
什么是循环?
1.1 什么是循环
在C语言中,循环是一种控制流结构,用于重复执行特定的代码块,直到满足退出条件为止。
他使得程序能够有效地执行重复性任务,而无需重复编写相同的代码。
它提供了多种类型的循环结构,包括while、do…while、for以及break和continue语句来控制循环的执行
1 重复执行:
循环允许程序多次执行同一段代码,直到满足指定的条件才停止执行。
这样可以避免重复编写相似或相同的代码,提高了代码的复用性和可维护性。
2 循环条件:
循环结构通常包含一个循环条件,它是一个布尔表达式,用于判断循环是否继续执行。
只有当循环条件为真时,循环体中的代码才会被执行,否则循环将终止。
3 初始化和更新:
在某些循环结构中(如for循环),还可以定义循环变量的初始值和更新规则。
这些初始化和更新操作通常在每次循环迭代时执行,以控制循环的进程和退出条件。
4 循环体:
循环体是包含在循环结构内部的一组语句或代码块,它是循环重复执行的部分。
只要循环条件为真,循环体中的代码就会重复执行。
5 退出条件:
循环执行的最终条件是退出条件。
一旦循环条件不再满足,循环将停止执行,并且程序流程将跳出循环,继续执行循环之后的代码。
总的来说,循环是一种重要的控制结构,能够简化重复性任务的编程,并且在程序中实现迭代和循环控制。通过合理地使用循环,程序员可以提高代码的效率和可读性,实现更复杂的功能。
1.2 类比
我们举一个现实中的例子:购物车中的商品结账过程
将这个商品结账过程与c语言中的循环一一对应,如下:
1 重复执行:
用户在购物车中可能有多个商品,需要将它们一一结账。
这个过程涉及到重复执行类似的结账操作。
2 循环条件:
循环条件是判断购物车中是否还有未结账的商品。
只有当购物车中还有商品时,结账操作才会继续执行,否则循环将终止。
3 初始化和更新:
可以将购物车中的每个商品视为循环变量。
初始化时,开始结账的位置是购物车中的第一个商品。在每次结账后,更新循环变量,将结账位置移到下一个商品。
4 循环体:
结账过程是循环体,其中包含了将当前商品加入订单、计算价格、更新库存等一系列操作。
这些操作在每个商品上重复执行。
5 退出条件:
退出条件是购物车中没有未结账的商品,即所有商品都已结账。
一旦购物车为空,循环将停止执行,用户可以完成结账并离开。
这个现实中的例子很好地类比了循环的各个组成部分,使得购物车中的结账过程成为一个有效且可维护的循环,避免了为每个商品重复编写相同的结账代码,提高了代码的复用性和可维护性。
这就是一个简单的循环,代码中所用到的while语句是c语言中最基本的循环结构,也是今天我们这篇文章的主题,那就让我们进入对while语句的学习吧!
4.1 while循环
while语句是一种称为“当型”的循环。
在C语言中,while语句是一种循环结构,用于重复执行特定的代码块,直到指定的条件为假(false)为止。
它的一般形式是:
while(表达式)
{
语句序列;
}
while语句它的执行过程
注意:
循环必须在有限的次数内结束,否则会出现“死循环”,在程序中应避免出现死循环。
while循环执行的特点是先判断条件,后执行循环体,因此,循环次数可能为0。
例题: 编程求1+2+3+4+5之和。
#include <stdio.h>
main( )
{ int sum, i;
sum = 0; // 累加器sum置0
i = 1; // 循环变量i赋初值1
while ( i <= 5 )
{ sum = sum + i; // 将i值累加到sum中
i = i +1; // 改变循环变量i的值
}
printf("1+2+3+4+5 = %d", sum );
getch( );
}
运行结果:
1+2+3+4+5 =15
执行过程如表4-1所示。
变量名 sum i 循环条件 ( i<=5 )
初始状态 0 1 真
第1轮循环后 0+1=1 2 真
第2轮循环后 0+1+2=3 3 真
第3轮循环后 0+1+2+3=6 4 真
第4轮循环后 0+1+2+3+4=10 5 真
第5轮循环后 0+1+2+3+4 +5 = 15 6 假(结束循环)
练习: 编程求25X26X27之积。
4.2 do_ while循环
do_while语句是称为“直到”型的循环结构,是另一种形式的循环。
它的一般形式是:
do
{
语句序列
} while ( 表达式 );
do_while语句的执行过程
真(非0)
表达式
语句序列
假(0)
do_while语句
do-while循环先执行”语句“,在执行”判断表达式“,如果判断表达式结果为真,则继续执行循环语句,若为假,则跳出循环。
所以,do-while循环中循环体至少执行一次,这是do-while循环比较特殊的地方。
do_while语句
例:比较do while语句和while语句:
#include < stdio . h>
main( )
{ char ch ;
ch=getchar() ;
do
{ putchar(ch) ;
ch=getchar( ) ;
} while(ch!='*');
getch( );
}
运行结果
*AB* ↙
*AB #include < stdio . h >
main( )
{ char ch ;
ch=getchar() ;
while(ch!='*')
{ putchar(ch);
ch=getchar( );
}
getch( );
}
运行结果:
*AB*↙
无输出
比较do while语句和while语句:
总结: 总结:
谢谢
$$