while(循环继续与否的判断条件){
执行语句
}
do{
执行语句
}while(循环继续与否的判断条件);
for(表达式1;表达式2;表达式3){
执行语句
}
表达式1:通常为赋值表达式,用来设置循环控制变量及其初值
表达式2:通常为与循环控制变量相关的关系表达式或逻辑表达式(循环条件),控制循环继续与否
表达式3:俗称步长(增量/减量),用于每次修改循环控制变量的值
tip:
1.做求和程序时,记录结果的变量应该初始化为0,做求积程序时,记录结果的变量应该初始化为1
2.循环控制变量i只在循环里被使用了,在循环外面它没有任何用处。因此可以将变量i的定义写到for语句里(C99)
3.如果有固定次数,选择for;
如果必须执行一次,选择do_while;
其他情况选择while
4.break只离开内层循环
5.(goto传送门)
例:
1.求阶乘(0的阶乘为1)while循环
#includeint main() { int n; scanf("%d",&n); int fact = 1; int i = 1; while(i <= n){ fact *= i; i++; } printf("%d! = %dn",n,fact); return 0; }
for循环
#include2.验证输入的数是否为素数int main() { int n; scanf("%d",&n); int fact = 1; int i = 1; for(i=2;i<=n;i++){ fact *= i; } printf("%d!=%dn",n,fact); return 0; }
#include3.找出1~100之间的素数int main() { int x; scanf("%d",&x); int i;//x的因数 int isPrime = 1; for(i = 2;i < x;i++){ if(x%i==0){ isPrime = 0; break; } } if(isPrime == 1){ printf("%d是素数n",x); }else{ printf("%d不是素数n",x); } return 0; }
#includeint main() { int x;//x为寻找的素数 for(x=2;x<=100;x++){//x从2开始,是因为1不是素数 int i;//x的因数 int isPrime = 1;//确定x是否为素数 for(i=2;i 4.找出前五十个素数 #includeint main() { int x;//x为寻找的素数 int cnt = 0;//cnt为素数的数量 x=2;//x从2开始,是因为1不是素数 while(cnt < 50){ int i;//x的因数 int isPrime = 1;//确定x是否为素数 for(i = 2;i < x;i++){ if(x % i == 0){ isPrime = 0; break;//只离开内层循环 } } //for循环确定x是否是素数 if(isPrime == 1){ cnt++; printf("%dt",x); if(cnt % 5 == 0){ printf("n"); }//输出结果方便美观 } x++; } return 0; } 欢迎分享,转载请注明来源:内存溢出
评论列表(0条)