标签:
循环语句和循环控制前言:
Turbo C 2.0提供三种基本的循环语句: for语句、while语句和do-while语句。
for(i=1;i<=10;i++)语句;
main() { int i,j; printf(i j\n); for(i=0;i<2;i++) for(j=0;j<3;j++) printf(%d %d\n,i,j); }输出结果为:
main() { int sn=0,i; for(i=1;i<=100;i++) sn+=i; /*1+2+……+100*/ printf(%d\n,sn); }
#include stdio.h main() { char c; c='\0'; /*初始化c*/ while(c!='\n') /*回车结束循环*/ c=getche(); /*带回显的从键盘接收字符*/ }
while((c=getche())!='\n');这个循环直到键入回车为止。
main() { int sn=0,i=0; while(++i<=100) sn+=i; /*求1+2+……+100*/ printf(%d\n,sn); }
main() { int sn=0,i=1; do sn+=i; /*求1+2+……+100*/ while(++i<=100); printf(%d\n,sn); }从上面三个程序看出,使用for,while和do--while求解同样的问题,基本思路都差不多,只是在第一次计算时,注意初值。
main() { int sn=0,i; for(i=1;i<=100;i++) { if(i==51) break; /*如果i等于51,则跳出循环*/ sn+=i; /*1+2+……+50*/ } printf(%d\n,sn); }可以看出,最终的结果是1+2+……+50。因为在i等于51的时候,就跳出循环了。自己写写怎样在while和do--while循环中增加break语句。
main() { int i,j; printf(i j\n); for(i=0;i<2;i++) for(j=0;j<3;j++) { if(j==2) break; printf(%d %d\n,i,j); } }输出结果为:
main() { int sn=0,i; for(i=1;i<=100;i++) { if(i==51) continue; /*如果i等于51,则结束本次循环*/ sn+=i; /*1+2+……+50+52+……+100*/ } printf(%d\n,sn); }从程序中可以看出,continue语句只是当前的值没有执行,也就是说当前的值跳过去了,接着执行下次循环。
main() { int i,j; printf(i j\n); for(i=0;i<2;i++) for(j=0;j<3;j++) { if(j==1) continue; printf(%d %d\n,i,j); } }输出结果为:
main() { int sn=0,i; for(i=1;i<=100;i++) { if(i==51) goto loop; /*如果i等于51,则跳出循环*/ sn+=i; /*1+2+……+50*/ } loop: ; printf(%d\n,sn); }可以看出,这儿的goto语句和break作用很类似。
printf(%d\n,sn);也可以写成loop: printf(%d\n,sn);
main() { int sn=0,i; for(i=1;i<=100;i++) { if(i==51) goto loop; /*如果i等于51,则跳出本次循环*/ sn+=i; /*1+2+……+50+52+……+100*/ loop: ; } printf(%d\n,sn); }可以看出这儿的loop语句和continue的作用类似。
main() { int i,j,k; printf(i j k\n); for(i=0;i<2;i++) for(j=0;j<3;j++) for(k=0;k<3;k++) { if(k==2) goto loop; printf(%d %d %d\n,i,j,k); } loop: ; }
main() { int i,j,k; printf(i j\n); for(i=0;i<2;i++) { for(j=0;j<3;j++) { for(k=0;k<3;k++) { if(k==2) break; printf(%d %d %d\n,i,j,k); } if(k==2) break; } if(k==2) break; } }
main() { int num1,num2,i,min; scanf(%d%d,&num1,&num2); min=num1 for(i=min/2;i>0;i--) if(num1%i==0&&num2%i==0) break; printf(最大公约数为%d\n,i); }
main() { int n,i; long temp=1,sn=0; /*从9!以后,所得的值就超过了int范围*/ scanf(%d,&n); for(i=1;i<=n;i++) { temp*=i; sn+=temp; /*如果没有这一步,求的就是n!*/ } printf(%ld\n,sn); }
#include math.h main() { int num,i,flag=0; scanf(%d,&num); for(i=2;i { flag=0; /*标志变量复位*/ if(num%i==0) { flag=1; break; } } if(flag==0) printf(是素数\n); else printf(不是素数\n); }
标签:
原文地址:http://blog.csdn.net/caihongdao123/article/details/51886403