- 1、本文档共2页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
C语语⾔⾔for语语句句⽤⽤法法详详解解
⾸先,这⾥所提到的类C语⾔指的是如C、C++、C#和Java等语法和C语⾔⼀样或类似的程序设计语⾔这些语⾔中,for语句
的语法和执⾏流程都是⼀样的本⽂将就这⼀语句的⽤法进⾏⼀个较为深⼊的讨论
for语句:
复制代码代码如下:
for(表达式1;表达式2;表达式3)
{
循环语句
}
表达式1给循环变量赋初值
表达式2为循环条件
表达式3⽤来修改循环变量的值,称为循环步长
for语句的执⾏流程:
例:编程计算:1+2+3+...+99+100的结果
这是累加问题,累加问题的通⽤表达式为:S=S+T;
其中,S是⼀个变量,⽤来存储累加最后的结果,称之为累加器;T是⼀个表达式,代表每次需要加⼊累加器的中的值
累加⼀般是通过循环结构实现的循环之前要设置累加器S的初始值为0
累加项T可以是很简单的表达式,也有可能是⼀个通过分析得到的较复杂的表达式
intS=0;
for(inti=1;i=100;i++)
{
S=S+i;
}
printf(d\n,S);
注意:
1)对于已经确定是累加算法的题⽬,⾸先确定累加项与循环变量的关系;
2)然后,考虑第⼀个累加项的值是多少,以确定循环变量的初值;
3)其次,确定最后⼀个累加项的值,确定循环条件;
4)最后,考虑每个累加项之间的关系,以确定循环变量的变化(步长值)
例:编程计算S=a+aa+aaa+aaaa+...的前n项之和
例如:如果a=3,n=5,则表达式为:S=3+33+333+3333+33333
intS=0;
intt=0;
for(inti=0;i5;i++)
{
t=t*10+3;
S=S+t;
}
printf(d\n,S);
累加算法也可以演化为连乘的形式:S=1*2*3*...*n
连乘的算法和累加算法相似,循环体实现的是S=S*T的形式需要注意的S的初值不是0,⽽是要设为1
在求连乘时,由于每乘⼀次结果增长都⾮常快,所以应该注意是否会出现溢出的问题
循环程序设计思路:
(1)输⼊是什么?⽤来确定原始值
(2)输出是什么?确定应该输出的结果
(3)从输⼊转换为输出需要怎样的步骤,是否需要重复(确定是否需要使⽤循环语句以及循环语句的内容)
(4)如果需要重复,能否提前预知重复的次数?⽤来确定使⽤while、dowhile、for中的哪种循环语句
(5)何时不再需要重复?⽤来确定循环条件以及循环体中使循环条件趋近于0的语句
例:⽔仙花数、四叶玫瑰数、五⾓星数、六位数的问题
⽔仙花数:每位数字的3次幂之和等于它本⾝例:1^3+5^3+3^3=153
四叶玫瑰数:每位数字的4次幂之和等于它本⾝
五⾓星数:每位数字的5次幂之和等于它本⾝
六位数:每位数字的6次幂之和等于它本⾝
//打印出所有的⽔仙花数
inti,j,k,n,s;
for(i=1;i=9;i++)
for(j=0;j=9;j++)
for(k=0;k=9;k++)
{
n=k*k*k+j*j*j+i*i*i;
s=i*100+j*10+k;
if(n==s)
{
printf(d\n,n);
}
}
或:
//打印出所有⽔仙花数
inti,j,k,n,s;
printf(⽔仙花数有:\n);
for(n=100;n1000;n++)
{
i=n/100;/*分解出百位*/
j=n/1010;/*分解出⼗位*/
k=n10;/*分解出个位*/
s=i*i*i+j*j*j+k*k*k;
if(s==n)
{
printf(d\n,n);
}
}
最后我⽤例⼦来总结⼀下吧!下⾯的例
您可能关注的文档
- 人教部编版六年级语文上册快乐读书吧.pptx
- 股权代持协议书.docx
- 七年级地理下册-7.2-东南亚1-新人教版.ppt
- 智慧燃气安全运营一体化平台的构成及应用.docx
- 骆驼祥子第四章读书笔记与读书心得(10篇).docx
- 安全文化的层次及结构.doc
- 2024年重庆应用技术职业学院单招职业技能测试题库(典优).docx
- 2024年重庆应用技术职业学院单招职业技能测试题库及1套完整答案.docx
- 2024年重庆建筑工程职业学院单招职业技能测试题库及参考答案.docx
- 2024年重庆应用技术职业学院单招职业技能测试题库word.docx
- 2024年重庆市雅安地区单招职业适应性测试题库有完整答案.docx
- 2024年重庆幼儿师范高等专科学校单招职业技能测试题库及参考答案1套.docx
- 2024年重庆市雅安地区单招职业适应性测试题库审定版.docx
- 2024年重庆市雅安地区单招职业倾向性测试题库(综合题).docx
- 2024年重庆市雅安地区单招职业倾向性测试题库(综合题).docx
- 2024年重庆市雅安地区单招职业倾向性测试题库推荐.docx
- 2024年重庆市阿坝藏族羌族自治州单招职业适应性测试题库(考试直接用).docx
- 2024年重庆市阿坝藏族羌族自治州单招职业适应性测试题库(突破训练).docx
- 2024年重庆文化艺术职业学院单招职业技能测试题库(有一套).docx
- 2024年重庆护理职业学院单招职业技能测试题库(综合卷).docx
文档评论(0)