第五章 循环结构
You are more powerful than any other person.
你比任何人都强大。
程序的三种基本结构
顺序结构
选择结构
循环结构
while语句
先判断后执行,表达式为真,
注意:如果表达式的值一直为真,没有改变,并且没有
break;,则会陷入死循环
while(表达式)
{
语句
} do-while
先执行后判断
do{
语句
}while(表达式);
// 注意:do-while的while号后有分号。
for
for 语句中的3个表达式均可省略,但
;不可省略。
for(表达式1; 表达式2; 表达式3)
{
语句
}
// 可以看成
for(循环变量赋初值; 循环条件; 循环变量增量)
{
语句
}执行顺序
[括号内为循环]
表达式1 -> 表达式2 -> [语句 -> 表达式2 -> 表达式3 ->]
for循环内还可以使用逗号表达式
int sum, i;
for(sum=0, i=0; i<100; sum+=i, i++)
{
语句
}循环嵌套
#include <stdio.h>
int main()
{
int i,j;
for(i=1; i<=2; i++)
{
for(=1; j<=3; j++)
{
printf("*");
}
printf("\n");
}
}break和continue
break:跳出整个循环。
continue:结束本次循环,转到循环的开始判断是否执行下一次循环。
穷举法
穷举法也成为了枚举法,将在此范围内的所有可能情况逐一验证,知道全部情况验证完毕。
素数
输入一个数,判断其是否为素数
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
int input, i, k;
printf("请输入大于1的数\n");
scanf("%d", &input);
k = sqrt(input);
for(i=2; i<k; i++)
if(input%i= 0) break;
if(i>k)
printf("%d是素数\n", input);
else
printf("%d不是素数\n", input);
}