论文部分内容阅读
摘要:For语句是C语言程序设计中重要的循环语句之一,结构清晰、使用靈活。学习For语句应注意它同其它循环语句的区别和联系,熟悉其执行流程;同时还要多练习,在编程实践中牢固掌握它的使用方法。
关键词:C语言程序设计For语句
For语句是C语言程序设计中重要的循环语句之一。由于For语句结构简洁、明晰,使用灵活,其在C语言编程中应用广泛。有经验的编程人员更喜欢使用For语句编程实现各种各样的循环。那么,我们如何掌握并运用For语句呢?可以从以下几个方面把握。
1. 对比求异同
For语句和While语句的都是C语言中重要的循环语句,二者在本质上是一样的,但表现形式有些区别。先看程序1和程序2的比较。
从程序1与程序2的对比中,可以得出:在While语句中,循环变量初始化、循环条件判断和修改循环变量的功能都由单独的语句实现,分别写在循环体前或循环体中;而对于For语句,这些功能由多个表达式合并在一个控制块中,写在For语句的开始处。因此,一般我们可以将C语言中的For语句看作是While语句的简化形式。
2. For语句流程详解
从程序1与程序2的对比中,可以得出For语句的一般格式:
for(表达式1;表达式2;表达式3)
循环体语句
格式中,三个表达式所构成的语句用来控制循环,故又称为循环控制语句。表达式1称为初始化表达式;表达式2称为条件表达式;表达式3称为修正表达式。分别对应While语句中的控制变量初始化、循环条件判断、循环控制变量的修改这三个功能语句。对For语句的执行过程,用语言形式描述如下:
第一步,计算表达式1的值;
第二步,求解表达式2的值,若值为真(非0或逻辑真),则执行第三步;若值为假(等于零或等于逻辑假),则执行第六步;
第三步,执行循环体语句;
第四步,求解表达式3;
第五步,转到第二步继续执行。
第六步,执行FOR语句后面的语句。
上述执行过程可用图1所示语句指示图表示:
3. 对For语句再做进一步的说明
For语句中的任何表达式都可以省略。当省略表达式1时,初始化就必须放在For语句前;当省略表达式2时,循环条件为永“真”,相当于死循环,故需在循环体中设定相应的语句(break)来退出循环;当表达式3省略时,应把修改循环控制变量的表达式放在循环体内部。注意:省略表达式时不能省略表达式后的分号。
如:求1+2+3+……+100的和,可以用下面的任一程序段。
for(i=1,sum=0;i<=100;i++)
sum=sum+i;/*程序段1*/
i=1;
for(;i<=100;i++)
sum=sum+i;/*程序段2*/
i=1;sum=0;
for(;i<=100;)
{sum=sum+i;
i++;
}/*程序段3*/
for(i=1,sum=0;i<=0;sum=sum+i++);/*程序段4*/
如果For语句的循环体由两个或两个以上语句组成,必须用花括号把它们括起来构成复合语句。如上面程序段3所示。
For语句中的表达式1和表达式3可以是一个简单表达式,也可以是一个由逗号运算符连接起来的逗号表达式。如上面程序段1所示。
循环体可以是空语句,但空语句的分号不能省略。若循环体不是空语句,则不能在表达式的括号后面加分号。如上面程序段4所示。
4. 练习
为了更好的掌握For语句,接下来就是自己动手练习部分,可以自己出题自己编程,也可以参考下面的习题。注意:自己动手编程时要考虑For语句的变化。由此,每个题至少有9种以上的编写方法,要一一去尝试。
[例1]任意输入10个数,求其最大数及最小数并打印输出。
[例2]任意输入若干个正数,求其最大数及最小数并打印输出。
总结
通过问题→模型→应用的教学模式,可以清晰地认识到问题所求的仅是一种模型,而模型本身又是实际问题的一个简化,故而通过这种现代启发式教学方法运用,大家可熟练掌握并灵活运用For语句。
参考文献:
[1]谭浩强.C程序设计.北京:清华大学出版社,1991.
[2]Kenneth C.Louden. Programming Languages Principles and Practice, Second Edition. Publishing House of Electronics Industry. 2003.
注:本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。
关键词:C语言程序设计For语句
For语句是C语言程序设计中重要的循环语句之一。由于For语句结构简洁、明晰,使用灵活,其在C语言编程中应用广泛。有经验的编程人员更喜欢使用For语句编程实现各种各样的循环。那么,我们如何掌握并运用For语句呢?可以从以下几个方面把握。
1. 对比求异同
For语句和While语句的都是C语言中重要的循环语句,二者在本质上是一样的,但表现形式有些区别。先看程序1和程序2的比较。
从程序1与程序2的对比中,可以得出:在While语句中,循环变量初始化、循环条件判断和修改循环变量的功能都由单独的语句实现,分别写在循环体前或循环体中;而对于For语句,这些功能由多个表达式合并在一个控制块中,写在For语句的开始处。因此,一般我们可以将C语言中的For语句看作是While语句的简化形式。
2. For语句流程详解
从程序1与程序2的对比中,可以得出For语句的一般格式:
for(表达式1;表达式2;表达式3)
循环体语句
格式中,三个表达式所构成的语句用来控制循环,故又称为循环控制语句。表达式1称为初始化表达式;表达式2称为条件表达式;表达式3称为修正表达式。分别对应While语句中的控制变量初始化、循环条件判断、循环控制变量的修改这三个功能语句。对For语句的执行过程,用语言形式描述如下:
第一步,计算表达式1的值;
第二步,求解表达式2的值,若值为真(非0或逻辑真),则执行第三步;若值为假(等于零或等于逻辑假),则执行第六步;
第三步,执行循环体语句;
第四步,求解表达式3;
第五步,转到第二步继续执行。
第六步,执行FOR语句后面的语句。
上述执行过程可用图1所示语句指示图表示:
3. 对For语句再做进一步的说明
For语句中的任何表达式都可以省略。当省略表达式1时,初始化就必须放在For语句前;当省略表达式2时,循环条件为永“真”,相当于死循环,故需在循环体中设定相应的语句(break)来退出循环;当表达式3省略时,应把修改循环控制变量的表达式放在循环体内部。注意:省略表达式时不能省略表达式后的分号。
如:求1+2+3+……+100的和,可以用下面的任一程序段。
for(i=1,sum=0;i<=100;i++)
sum=sum+i;/*程序段1*/
i=1;
for(;i<=100;i++)
sum=sum+i;/*程序段2*/
i=1;sum=0;
for(;i<=100;)
{sum=sum+i;
i++;
}/*程序段3*/
for(i=1,sum=0;i<=0;sum=sum+i++);/*程序段4*/
如果For语句的循环体由两个或两个以上语句组成,必须用花括号把它们括起来构成复合语句。如上面程序段3所示。
For语句中的表达式1和表达式3可以是一个简单表达式,也可以是一个由逗号运算符连接起来的逗号表达式。如上面程序段1所示。
循环体可以是空语句,但空语句的分号不能省略。若循环体不是空语句,则不能在表达式的括号后面加分号。如上面程序段4所示。
4. 练习
为了更好的掌握For语句,接下来就是自己动手练习部分,可以自己出题自己编程,也可以参考下面的习题。注意:自己动手编程时要考虑For语句的变化。由此,每个题至少有9种以上的编写方法,要一一去尝试。
[例1]任意输入10个数,求其最大数及最小数并打印输出。
[例2]任意输入若干个正数,求其最大数及最小数并打印输出。
总结
通过问题→模型→应用的教学模式,可以清晰地认识到问题所求的仅是一种模型,而模型本身又是实际问题的一个简化,故而通过这种现代启发式教学方法运用,大家可熟练掌握并灵活运用For语句。
参考文献:
[1]谭浩强.C程序设计.北京:清华大学出版社,1991.
[2]Kenneth C.Louden. Programming Languages Principles and Practice, Second Edition. Publishing House of Electronics Industry. 2003.
注:本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。