制作:方斌 C语言程序设计 教程 郧阳师高等科些校计机 科学系 方斌制诈
制 作:方 斌 C语言程序设计 教程 郧阳师范高等专科学校计算机 科学系 方 斌 制作
制作:方斌 第5章循环结构程序设计
制 作:方 斌 第5章 循环结构程序设计
制作:方斌 循环语句概述 循环:反复执行称为“循环体”的程序段。 循环控制常用于数学迭代、对象遍历等问题的求解,几乎所 有实用程序都包含循环。 循环结构是结构化程序三种基本结构之一。(顺序结构、分 支结构)。 根据开始循环的初始条件和结束循环的条件不同,C语言中 用如下语句实现循环 1、用goto语句和语句构成循环。 2、用 while语句。 3、用do-Whle语句。 4、用for语句
制 作:方 斌 循环语句概述 循环:反复执行称为“循环体”的程序段。 循环控制常用于数学迭代、对象遍历等问题的求解,几乎所 有实用程序都包含循环。 循环结构是结构化程序三种基本结构之一。(顺序结构、分 支结构)。 根据开始循环的初始条件和结束循环的条件不同,C语言中 用如下语句实现循环 1、用goto语句和if语句构成循环。 2、用while语句。 3、用do-while语句。 4、用for语句
制作:方斌 goto语句及用goto和if语句构成循环 般形式:qoto语句标号 作用:无条件转向“语句标号”处执行。 说明:“语句标号”是一个标识符,它表示程序指令的地址。 goto语句不符合结构化程序设计准则,因为无条件转向使 程序结构无规律、可读性差。一般应避免使用goto语句,但 如果能大大提高程序的执行效率,也可以使用。 [例6.1]用语句和goto语句构成循环,求求1~100的累计和
制 作:方 斌 goto 语句及用 goto 和 if 语句构成循环 一般形式:goto 语句标号 作用:无条件转向“语句标号”处执行。 说明:“语句标号”是一个标识符,它表示程序指令的地址。 goto语句不符合结构化程序设计准则,因为无条件转向使 程序结构无规律、可读性差。一般应避免使用goto语句,但 如果能大大提高程序的执行效率,也可以使用。 [例6.1] 用if语句和goto语句构成循环,求求1~100的累计和
制作:方斌 [例5.1] 用语句和goto语句构成循环,求1~100的累计和。 ·根据已有的知识,可以用“1+2+.…+100″来求解, 但显然很繁琐。现在换个思路来考虑: 首先设置一个累计器sum,其初值为0,利用Sum +=n来计算(n依次取1、2、……!100),只要解 决以下3个问题即可: (1)将n的初值置为1; (2)每执行1次“sum+=n后,n增1; (3)当n增到101时,停止计算。此时,sum的 值就是1~100的累计和
制 作:方 斌 [例5.1] • 用if语句和goto语句构成循环,求1~100的累计和。 • 根据已有的知识,可以用“1+2+……+100”来求解, 但显然很繁琐。现在换个思路来考虑: • 首先设置一个累计器sum,其初值为0,利用sum += n来计算(n依次取1、2、……、100),只要解 决以下3个问题即可: (1)将n的初值置为1; (2)每执行1次“sum += n”后,n增1; (3)当n增到101时,停止计算。此时,sum的 值就是1~100的累计和
制作:方斌 用goto语句和语句构成循环。使用qoto语句实现求解 1~100累计和的程序可以如下: maino d int n=1 sum=0 loop: sum +=n;n++i if (n<=100) goto loop; printf(sum=%d\n sum); } 功能为:使系统转向标号所在的语句倾松9o6 其中“lop:"为语句标号(格式:标号:语句行), 命名遵循标识符命名规则。goto语句格式:
制 作:方 斌 用goto语句和if语句构成循环。使用goto语句实现求解 1~100累计和的程序可以如下: main() { int n=1, sum=0; loop: sum += n; n++; if (n<=100) goto loop; printf(“sum=%d\n”, sum); } 其中“loop:”为语句标号(格式:标号: 语句行),其 命名遵循标识符命名规则。goto语句格式:goto 标号, 功能为:使系统转向标号所在的语句行执行
制作:方斌 注意:结构化程序设计方法,主张限制使 用goto语句。因为滥用goto语句,将会 导致程序结构无规律、可读性差。 另外,从功能上说,for语句可完 全代替当型循环语句 while,所以该语句 也不是必需的
制 作:方 斌 注意:结构化程序设计方法,主张限制使 用goto语句。因为滥用goto语句,将会 导致程序结构无规律、可读性差。 另外,从功能上说,for语句可完 全代替当型循环语句while,所以该语句 也不是必需的
制作:方斌 根据已有的知识,单独实现每一步都不难。但是,由于 需要经常使用这种重复计算结构(称为循环结构),C语言提 供了3条循环语句来实现,以简化、并规范循环结构程序设计。 在C语言中,可用以下语句实现循环: (1)用for语句。 (2)用do- while语句。 (3)用whie语句
制 作:方 斌 根据已有的知识,单独实现每一步都不难。但是,由于 需要经常使用这种重复计算结构(称为循环结构),C语言提 供了3条循环语句来实现,以简化、并规范循环结构程序设计。 在C语言中,可用以下语句实现循环: (1)用for语句。 (2)用do-while语句。 (3)用while语句
制作:方斌 5.1 while语句 5.1.1 While语句(当型循环) (1)一般格式 xe(表达式) hil 循环体语句; (2)执行过程如图所示 1)求解“表达式”。如果其值为非0,转2;否则转3。 2)执行循环体语句组,然后转1)。 3)执行Whle语句后的语句。 特点:先判“表达式(条件)
制 作:方 斌 1)求解“表达式” 。如果其值为非0,转2;否则转3。 2)执行循环体语句组,然后转1)。 3)执行while语句后的语句。 特点:先判“表达式(条件)”。 5.1 while语句 5.1.1 while语句(当型循环) (1)一般格式 while(表达式) { 循环体语句; } (2)执行过程如图所示
制作:方斌 [案例52]用whle语句求1~100的累计和。 /*案例代码文件名:AL53.C*/ /*程序功能:求1~100的累计和*/ maino intⅰ=1,sum=0;/*初始化循环控制变量i和累计器sum*/ while i<=100) d sum +=i; /*实现累加*/ i++ /*循环控制变量i增1* printf(sum=%d\n,sum) 假 i≤100 程序运行情况如下: 真 当i≤100 sum=5050 sum= sum+1 sumsum+l 1-1
制 作:方 斌 [案例5.2] 用while语句求1~100的累计和。 /*案例代码文件名:AL5_3.C*/ /*程序功能:求1~100的累计和*/ main() { int i=1,sum=0; /*初始化循环控制变量i和累计器sum*/ while( i<=100 ) { sum += i; /*实现累加*/ i++; /*循环控制变量i增1*/ } printf(“sum=%d\n”,sum); } 程序运行情况如下: sum=5050