控制语句-循环语句
1、学习目标
- C语言中的循环语句概述-了解
- goto语句-掌握
- while语句-掌握
- do-while语句-掌握
- 总结与思考
2、循环语句概述
? 循环结构程序
- goto语句构成循环
- while构成循环
- do-while循环
- for循环
3、goto语句构成循环
-
实例 #include <stdio.h>
int main()
{
int i = 1;
int sum = 0;
loop:
if(i <= 100){
sum += i;
i++;
goto loop;
}
printf("i = %d,sum = %d\n", i, sum);
return 0;
}
运行结果: loop$ ./app
i = 101,sum = 5050
-
goto语句的作用 集中于一处退出函数 循环结构程序
- 当函数有很多个出口,使用goto把这些集中到一处是很方便的,特别是函数中有许多重复的清理工作的时候。
- 理由是:
- 无条件跳转易于理解
- 可以减少嵌套
- 可以避免那种忘记更新某一个出口点的问题
- 算是帮助编译器做了代码优化
4、while语句构成循环
-
基本形式 while(表达式){ ? 语句块; } -
注意点:程序应满足这三个点
-
实例: #include <stdio.h>
int main()
{
int i = 1;
int sum = 0;
while(i <= 100){
sum += i;
i++;
}
printf("1+2+....+100=%d,i = %d\n", sum,i);
return 0;
}
运行结果: loop$ ./app
1+2+....+100=5050,i = 101
5、do-while语句构成循环
-
基本形式 do{ ? 语句块; }while(表达式); -
实例: #include <stdio.h>
int main()
{
int i = 1;
int sum = 0;
do{
sum += i;
i++;
}while(i <= 100);
printf("1+2+....+100=%d,i = %d\n", sum,i);
return 0;
}
运行结果: loop$ ./app
1+2+....+100=5050,i = 101
6、程序举例:
? 打印出所有的“水仙花”数。“水仙花”数是指一个3位数,其各个位数字立方和等于该数本身。
? 分析:设定变量:n
? 变量初值:n = 100
? 终止条件:n <= 999
? 变量变化:n++
? 一个三位数分离出个、十、百位:个位:n%10;十位:n/10%10;百位:n/100
-
程序如下: #include <stdio.h>
#include <math.h>
int main()
{
int n = 100;
int a, b, c;
while(n <= 999){
a = n / 100;
b = n / 10 % 10;
c = n % 10;
if(pow(a,3) + pow(b,3) + pow(c,3) == n)
printf("%d\n", n);
n++;
}
return 0;
}
运行结果: loop$ ./app
153
370
371
407
7、总结与思考
|