for循环:
for(表达式1;表达式2;表达式3)
{
循环体。
}
表达式1 ---》表达式2(判别表达式)--》为真--》循环体。---》表达式3---》表达式2(判别表达式)---》为真---》循环体---》表达式3---》表达式2(判别表达式)
简而言之:for(1;2;3)先执行1,2在往下循环体执行,完事再执行3,然后再执行2,再往下执行,然后再32
int i = 0;
int sum = 0;
for (i = 1; i <= 100; i++)
{
sum = sum + i;
}
printf("sum=%dn",sum);
输出
sum=5050
猜数字:
1.生成一个随机数。
1.添加一个随机数种子。srand(time(NULL))
2.添加头文件。
3.生成随机数 int n =rand() % 100;
2.循环输入数据猜。
while()
{
接收用户输入scanf("%d",&num);
比较用户的数和随机生成数的大小。
if(n>num)
else
}
3.跳出循环
break 跳出一重循环,防止case穿透
#define _CRT_SECURE_NO_WARNINGS #include#include #include int main(void) { srand(time(NULL)); int n = 0; int num = rand() % 100; printf("请输入猜的数字(0-100)"); for (;;) { scanf("%d",&n); if (n < num) { printf("猜小了n"); } else if (n > num) printf("猜大了n"); else { printf("猜中了!n"); break; } } printf("答案是%dn", n); system("pause"); }
嵌套循环:
外层循环执行一次,内层循环执行一周
for(i=0;i<10;i++)
{
for(j=0;j<10;j++)
{
for(k=0;k<100;i++)
{
}
}
}
模拟电子表打印:
int i, j, k;
for (i = 0; i < 24; i++) //hour
{
for (j = 0; j < 60; j++) //minute
{
for (k = 0; k < 60; k++) //second
{
printf("%02d;%02d;%02dn",i,j,k); //循环打印
Sleep(1000); //一秒打印一次
}
}
}
99乘法表:
外层循环执行i行,内层循环执行i列
int i, j;
for (i = 1; i <= 9; i++)
{
for (j = 1; j <= i; j++)
{
printf("%dx%d=%d ",j,i,j*i);
}
printf("n"); putchar('n');
}
倒序乘法表
int i, j;
for (i = 9; i >=1; i--)
{
for (j =1; j <= i; j++)
{
printf("%dx%d=%dt",j,i,j*i);
}
putchar('n');
}
跳转语句:
break:跳出一重循环(for,while,do while)防止case穿透(switch)
continue:结束本次循环,打出continue关键字后之后的循环体在本次循环中不执行
int i;
for (i = 0; i < 5; i++)
{
printf("i=%dn",i);
if (i == 3)
{
continue;
}
printf("qqqqqqqqn");
printf("xxxxxxxxn");
printf("ccccccccn");
}
当i等于3时才会执行contnue,否则就输出三行
goto:类似循环的一个 跳转语句
printf("qqqqqqqqn");
printf("xxxxxxxxn");
printf("ccccccccn");
lable:
printf("aaaaaaaan");
printf("bbbbbbbbn");
printf("ddddddddn");
printf("eeeeeeeen");
printf("jjjjjjjjn");
goto label;
printf("kkkkkkkkn");
printf("lllllllln");
printf("xxxxxxxxn");
printf("ccccccccn");
输出结果为打印到goto之后再跳转回打印aaaaa往下执行,这样循环



