学习目标
1.【掌握】do-while循环结构ide
2.【掌握】for循环结构学习
3.【掌握】嵌套循环spa
1、do-while循环结构
do-while语法:设计
1
2
3
4
5
6
7
|
int
main
(
)
{
do
{
循环体
;
}
while
(表达式
)
;
return
0
;
}
|
do-while执行顺序:当遇到do-while循环结构时,首先执行一次循环体中的语句,接着判断表达式成立与否,若是成立就执行循环体中的语句。而后再次判断表达式,重复上述过程,直到表达式不成立则结束循环。code
特色:不管表达式成立与否,循环体中的语句至少会被执行一次。blog
与while相比:while是先判断,再执行。do-while是先执行再判断。例如:内存
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
#include <stdio.h>
int
main
(
)
{
int
i
=
10
;
while
(
i
<
10
)
{
i
++
;
}
printf
(
"i = %d\n"
,
i
)
;
//打印i = 10
int
j
=
10
;
do
{
j
++
;
}
while
(
j
<
10
)
;
printf
(
"j = %d\n"
,
j
)
;
//打印j = 11
return
0
;
}
|
其余和while同样,没啥好说的了。只有while掌握得好,do-while和for循环都同样分分钟掌握。ci
2、for循环结构
for循环结构只是为while中最重要的三个要素设计了专门的位置,其做用效果都同样。并且由while写的循环,都能用for循环写出来,那么为嘛还要学while呢,只学for循环不就好了么。呵呵,这个看我的口味了,以为使用哪一个循环结构方便就使用哪一个。rem
for循环语法:get
1
2
3
4
5
6
7
|
int
main
(
)
{
for
(表达式
1
;表达式
2
;表达式
3
)
{
循环体
;
}
return
0
;
}
|
for循环结构执行顺序:
第一轮:先执行表达式1,再判断表达式2若是成立,则执行循环体,再执行表达式3。不成立直接结束for循环。
第二轮:先判断表达式2若是成立,则执行循环体,再执行表达式3。不成立直接结束for循环。
第三轮:重复第二轮操做。
分别利用for循环和while循环求1-100的累加和
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
int
main
(
)
{
int
sum
=
0
;
for
(
int
i
=
1
;
i
<=
100
;
i
++
)
{
sum
+=
i
;
//求1-100的累加和
}
//用while循环
int
j
=
1
,
res
=
0
;
while
(
j
<=
100
)
{
res
+=
j
;
j
++
;
}
return
0
;
}
|
注意细节:
表达式可省略(三个表达式均可以省略)。for( ; ; ) 语句至关于while(1) 语句,即不设初值,不判断条件(认为表达式2为真值),循环变量不增值。无终止地执行循环体,也就是死循环。
表达式1和表达式3能够是一个简单的表达式,也能够是逗号表达式,即包含一个以上的简单表达式,中间用逗号间隔。如:
1
2
3
4
5
6
7
8
9
10
11
|
int
main
(
)
{
for
(
int
sum
=
0
,
i
=
1
;
i
<=
100
;
i
++
)
sum
+=
i
;
//或
for
(
int
i
=
0
,
j
=
100
,
k
=
0
;
i
<=
j
;
i
++
,
j
--
)
{
k
=
i
+
j
;
}
return
0
;
}
|
表达式1和表达式3都是逗号表达式,各包含两个赋值表达式,即同时设两个初值,使两个变量增值。
3、循环嵌套
咱们学习的三个循环结构是能够互相嵌套使用的,while循环嵌套while循环,while循环嵌套do-while循环,while循环嵌套for循环等等,他们直接是能够互相多层嵌套的。嵌套循环的执行顺序和普通循环也是同样的,只是循环体也是一个循环,咱们仍是把循环体中的循环结构当作普通的循环体去执行就好了。
1
2
3
4
5
6
7
8
9
10
11
12
|
#include <stdio.h>
int
main
(
)
{
for
(
int
i
=
1
;
i
<=
9
;
i
++
)
{
//外层循环
for
(
int
j
=
1
;
j
<=
i
;
j
++
)
{
//内存循环
printf
(
"%d * %d = %d\t"
,
j
,
i
,
i*
j
)
;
}
printf
(
"\n"
)
;
}
return
0
;
}
|
打印出:
执行顺序:
把内层循环看做外层循环的普通循环体,外层循环执行一次,内层循环要执行到内层循环条件不知足才结束内层循环。而后再继续执行内层循环后面的循环体语句,好比这里的printf("\n");。他和内层循环同样,都是外层循环的循环体。只是内层循环也是一个循环,按照循环的正常执行顺序来执行就行。