5第二章基本语句_循环:
合集下载
循环语句PPT.

这个过程反复进行,直到某一次条件不符合为止.这时, 计算机将不执行循环体,直接跳到WEND语句后,接着执 行WEND之后的语句.
例 根据例6中的程序框图,编写 计算机程序来计算1+2+…+100的值
开始
i=1
程序:
i=1
s=0
s=0
i=i+1
WHILE i<=100
i<=100? 是 否 输出s
s=s+i
程序框图:
开始
i=1
s=0
s=s+i
i=i+1
否 i>100?
是
输出s
结束
程序:
i=1 s=0 DO
s=s+i i=i+1 LOOP UNTIL i>100 PRINT s END
2.(2011年大同高一检测)读程序:
对甲、乙两程序和输出结果 判断正确的是( )
A.程序不同,结果不同 B.程序不同,结果相同 C.程序相同,结果不同 D.程序相同,结果相同
xW=HyPP1I=RRLIIxENN^xTT2<-""=3yx2*==0x""+;;yx5 三的7(46毁 2醇工以16与 即2(第为量23客保食133教..... . 、 、 、...3616卫保非、文三,沉艺更管管1一礼给户护物学...)学充对教知744生 密 本应 字 ) 严法 质 好 壁内 课 貌 每 担 意 名 目帮感询校分本出师识室文室按说响格 能量地厚 侧时起个心识称标助谢问定发单去总目使件工规明应审 否。指度 的见人价。:紧应接期挥位野结标用、作范。文批 去同导成 污,分格掌流张聘待、学发炊:高资人设件手 粗时生反 垢要别不1握血的者员.不生生千记6压料员置的续 存醇产比 热给回能烧不应评定的的万住锅严不符递。 精沉和, 阻每信降烫止聘估期自火不安消格准合交,成实越 就个。到伤的者应地 管 灾 要 全毒借逗国是功践厚会未其的处镇聘检能事单电时阅留家否的。传 变被所处理静者查力故人压,登室规能标热 成聘希理下,,,行的谁记内定体准越 影须望方来监学积动数消制。的现和差 响知的法督生极,值毒度消中依, 传的幅安个组这;、,防医据与 热应度全人织样知谁保安药是管 效聘,责物扑会道负密全传什壁 率者更任资救十触责员疏统么导 的写担落由,分电,应散特,热 主封心实学并危的避定指色沉系 要回受情生责险原免期示,淀数 因绝到况本成。因超清标更物成 素信欺,人有和压查志好中正 。。骗并负关触发收和地活比 为要,书责人电生回应发性, 了委甚面保员的爆。急挥成导 减婉至通存查几炸保照疗分热 少、认报,明种事密明效是系 污简为,应事形故文设。什数 垢练按对该故式。件施都么越 热、照有认原;、。与,大 阻感设关真因知资在醇作效 ,谢定问做,道料各沉用率 人他的题好限安遗楼后如越 们们价提安期全失层的何高 进对格出全整用,明药等, 行工买意防改电应显液等但 了作了见范。的及位质,对 许的车并工常时置量都于 多兴以督作识查应密应易 研趣后促 。 。明设 切 作 结究 , ,整原置相进垢 ,并是改因安关一物 开向不。,全步料 发他是。并疏的, 了们被因报散考随 一解“此告指察着 系释宰,上示和蒸 列未”应级图研发 防被了选保,究过 垢录。择密指,程 和用总科部示同的 强的之学门图时进 化原他合。上,行 传因越理8应有, 热。想的.保标必很 的招越物密明要快 方聘害理文疏制在 法进怕学件散定传 和行,指、路醇热 技到在标资线沉壁 术一这,料、法面 。阶种化,安的上 例段情学应全适形 如,况指按出用成 ,应下标密口范垢 定聘客,级、围层 期者户药规人,, 停已就效定员品使 车为有学的所种传 清数一指机在和热 洗不种标关位检速 、多自等负置验率 在,然严责和标下 线所的格登必准降 清以自控记要等。 洗尽我制销。,
例 根据例6中的程序框图,编写 计算机程序来计算1+2+…+100的值
开始
i=1
程序:
i=1
s=0
s=0
i=i+1
WHILE i<=100
i<=100? 是 否 输出s
s=s+i
程序框图:
开始
i=1
s=0
s=s+i
i=i+1
否 i>100?
是
输出s
结束
程序:
i=1 s=0 DO
s=s+i i=i+1 LOOP UNTIL i>100 PRINT s END
2.(2011年大同高一检测)读程序:
对甲、乙两程序和输出结果 判断正确的是( )
A.程序不同,结果不同 B.程序不同,结果相同 C.程序相同,结果不同 D.程序相同,结果相同
xW=HyPP1I=RRLIIxENN^xTT2<-""=3yx2*==0x""+;;yx5 三的7(46毁 2醇工以16与 即2(第为量23客保食133教..... . 、 、 、...3616卫保非、文三,沉艺更管管1一礼给户护物学...)学充对教知744生 密 本应 字 ) 严法 质 好 壁内 课 貌 每 担 意 名 目帮感询校分本出师识室文室按说响格 能量地厚 侧时起个心识称标助谢问定发单去总目使件工规明应审 否。指度 的见人价。:紧应接期挥位野结标用、作范。文批 去同导成 污,分格掌流张聘待、学发炊:高资人设件手 粗时生反 垢要别不1握血的者员.不生生千记6压料员置的续 存醇产比 热给回能烧不应评定的的万住锅严不符递。 精沉和, 阻每信降烫止聘估期自火不安消格准合交,成实越 就个。到伤的者应地 管 灾 要 全毒借逗国是功践厚会未其的处镇聘检能事单电时阅留家否的。传 变被所处理静者查力故人压,登室规能标热 成聘希理下,,,行的谁记内定体准越 影须望方来监学积动数消制。的现和差 响知的法督生极,值毒度消中依, 传的幅安个组这;、,防医据与 热应度全人织样知谁保安药是管 效聘,责物扑会道负密全传什壁 率者更任资救十触责员疏统么导 的写担落由,分电,应散特,热 主封心实学并危的避定指色沉系 要回受情生责险原免期示,淀数 因绝到况本成。因超清标更物成 素信欺,人有和压查志好中正 。。骗并负关触发收和地活比 为要,书责人电生回应发性, 了委甚面保员的爆。急挥成导 减婉至通存查几炸保照疗分热 少、认报,明种事密明效是系 污简为,应事形故文设。什数 垢练按对该故式。件施都么越 热、照有认原;、。与,大 阻感设关真因知资在醇作效 ,谢定问做,道料各沉用率 人他的题好限安遗楼后如越 们们价提安期全失层的何高 进对格出全整用,明药等, 行工买意防改电应显液等但 了作了见范。的及位质,对 许的车并工常时置量都于 多兴以督作识查应密应易 研趣后促 。 。明设 切 作 结究 , ,整原置相进垢 ,并是改因安关一物 开向不。,全步料 发他是。并疏的, 了们被因报散考随 一解“此告指察着 系释宰,上示和蒸 列未”应级图研发 防被了选保,究过 垢录。择密指,程 和用总科部示同的 强的之学门图时进 化原他合。上,行 传因越理8应有, 热。想的.保标必很 的招越物密明要快 方聘害理文疏制在 法进怕学件散定传 和行,指、路醇热 技到在标资线沉壁 术一这,料、法面 。阶种化,安的上 例段情学应全适形 如,况指按出用成 ,应下标密口范垢 定聘客,级、围层 期者户药规人,, 停已就效定员品使 车为有学的所种传 清数一指机在和热 洗不种标关位检速 、多自等负置验率 在,然严责和标下 线所的格登必准降 清以自控记要等。 洗尽我制销。,
C语言循环语句PPT课件

i=1; while(i<=100) { sum=sum+i;
i++; } printf("%d",sum); }
循环条件
循环终值 循环体语句
27.12.2020
.
6
例: 显示1~10的平方
#include <stdio.h> main() { int i=1;
while(i<=10) { printf("%d*%d=%d\n",i,i,i*i);
}
while()
{ ……
}
…...
27.12.2020
.
}
14
例: 我国古代数学家张丘建在《算经》中出了一道题“鸡翁一, 值钱五;鸡母一,值钱三;鸡雏三,值钱一。百钱买百鸡, 问鸡翁、鸡母、鸡雏各几何?”
解题思路:
利用以前学过的数学知识列方程。 假设鸡翁数为x,鸡母数为y,鸡雏数为z。列方程为:
x+y+z=100 ……① 5x+3y+z/3=100……②
do
……
continue;
…...
真(非0)
while 表达式
表达式 假(0) 真(非0)
…… continue;
……
表达式3
假(0)
27.12.2020
.
25
例:把100~200之间的不能被3整除的数输出
main()
{
int n;
for(n=100;n<=200;n++)
{if(n%3==0)
continue;
3、 while和do-while循环的循环变量初值应在 while和do-while循环之前完成。
i++; } printf("%d",sum); }
循环条件
循环终值 循环体语句
27.12.2020
.
6
例: 显示1~10的平方
#include <stdio.h> main() { int i=1;
while(i<=10) { printf("%d*%d=%d\n",i,i,i*i);
}
while()
{ ……
}
…...
27.12.2020
.
}
14
例: 我国古代数学家张丘建在《算经》中出了一道题“鸡翁一, 值钱五;鸡母一,值钱三;鸡雏三,值钱一。百钱买百鸡, 问鸡翁、鸡母、鸡雏各几何?”
解题思路:
利用以前学过的数学知识列方程。 假设鸡翁数为x,鸡母数为y,鸡雏数为z。列方程为:
x+y+z=100 ……① 5x+3y+z/3=100……②
do
……
continue;
…...
真(非0)
while 表达式
表达式 假(0) 真(非0)
…… continue;
……
表达式3
假(0)
27.12.2020
.
25
例:把100~200之间的不能被3整除的数输出
main()
{
int n;
for(n=100;n<=200;n++)
{if(n%3==0)
continue;
3、 while和do-while循环的循环变量初值应在 while和do-while循环之前完成。
循环语句PPT

y=2x+1 Next 输出x 则输出结果为______1_____.
4.下列问题可以用循环语句描述的有( C ) ①求1+3+32+…+39的和; ②比较a,b两个数的大小; ③对于分段函数,要求输入自变量,输出函 数值; ④求平方值小于100的最大自然数. (A)0个 (B)1个 (C)2个 (D)3个
3.2 循环语句
第1课时
1.循环语句: 表达循环结构的语句。 2.常用语句:For 语句和Do Loop 语句
For 语句
1.一般形式 For 循环变量=初始值 To 终值 循环体 Next
2.适用范围 预先知道循环次数的循环结构。
1.For语句中是用什么来控制循环结束的? 在For语句中,当循环变量超过终值时,不
【解析】i从1到3,j从1到5,所以执行次 数为3×5=15.
再执行循环体,跳出循环,执行Next后的语 句
【例,8,…,从第3项起每 一项等于前两项的和。设计一个算法框图, 输出这个数列的前50项,并用For语句描述 它。
【例2】写出计算102+202+302+‥+10002 的算法框图,并用For语句描述它。
5.已知用For语句描述的算法如下: For i=-3 To 147 Step 3
y=2*i+14 Next 输出y 则该算法共执行循环体的次数为___5_1_____.
6. 阅读下列算法语句: For i=1 To 3
For j=1 To 5 输出i*j
Next Next
则输出i*j语句执行次数为___1_5____.
【练习1】下面用循环语句描述的算法的功能是( B )
2.请用For语句写出计算1+3+5+…+99
4.下列问题可以用循环语句描述的有( C ) ①求1+3+32+…+39的和; ②比较a,b两个数的大小; ③对于分段函数,要求输入自变量,输出函 数值; ④求平方值小于100的最大自然数. (A)0个 (B)1个 (C)2个 (D)3个
3.2 循环语句
第1课时
1.循环语句: 表达循环结构的语句。 2.常用语句:For 语句和Do Loop 语句
For 语句
1.一般形式 For 循环变量=初始值 To 终值 循环体 Next
2.适用范围 预先知道循环次数的循环结构。
1.For语句中是用什么来控制循环结束的? 在For语句中,当循环变量超过终值时,不
【解析】i从1到3,j从1到5,所以执行次 数为3×5=15.
再执行循环体,跳出循环,执行Next后的语 句
【例,8,…,从第3项起每 一项等于前两项的和。设计一个算法框图, 输出这个数列的前50项,并用For语句描述 它。
【例2】写出计算102+202+302+‥+10002 的算法框图,并用For语句描述它。
5.已知用For语句描述的算法如下: For i=-3 To 147 Step 3
y=2*i+14 Next 输出y 则该算法共执行循环体的次数为___5_1_____.
6. 阅读下列算法语句: For i=1 To 3
For j=1 To 5 输出i*j
Next Next
则输出i*j语句执行次数为___1_5____.
【练习1】下面用循环语句描述的算法的功能是( B )
2.请用For语句写出计算1+3+5+…+99
循环语句 课件

到条件符合时退出循环. (2)在循环体内,应注意务必有相应的语句使“条件” 改变,保证能终止循环,否则循环将无休止地进行下去.
类型二 WHILE语句的应用 【典例】1.下列程序运行后输出的结果为
()
A.1
B.3
C.5
D.7
2.如果执行下面程序后输出的结果是132,那么在程序 中WHILE后面的条件应为 ( )
【内化·悟】 UNTIL语句适用什么类型? 提示:直到型循环又称“后测试”循环,也就是我们所 讲的“先执行后测试”,“先循环后判断”.
【类题·通】 使用UNTIL语句应注意两点
(1)DO语句只是循环的开始标记,遇到DO语句,程序只 是记住这个标记,其他什么也不做,接着执行后面的 循环体,在执行一次循环体后,再检查LOOP UNTIL语句 中的条件是否成立,如果不成立,就重复执行循环体,直
A.i>11 B.i>=11 C.i<=11 D.i<11 【思维·引】1.逐步执行循环体,注意结束循环的条件. 2.运行程序寻找规律,进而确定条件.
【解析】1.选C.该程序的执行过程是i=1,i=1<5,是; i=1+2=3,i=3<5,是; i=3+2=5;i=5<5,否.所以输出i的值为5. 2.选B.由题意S=1,i=12,满足条件;S=1×12=12,i=121=11满足条件;S=12×11=132,i=10,由题意此时应输出
循环语句
1.循环语句 循环语句与程序框图中的循环结构相对应,一般程序设 计语言中都有直到型(UNTIL)和当型(WHILE)两种循环 语句结构,分别对应于程序框图中的直到型和当型循环 结构.
2.循环语句的格式、功能及程序框图 名称 直到型(UNTIL语句) 当型(WHILE语句) 格式
循环语句 课件

【典例训练】 1.已知有如下两段程序: 程序1运行的结果为_____,程序2运行的结果为____.
2.编写程序,计算函数f(x)=x2-3x+5当x=1,2,3,…,20时的 函数值. 【解析】1.程序1是计数变量i=21开始,不满足i≤20,终止循 环,累加变量sum=0,这个程序计算的结果:sum=0;程序 2计数变量i=21,开始进入循环,sum=0+21=21, i=i+1=21+1= 22,i>20,循环终止,此时,累加变量 sum=21,这个程序计算的结果:sum=21. 答案:0 21
(A)50 (B)25 (C)5 (D)0
2.设计一个计算1×3×5×7×9×11×13的算法.图中给出了 程序的一部分,则在横线①上不能填入的数是( )
(A)13 (B)13.5 (C)14 (D)14.5
3.给出的30个数,1,2,4,7,11,…,其规律是第1个数是1,第 2个数比第1个数大1,第3个数比第2个数大2,第4个数比第3个 数大3,…,依次类推,要求计算这30个数的和,先将下面所 给出的程序框图补充完整,再依据程序框图写出程序.
循环语句
循环语句的格式及程序框图的对应关系
名称
直到型
当型
程序 框图
名称
语句 格式
直到型
DO 循环体
LOOP UNTIL 条件
当型
WHILE 条件 循环体
WEND
1.编写程序时,什么情况下使用循环语句? 提示:在问题处理中,对不同的运算对象进行若干次相同运算或 处理时,一般用到循环结构,在编写程序时要用到循环语句.
(2)程序:
【想一想】 解题2的关键及题3的易错点是什么? 提示:(1)解题2的关键是分析准确i的取值,注意i的值和13 的关系. (2)解题3的易错点是累加的量也在不断变化,所以也需要引 入变量,很容易写成固定值而出错.
循环语句北师大版ppt课件

为深入学习习近平新时代中国特色社 会主义 思想和 党的十 九大精 神,贯彻 全国教 育大会 精神,充 分发挥 中小学 图书室 育人功 能
现在你能找出满足1×2×3×4 ×…×n>100条件的最小 整数?
解: s=1 n=1 Do s=s*n n=n+1
PRINT n-1
为深入学习习近平新时代中国特色社 会主义 思想和 党的十 九大精 神,贯彻 全国教 育大会 精神,充 分发挥 中小学 图书室 育人功 能
为深入学习习近平新时代中国特色社 会主义 思想和 党的十 九大精 神,贯彻 全国教 育大会 精神,充 分发挥 中小学 图书室 育人功 能
2、解:m=0 n=0 i=0
For i=1 To 40 输入s
If s>=85 Then m=m+1
Else If s>63 Then n=n+1 Else
i=i+1 End If Next
构最常见的语句之一,它适用于预先知道循环次数的循环结 构.
为深入学习习近平新时代中国特色社 会主义 思想和 党的十 九大精 神,贯彻 全国教 育大会 精神,充 分发挥 中小学 图书室 育人功 能
计算机在执行For语句时先对循环变量赋值,然后与循 环变量的终值比较,若小于或等于终值,则执行循环体, 然后循环变量的值增加,再与终值比较,若还小于或等于 终值,再执行循环体,循环变量的值再增加,以此类推, 直到循环变量的值大于终值时,停止执行循环体. 提醒:
1、用Do Loop语句描述判断一个数是否为素数的算法.
为深入学习习近平新时代中国特色社 会主义 思想和 党的十 九大精 神,贯彻 全国教 育大会 精神,充 分发挥 中小学 图书室 育人功 能
1、解:t=1 Do t=t+1 Loop while t不能整除p 且t<=Sqr(p) If t>Sqr(q) Then 输出“p是素数” Else 输出“p不是素数” End If
基本算法语句——循环语句

基本算法语句——循环语句
循环语句是计算机程序中最基本的控制结构之一,用于重复执行一段代码块,直到满足一些条件为止。
常见的循环语句包括while循环、do-while循环和for循环。
1. while循环语句:
```python
while 条件:
代码块
```
该循环会在每次执行代码块前先检查条件是否满足,如果满足,则执行代码块并再次检查条件;否则,结束循环。
2. do-while循环语句:
```python
do:
代码块
while 条件
```
该循环会先执行一次代码块,然后检查条件是否满足。
如果满足,则继续执行代码块并再次检查条件;否则,结束循环。
3. for循环语句:
```python
for 变量 in 可迭代对象:
代码块
```
该循环会遍历可迭代对象中的每个元素,并依次将每个元素赋值给变量,再执行代码块。
当所有元素都被遍历完毕时,循环结束。
循环语句可以用于处理重复性任务,比如遍历列表、计算累加和、找
出最大值等。
在实际编程中,需要注意循环的终止条件和循环变量的更新,以防止无限循环。
同时,也可以结合条件语句(如if语句)在循环中添
加分支判断。
PHP5中文手册基础

第 2 单元 PHP基本语法 PHP基本语法
内容:(第2 内容:(第2章) 数据类型 变量、常量 运算符 表达式 控制语句 数组 函数 日期和时间处理函数
PHP网络学习平台 PHP网络学习平台
2.1 数据类型
布尔型: 布尔型: $Areyoustudent=True; (True=1,False=0 NULL) 整数型: 整数型: $int1 = 38 ; $int_H=0x7FFFF; $int_O=017777; 浮点型: 浮点型: $float1 = 1.732 ; $float2 = 1.4E+2 ; 字符串: 字符串: $mystring = “我是字符串” ; “我是字符串” $Single_str=‘ 单引号字符’; 输出单引号: \ ’ 单引号字符’; 输出单引号: 数组型: 数组型: $MyArray1 = array( "子" , "丑" , "寅" , "卯" ); "子 "丑 "寅 "卯 对象类型:(p64范例7 对象类型:(p64范例7-5 ) 类 Class 类名称{ 类名称{ var 数据成员、 function 成员函数(){ 成员函数(){ 成员函数()内容 } } 资源类型: 例如:调用Mysql外部资源 例如:调用Mysql外部资源 $m=mysql_connect(‘localhost’,’root’,’1234’); 空值NULL: 空值NULL:
3.逻辑与关系运算:符号 意义(P111表格) 3.逻辑与关系运算:符号 意义(P111表格) < 小于 > 大于 <= 小于或等于 >= 大于或等于 == 等于 != 不等于 && 而且 (And) and 而且 (And) || 或者 (Or) or 或者 (Or) xor 异或 (Xor) ! 不 (Not)
内容:(第2 内容:(第2章) 数据类型 变量、常量 运算符 表达式 控制语句 数组 函数 日期和时间处理函数
PHP网络学习平台 PHP网络学习平台
2.1 数据类型
布尔型: 布尔型: $Areyoustudent=True; (True=1,False=0 NULL) 整数型: 整数型: $int1 = 38 ; $int_H=0x7FFFF; $int_O=017777; 浮点型: 浮点型: $float1 = 1.732 ; $float2 = 1.4E+2 ; 字符串: 字符串: $mystring = “我是字符串” ; “我是字符串” $Single_str=‘ 单引号字符’; 输出单引号: \ ’ 单引号字符’; 输出单引号: 数组型: 数组型: $MyArray1 = array( "子" , "丑" , "寅" , "卯" ); "子 "丑 "寅 "卯 对象类型:(p64范例7 对象类型:(p64范例7-5 ) 类 Class 类名称{ 类名称{ var 数据成员、 function 成员函数(){ 成员函数(){ 成员函数()内容 } } 资源类型: 例如:调用Mysql外部资源 例如:调用Mysql外部资源 $m=mysql_connect(‘localhost’,’root’,’1234’); 空值NULL: 空值NULL:
3.逻辑与关系运算:符号 意义(P111表格) 3.逻辑与关系运算:符号 意义(P111表格) < 小于 > 大于 <= 小于或等于 >= 大于或等于 == 等于 != 不等于 && 而且 (And) and 而且 (And) || 或者 (Or) or 或者 (Or) xor 异或 (Xor) ! 不 (Not)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
循环条件是一个关系表达式,它决定什么时候退出循 环;
循环变量增量,定义循环控制变量每循环一次后按什 么方式变化。
这三个部分之间用“;”分开。
对比while语句写出的for语句
i=1; while(i<=100) {
sum=sum+i; i++; }
for(i=1; i<=100; i++) sum=sum+i;
6、如果一个数除了它本身之外的所有的因子的和等于该 数,这个数就是一个完数。例如6的因子为1,2,3, 则6=1+2+3,因此6是个完数。编程找出1000之 内的所有完数。
7、求100~200之间的所有素数。
8生产总值与现在相比增长多少百分比。计算公式为 p=(1+r)n
第二章基本语句(5) 循环控制语句2
信息技术教研组
循环控制语句:for循环语句
在 C 语言中,for 语句使用最为灵活。 for(表达式 1;表达式 2;表达式 3)
语句; 它的执行过程如下: 1) 先求解表达式 1。 2) 求解表达式 2,若其值为真(非 0),则执行 for 语句中
指定的内嵌语句,然后执行下面第 3)步;若其值为假 (0),则结束循环,转到第 5)步。 3) 求解表达式 3。 4) 转回上面第 2)步继续执行。 5) 循环结束,执行 for 语句下面的一个语句。
用。
3、利用格里高利公式:π/4 = 1-1/3+1/5-1/7+1/91/11… 可以求出π的值。要求精确到数点后的第六位。
4、求1!+2!+…+20!的末6位。
5、输出所有的水仙花数,所谓的水仙花数是指一个3位 数,其各位数字立方数和等于该数本身。例如153是 一个水仙花数,因为153=13+53+33。
其中r 为年增长率,n为年数,p为与现在相比的倍数。
9、请编程序将“China”译成密码,密码的规律是:用原来的 字母表中后面第4个字母代替原来的字母。例如,字母A后面的 第4个字母为E。请编一程序用赋初值的方法将c1,c2,c3,c4,c5 将“China”变译为“Glmre”。
10、存款利息的计算。有1000元,想存5年,可以按以 下5种方法存:
例: int main() {
int i; for(i=1;i<=10;i++) { printf("%d\n",i); } return 0; }
for 语句最简单的应用形式也是最容易理解的形式如 下:
for(循环变量赋初值;循环条件;循环变量增量) 语句;
循环变量赋初值总是一个赋值语句, 它用来给循环控 制变量赋初值;
3种循环(while 循环、do…while循环和for 循环)可以互相嵌套。
例:编写程序,输出下面的图案
int main() { int i, j, k; printf("i j k\n"); for (i=0; i<2; i++)
for(j=0; j<2; j++) for(k=0; k<2; k++) printf(“%d %d %d\n", i, j, k);
相当于:
i=1; while(1) {
sum=sum+i; i++;
}
4) 省略了“表达式 3(循环变量增量)”, 则 不对循环控制变量进行操作,这时可在 语句体中加入修改循环控制变量的语句。
例如:
for(i=1;i<=100;)
{
sum=sum+i;
i++;
}
5) 省略了“表达式 1(循环变量赋初值)”和“表达 式 3(循环变量增量)”。
return 0; }
作业
1、 有一大堆核桃,两个两个拿,余下一个;三个三个 拿,余下两个;四个四个拿,余下三个;以此类推, 直至九个九个拿,余下八个。问这一大堆核桃最少是 几个?
2、有四个自然数,它们的和为45,而第一个数加上2, 等于第二个数减去2,同时等于第三个数乘以2,也等 于第四个数除以2,依次打印输出这四个数。
11、购房从银行贷了一笔款d,准备每月还款p, 月利率为r,计算多少月能还清。设d为 300000,p为6000元,r为1%。对求得月份 m按四舍五入取整处理。
提示:计算还清月数m的公式如下:
m=log(p/(p-d*r))/log(1+r) log(x)函数包含在math.h头文件中,可以直接调
for(sum=0;i<=100;i++)sum=sum+i;
8) 表达式 1 和表达式 3 可以是一个简单表达式也可以是多 个表达式,中间用逗号分隔。
for(sum=0,i=1;i<=100;i++)sum=sum+i; 或:for(i=0,j=100;i<=100;i++,j--)k=i+j; 9) 表达式 2 一般是关系表达式或逻辑表达式,但也可是数
2) 省略了“表达式 1(循环变量赋初值)”, 表示不 对循环控制变量赋初值。 例如:
i=1; for(;i<=100;i++) sum=sum+i;
3) 省略了“表达式 2(循环条件)”, 相当 于条件永远成立,则不做其它处理时 便成为死循环。
例如:
for(i=1;;i++) sum=sum+i;
例如: for(;i<=100;) {
相当于: while(i<=100) {
sum=sum+i;
sum=sum+i;
i++;
i++;
}
}
6) 3 个表达式都可以省略。 例如: for(;;)语句 相当于: while(1)语句 7) 表达式 1 可以是设置循环变量的初值的赋值表达式,
也可以是其他表达式。 例如:
return 0; }
例:输出所有aabb的四位数。
int main() {
int i,j,k,m; for (i=1;i<=9;i++)
for (j=1;j<=9;j++) for (k=0;k<=9;k++) for(m=0;m<=9;m++) if(i=j&&k=m) printf(“%d%d%d%d”,i,j,k,m);
例1:打印1,2,3…n(手动输入n),每个占一行。
int main() {
int I,n; scanf(“%d”,&n); for (i=1;i<=n;i++)
printf(“%d”,i); return 0;
}
注意:
1) for 循环中的“表达式 1(循环变量赋初值)”、 “表达式 2(循环条件)”和“表达式 3(循环变量增 量)”都是选择项, 即可以缺省,但“;”不能缺省。
(1)一次存5年期。 (2)先存2年期,到期后将本息再存3年期。 (3)先存3年期,到期后将本息再存2年期。 (4)存一年期,到期后本息再存一年期,连续存5次。 (5)存活期存款,活期利息每一季度结算一次。
注:2018年12月央行的存款利率如下: 活期存款 0.35% 一年定期 3% 二年定期 3.75% 三年定期 4.25% 五年定期 4.75% 编程算出哪种存法收入最高。
值表达式或字符表达式,只要其值非零,就执行循环体。 例如:
for(i=0;(c=getchar())!=’\n’;i+=c); 又如:
for(;(c=getchar())!=’\n’;)
printf(“%c”,c);
循环语句的嵌套
一个循环体内又包含另一个完整的循环结构, 称为循环的嵌套。内嵌的循环中还可以嵌套 循环,这就是多层循环。
循环变量增量,定义循环控制变量每循环一次后按什 么方式变化。
这三个部分之间用“;”分开。
对比while语句写出的for语句
i=1; while(i<=100) {
sum=sum+i; i++; }
for(i=1; i<=100; i++) sum=sum+i;
6、如果一个数除了它本身之外的所有的因子的和等于该 数,这个数就是一个完数。例如6的因子为1,2,3, 则6=1+2+3,因此6是个完数。编程找出1000之 内的所有完数。
7、求100~200之间的所有素数。
8生产总值与现在相比增长多少百分比。计算公式为 p=(1+r)n
第二章基本语句(5) 循环控制语句2
信息技术教研组
循环控制语句:for循环语句
在 C 语言中,for 语句使用最为灵活。 for(表达式 1;表达式 2;表达式 3)
语句; 它的执行过程如下: 1) 先求解表达式 1。 2) 求解表达式 2,若其值为真(非 0),则执行 for 语句中
指定的内嵌语句,然后执行下面第 3)步;若其值为假 (0),则结束循环,转到第 5)步。 3) 求解表达式 3。 4) 转回上面第 2)步继续执行。 5) 循环结束,执行 for 语句下面的一个语句。
用。
3、利用格里高利公式:π/4 = 1-1/3+1/5-1/7+1/91/11… 可以求出π的值。要求精确到数点后的第六位。
4、求1!+2!+…+20!的末6位。
5、输出所有的水仙花数,所谓的水仙花数是指一个3位 数,其各位数字立方数和等于该数本身。例如153是 一个水仙花数,因为153=13+53+33。
其中r 为年增长率,n为年数,p为与现在相比的倍数。
9、请编程序将“China”译成密码,密码的规律是:用原来的 字母表中后面第4个字母代替原来的字母。例如,字母A后面的 第4个字母为E。请编一程序用赋初值的方法将c1,c2,c3,c4,c5 将“China”变译为“Glmre”。
10、存款利息的计算。有1000元,想存5年,可以按以 下5种方法存:
例: int main() {
int i; for(i=1;i<=10;i++) { printf("%d\n",i); } return 0; }
for 语句最简单的应用形式也是最容易理解的形式如 下:
for(循环变量赋初值;循环条件;循环变量增量) 语句;
循环变量赋初值总是一个赋值语句, 它用来给循环控 制变量赋初值;
3种循环(while 循环、do…while循环和for 循环)可以互相嵌套。
例:编写程序,输出下面的图案
int main() { int i, j, k; printf("i j k\n"); for (i=0; i<2; i++)
for(j=0; j<2; j++) for(k=0; k<2; k++) printf(“%d %d %d\n", i, j, k);
相当于:
i=1; while(1) {
sum=sum+i; i++;
}
4) 省略了“表达式 3(循环变量增量)”, 则 不对循环控制变量进行操作,这时可在 语句体中加入修改循环控制变量的语句。
例如:
for(i=1;i<=100;)
{
sum=sum+i;
i++;
}
5) 省略了“表达式 1(循环变量赋初值)”和“表达 式 3(循环变量增量)”。
return 0; }
作业
1、 有一大堆核桃,两个两个拿,余下一个;三个三个 拿,余下两个;四个四个拿,余下三个;以此类推, 直至九个九个拿,余下八个。问这一大堆核桃最少是 几个?
2、有四个自然数,它们的和为45,而第一个数加上2, 等于第二个数减去2,同时等于第三个数乘以2,也等 于第四个数除以2,依次打印输出这四个数。
11、购房从银行贷了一笔款d,准备每月还款p, 月利率为r,计算多少月能还清。设d为 300000,p为6000元,r为1%。对求得月份 m按四舍五入取整处理。
提示:计算还清月数m的公式如下:
m=log(p/(p-d*r))/log(1+r) log(x)函数包含在math.h头文件中,可以直接调
for(sum=0;i<=100;i++)sum=sum+i;
8) 表达式 1 和表达式 3 可以是一个简单表达式也可以是多 个表达式,中间用逗号分隔。
for(sum=0,i=1;i<=100;i++)sum=sum+i; 或:for(i=0,j=100;i<=100;i++,j--)k=i+j; 9) 表达式 2 一般是关系表达式或逻辑表达式,但也可是数
2) 省略了“表达式 1(循环变量赋初值)”, 表示不 对循环控制变量赋初值。 例如:
i=1; for(;i<=100;i++) sum=sum+i;
3) 省略了“表达式 2(循环条件)”, 相当 于条件永远成立,则不做其它处理时 便成为死循环。
例如:
for(i=1;;i++) sum=sum+i;
例如: for(;i<=100;) {
相当于: while(i<=100) {
sum=sum+i;
sum=sum+i;
i++;
i++;
}
}
6) 3 个表达式都可以省略。 例如: for(;;)语句 相当于: while(1)语句 7) 表达式 1 可以是设置循环变量的初值的赋值表达式,
也可以是其他表达式。 例如:
return 0; }
例:输出所有aabb的四位数。
int main() {
int i,j,k,m; for (i=1;i<=9;i++)
for (j=1;j<=9;j++) for (k=0;k<=9;k++) for(m=0;m<=9;m++) if(i=j&&k=m) printf(“%d%d%d%d”,i,j,k,m);
例1:打印1,2,3…n(手动输入n),每个占一行。
int main() {
int I,n; scanf(“%d”,&n); for (i=1;i<=n;i++)
printf(“%d”,i); return 0;
}
注意:
1) for 循环中的“表达式 1(循环变量赋初值)”、 “表达式 2(循环条件)”和“表达式 3(循环变量增 量)”都是选择项, 即可以缺省,但“;”不能缺省。
(1)一次存5年期。 (2)先存2年期,到期后将本息再存3年期。 (3)先存3年期,到期后将本息再存2年期。 (4)存一年期,到期后本息再存一年期,连续存5次。 (5)存活期存款,活期利息每一季度结算一次。
注:2018年12月央行的存款利率如下: 活期存款 0.35% 一年定期 3% 二年定期 3.75% 三年定期 4.25% 五年定期 4.75% 编程算出哪种存法收入最高。
值表达式或字符表达式,只要其值非零,就执行循环体。 例如:
for(i=0;(c=getchar())!=’\n’;i+=c); 又如:
for(;(c=getchar())!=’\n’;)
printf(“%c”,c);
循环语句的嵌套
一个循环体内又包含另一个完整的循环结构, 称为循环的嵌套。内嵌的循环中还可以嵌套 循环,这就是多层循环。