1、goto语句
作用:集中于一处退出函数
循环结构程序:
当函数有很多个出口,使用goto把这些出口集中到一处是很方便的,特别是函数中有许多重复的清理工作的时候。
理由是:
-无条件跳转易于理解
- 可以减少嵌套
-可以避免那种忘记更新某一个出口点的问题
-算是帮助编译器做了代码优化
引例:
int main()
{
int i=1,sum=0;
if(i<=100)
{
sum=sum+i;
i++;
}
printf("%d\n",sum);
return;
}
如何利用goto语句构成循环?
#include <stdio.h>
int main(int argc, char *argv[])
{
int i=1;
int sum=0;
loop:
if(i<=100)
{
sum+=i;
i++;
goto loop;
}
printf("1+2+3+...+100=%d\n",sum);
return 0;
}
打印结果:
2、while语句
while语句构成循环
基本形式
while(表达式)
{
循环体;
}
案例:
#include <stdio.h>
int main(int argc, char *argv[])
{
int i=0;;
int sum=0;
while(i<=100)
{
sum+=i;
i++;
}
printf("1+2+3+...+100=%d\n",sum);
return 0;
}
输出结果:
3、do-while
基本形式:
do
{
循环体;
}while(表达式);
案例:
#include <stdio.h>
int main(int argc, char *argv[])
{
int i=0;
int sum=0;
do{
sum+=i;
i++;
}while(i<=100);
printf("1+2+3+...+100=%d\n",sum);
return 0;
}
输出结果:
4、案例-打印水仙花数
水仙花数-是指一个三位数,其各个位数字立方和等于该数本身。
#include <stdio.h>
int main(int argc, char *argv[])
{
int i=100;
while(i<=999)
{
int a=i%10;
int b=i%100/10;
int c=i/100;
if(a*a*a+b*b*b+c*c*c==i)
printf("%d\n",i);
i++;
}
return 0;
}
输出结果:
以上为学习笔记仅供参考,如有错误,欢迎指正!