对比:
if //条件判断
switch //值的计算与匹配
循环结构:
循环 --- 不断重复的
1.goto语句
2.while语句
3.do-while语句
4.for语句
goto
格式:
goto 语句的标号; //标签
----------------------------------------
//构成循环的要素
初始条件
使循环趋于结束的语句(操作)
循环体 //重复被执行到的代码
结束条件
1. 实现1~100累加求和
1+2+3+4+5+...+100 //数列求和 --循环的方式
1+2 //sum
sum+3 //sum
sum+4
sum = sum + i; //积累
++i;
初始条件:
i = 1;
sum = 0;
循环体:
sum = sum + i; //每一次和 加上新的数 实现累加效果
使循环趋于结束的语句(操作)
++i
结束条件:
i == 100
goto //禁用
goto //慎用
不同方法的1~100求和:
初始条件:
n
i = 1;
ret = 1;
循环体:
ret = ret * i;
使循环趋于结束的语句(操作)
++i
结束条件:
i == n
while
格式:
while (表达式)
{
语句;
}
含义:
判断"表达式" //条件
真
执行"语句"
"语句"执行完,继续判断"表达式"
直到,"表达式"为假,while结束,程序继续往下
假
"表达式"为假,while结束,程序继续往下
//
while (表达式)
{
语句;
}
注意:
while() //后面不要写 分号
练习1:
编写一个程序,
找出被2,3,5整除时余数均为1的最小的10个自然数。
n%2==1&&n%3==1&&n%5==1
0 1 2 3 4
//1.准备数据
int n ;
//2.处理数据
循环的条件 --- 找够10个自然数
n%2==1&&n%3==1&&n%5==1 ? //判断是不是 --- ?
循环体
2. 输出所有的水仙花数。---- 三位数
水仙花数是指一个 3 位数,
它的每个数位上的数字的 3次幂之和等于它本身。
例如:
1^3 + 5^3+ 3^3 = 153。
100~999 //n
1^3 + 5^3+ 3^3 = 153。
n //水仙花
//1.准备数据
int n = 100; //循环的初始条件
//2.处理数据
n [100~999]
拆数
个位
十位
百位
求和
个位 立方 + 十位 立方 +百位 立方
比较
n
相等 就打印
否则 就继续往下找
do-while
格式:
do
{
循环体语句;
}while(表达式); //注意: 这块有分号
含义:
先,执行"循环体语句",
之后,判断"表达式"
真,继续 执行"循环体语句",
假,while结束,程序继续往下
对比:
while
do-while() //结束条件
for(i = 0; i < 100; ++i) //一定范围
注意:
1.表达式2 省略 表示 判断条件一直为真
for(;;) //死循环
{
}
while (-1)
{
}
do
{
}while('a');
break 语句
break;
应用:
switch
循环语句中(while ,do-while,for)
表示:
跳出本层循环
continue 语句;
继续
表示:
结束本次循环,继续下一次循环
for (i = 0; i < 100; ++i)
{
sum = sum + i;
}