首页 理论教育C语言程序设计教程-for语句掌握详解

C语言程序设计教程-for语句掌握详解

【摘要】:for 语句的运行过程如图3.10 所示。下面给出应用最广泛、也最容易理解的for 语句的一般形式:图3.10for 循环执行流程图用for 循环结构来计算1+2+3+…“表达式1”通常用于循环变量赋初值,如果省略,表示不对循环变量赋初值或者已经把赋初值语句放在了for 语句前面。

C 语言的for 语句使用最为灵活,不仅可以用于循环次数已经确定的情况,而且可以用于循环次数不确定而只给出循环结束条件的情况,它完全可以代替while 语句。

for 语句的一般形式如下:

功能:先计算“表达式1”的值,再判断“表达式2”的值,如果“表达式2”的值为真,则执行循环体语句,执行一次后,再算“表达式3”的值,然后再次计算“表达式2”的值,如果仍为真,则继续执行循环体语句,如此反复,直到“表达式2”的值为假,此时不再执行循环体语句,退出循环,转去执行for 语句后面的语句。for 语句的运行过程如图3.10 所示。

下面给出应用最广泛、也最容易理解的for 语句的一般形式:

图3.10 for 循环执行流程图

【例3.18】用for 循环结构来计算1+2+3+…+100 的值。程序如下:

程序运行结果:

【例3.19】计算1~n 的自然数平方和

分析:采用for 语句实现求解自然数的平方和问题,需要定义循环变量i,初值为1,条件为i<=n,循环变量i 每次增1。然后定义一个累加器sum,对i 的平方,即i*i 实现累加即可。

程序运行结果:

相关说明:(www.chuimin.cn)

(1)for 循环中的“表达式1”“表达式2”“表达式3”都是选择项,都可以省略,但是分号不能省略。

(2)“表达式1”通常用于循环变量赋初值,如果省略,表示不对循环变量赋初值或者已经把赋初值语句放在了for 语句前面。

例如,例3.19 中的循环语句可以用下面的语句替换:

(3)“表达式2”通常用于表示循环条件,如果省略,不作其他处理时便成为死循环,这就需要在循环体语句中放有循环结束的语句。省略表达式2,系统默认循环条件永远为真。

例如,例3.19 中的循环语句可以用下面的语句替换:

(4)“表达式3”通常用于循环变量增值,如果省略,则不对循环控制变量进行操作,这时应在循环体语句中增加能够实现对应功能的语句。

例如,例3.19 中的循环语句可以用下面的语句替换:

(5)“表达式2”一般为关系表达式或逻辑表达式,但也可以是数值表达式或字符表达式,只要其值非零,就执行循环体。

【例3.20】输入一串字符,统计输入字符的个数。

分析:C 语言中不能定义字符串型变量,因此本例可以定义一个变量,通过循环依次接收字符串中的各个字符,每接收一个,计数加1,当所有字符被接收完毕(通常情况下以回车作为输入字符串的结束标志),就得到了输入字符的个数。

程序运行结果:

思考:如何实现输出Fibonacci 数列1,1,2,3,5,8,13…的前20 项,要求每输出5 项后换行。