当前位置:文档之家› 最新C语言循环语句汇总

最新C语言循环语句汇总


2020/8/14
4
100
∑n 例: 用while循环求
n=1
循环初值 循环变量增值
#include <stdio.h> main() { int i,sum=0;
i=1; while(i<=100) { sum=sum+i;
i++; } printf("%d",sum); }
循环条件
循环终值 循环体语句
2020/8/14
9
例 while和do~while比较
#include <stdio.h> main() { int i,sum=0;
scanf("%d",&i); do { sum+=i;
i++; }while(i<=10); printf("%d",sum); }
# include <stdio.h> main() { int i,sum=0;
C语言循环语句
2、goto语句 含义 : 无条件转移
goto语句一般格式:
2020/8/14
goto 语句标号; ….….. 标号:语句;
说明: 不能用整数作标号 只能出现在goto所在函数内,且唯一 只能加在可执行语句前面 限制使用goto语句
2
5.2 while语句
❖一般形式: while(表达式) 循环体语句;
2020/8/14
5
例: 显示1~10的平方
#include <stdio.h> main() { int i=1;
while(i<=10) { printf("%d*%d=%d\n",i,i,i*i);
i++; } }
运行结果: 1*1=1 2*2=4 3*3=9 4*4=16 5*5=25 6*6=36 7*7=49 8*8=64 9*9=81 10*10=100
假(0) 表达式
真(非0) 循环体
循环体语句
真(非0) 表达式 假(0)
2020/8/14
8
100
∑n 例: 用do~while循环求
n=1
#include <stdio.h> main() { int i,sum=0;
i=1; do { sum+=i;
i++; }while(i<=100); printf("%d",sum); }
if(15*x+9*y+z==300)
if(15*x+9*y+z==300)
printf(“%,d%d,%d\n”,x,y,z);
}
2020/8/14
16
}
#include <stdio.h>
{ inti,sfuomr语=0句; 可以转换成while结构
for(i=1;i<=100;i++)
表达式1;
sum+=i;
while(表达式2)
printf("%d",sum);
{
}
循环体语句;
表达式3;
2020/8/14
}
12
5.5 循环嵌套
循环的嵌套
❖三种循环可互相嵌套,层数不限
❖外层循环可包含两个以上内循环,但不能相互交叉
2020/8/14
15
程序实现
#include <stdio.h>
1、定ma义in3()个变量。用双for循环实现: i{nt x,y,z; foinrt(xx,=y,0z;;x<=100;x++)
forf(ox=r(0y;=x<0=;y10<0=;1x+0+0);y++)
forz(y==100;y0<-x=1-y0;0;y++) 2、利用{z=if1语00句-x-判y;断x,y,z是否5满*x+足3为*y条什+z么件/3不=:=是100呢
x+y+z=100 ……① 5x+3y+z/3=100……②
三个未知数, 两个方程
问题解决之道:穷举法 穷举解决之道:循环Biblioteka 2020/8/1414
x+y+z=100 ……① 5x+3y+z/3=100……②
算法如下: 假设x、y已知,由方程①可以得出z=100-x-y 由条件可知x和y的值有限制,只可能在0~100之间。需要用 二重循环实现。每个x和y的组合都对应一个z的值,如果x, y和z的值满足方程②,即为所求结果
2020/8/14
6
5.3 Do-while语句
❖一般形式: do 循环体语句;
while(表达式);
❖执行流程:
循环体语句
真(非0)
表达式 假(0)
2020/8/14
7
❖特点:先执行循环体,后判断表达式 ❖说明:
至少执行一次循环体 do~while可转化成while结构
赋初值
While循环
Do-While循环
scanf("%d",&i); while(i<=10) { sum+=i;
i++; } printf("%d",sum); }
2020/8/14
10
5.4 for循环
❖一般形式:
for([表达式1] ;[ 表达式2] 循环体语句;
;[
表达式3])
❖执行流程:
表达式1
假(0) 表达式2
真(非0)
循环体语句
❖流程图:
假(0) 表达式
真(非0) 循环体语句
2020/8/14
3
❖特点:先判断表达式,后执行循环体 ❖几点说明:
循环体有可能一次也不执行 循环体可为任意类型语句 下列情况,退出while循环
条件表达式不成立(为零) 循环体内遇break,return,goto 无限循环: while(1)
循环体语句;
表达式3
2020/8/14
11
❖for语句最简单应用形式:
for(循环变量赋初值;循环条件;循环变量增值)
{
循环体语句;
}
例❖用说fo明r循:环求∑n
for语句中表达式1, 表达式2 ,表达式3 类型任 #inclu意de,<s都td可io.省h>略,但分号;不可省
main()无限循环: for(;;)
❖嵌套循环的执行流程
❖嵌套循环的跳转
(1) while() 禁止(:2) do
(3) while()
{
…… while() { ……
12..从跳{ 外 入…d{层同o……跳层…入的内另层一循{ 环…d{o………
}
3.向上}跳wh转ile( );
}while( );
(4) for( ; ;) { …… do { …… }while();
…...
…...
…….
……
}
}while( );
}
while()
{ ……
}
…...
2020/8/14
}
13
例: 我国古代数学家张丘建在《算经》中出了一道题“鸡翁一, 值钱五;鸡母一,值钱三;鸡雏三,值钱一。百钱买百鸡, 问鸡翁、鸡母、鸡雏各几何?”
解题思路:
利用以前学过的数学知识列方程。 假设鸡翁数为x,鸡母数为y,鸡雏数为z。列方程为:
相关主题