C程序设计语言:循环

第4周:循环

标签(空格分隔): C


4.1.1 循环:while循环

while循环
while (条件成立) {
    ……
}
  • 循环体内要有改变条件的机会
  • 如果把while翻译作“当”,那么一个while循环的意思就是:当条件满足时,不断地重复循环体内的语句。
  • 循环执行之前判断是否继续循环,所以有可能循环一次也没有被执行。
  • 条件成立是循环继续的条件。
验证
  • 测试程序常使用边界数据,如有效范围两端的数据、特殊的倍数等
    • 个位数;
    • 10;
    • 0;
    • 负数。

4.1.2 循环:do-while循环

do-while循环
  • 在进入循环体的时候不做检查,而是在执行完一轮循环体的代码之后,再来检查循环的条件是否满足,如果满足则继续下一轮循环,不满足则结束循环。
do
{
    <循环体语句>
} while (<循环条件>);
两种循环
  • do-while循环和while循环很像,区别是在循环体内执行结束的时候才来判断条件。也就是说,无论如何,循环都会执行至少一遍,然后才来判断条件。与while相同的是,条件满足时执行循环,条件不满足时结束循环。

4.2.1 循环应用

随机数
  • 每次召唤 rand() 就得到一个随机的整数
#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main()
{
    srand(time(0));
    int a = rand();
    
    printf("%d\n",a);
    
    return 0;
}
%100
  • x % n 的结果是[0,n-1]的一个整数

4.3.1 for循环

for循环
  • for循环像一个计数循环:设定一个计数器,初始化它,然后在计数器到达某值之前,重复执行循环体,而每执行一轮循环,计数器值以一定步骤进进行调整。
    ####for = 对于
  • for (count=10;count>0;count–)
  • 读成:“对于一开始的count=10,当count>0时,重复做循环体,每一轮循环在做完循环体内语句后,使得count–。”

4.3.2 for循环:循环的计算和选择

循环次数
  • for (i=0; i < n; i++)
    • 则循环次数是n,而循环结束后,i的值是n。
    • 循环的控制变量i,是选择从0开始还是从1开始,是判断i < n还是判断i <=n,对循环的次数,循环结束后变量的值都有影响。
#include <stdio.h>

int main()
{
	int i;
	
	for (i=0;i<5;i++) {
		printf("i=%d\n", i);
	}
	
	printf("\n最后i=%d\n",i);
	
	return 0;
} 
 
i=0
i=1
i=2
i=3
i=4

最后i=5
#include <stdio.h>

int main()
{
	int i;
	
	for (i=1;i<=5;i++) {
		printf("i=%d\n", i);
	}
	
	printf("\n最后i=%d\n",i);
	
	return 0;
 } 

i=1
i=2
i=3
i=4
i=5

最后i=6
for循环
for (初始动作;条件;每轮的动作) {
}
  • for 中的每一个表达式都是可以省略的 for (;条件;) == while (条件)
for (int i=1;i<=n;i++) {
    fact *=1;
}
 int i=1;
 while (i<=n) {
 	fact *= i;
 	i++;
 }
 
Tips for loops
  • 如果有固定次数,用for
  • 如果必须执行一次,用do-while
  • 其他情况用while

4.4.1 循环控制:循环控制

break vs continue
  • break:跳出循环
  • continue:跳过循环这一轮剩下的语句进入下一轮

4.4.2 循环控制:嵌套的循环

嵌套的循环
  • 循环里面还是循环
  • printf("%d ",x) 输出的x之间有空格间隔
1 2 3 5 7
11 13 17 19 23
  • printf("%d\n",x) 输出的x之间换行
1
2
3
5
7

11
13
17
19
23
  • printf("%d\t",x) 输出的x之间列对齐
1       2       3       5       7
11      13      17      19      23

4.4.3 循环控制:从嵌套的循环中跳出

  • 接力break
  • goto
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值