一、循环结构
所谓“循环”,就是对某块代码段重复多次地执行,循环结
构是C语言程序书写中常用的一种重要控制结构,C语言提
供了3种循环结构,分别是while结构、do while结构和for结
构。
循环结构有两大要素:循环条件和循环体,当满足某个条件
时,重复执行某些动作,直到该条件不再满足,这个表述很
好地体现了循环条件和循环体的关系。
二、while语句
先判断表达式,后执行语句

三、do-while语句
先执行一次指定的循环内嵌语句,然后判断条件表达式,非0时,循环;为0时,退出循环。

四、for语句
for(表达式1;表达式2;表达式3)
说明:
表达式1:循环变量赋初始值
表达式2:循环条件
表达式3:循环变量增值
语句:循环体

五、算法讲解-数据分离
#include <stdio.h> /* 给一个不多于 5 位的正整数,要求: 一、求它是几位数,二、逆序打印出各位数字。 */ int main() { int i,x,n,y=0; int j; scanf("%d",&n); int z=n; for(i=0;n!=0;i++) { x=n%10; n=n/10; y++; printf("%d ",x); } printf("\n"); printf("%d是%d位数",z,y); return 0; }
#include <stdio.h> /* 一个 5 位数,判断它是不是回文数。即 12321 是回文数,个位与万位相同,十位与千位相同。 */ int main() { int i,x,n; int j=0; scanf("%d",&n); int m=n; for(i=0;n!=0;i++) { x=n%10; j=j*10+x; n=n/10; } if(j==m) printf("%d是回文数",m); else printf("%d不是回文数",m); return 0; }
六、算法讲解-费波那西(Fibonacci)
#include <stdio.h> /* 有一对兔子,从出生后第 3 个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子, 假如兔子都不死,问每个月的兔子总数为多少? 程序分析: 兔子的规律为数列 1,1,2,3,5,8,13,21...... */ int main() { int M; int i,j,a[100];a[1]=1;a[2]=1; scanf("%d",&M); for(j=1;j<=M;j++) { a[j+2]=a[j+1]+a[j]; printf("%d\t",a[j]); } return 0; }
七、穷举法
#include <stdio.h> #include <math.h> /* 判断 101-200 之间有多少个素数,并输出所有素数。 判断素数的方法:用一个数分别去除 2 到 sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数 */ int main() { int i,j,y[100],a,b=0; for(i=101;i<=200;i++) { a=sqrt(i); for(j=2;j<=a;j++) { if(i%j==0) break; } if(j>a) { y[b++]=i; } } for(i=0;i<b;i++) printf("%-5d",y[i]); printf("\n%d",b); return 0; }