C语言程序设计-第5章-循环结构_第1页
C语言程序设计-第5章-循环结构_第2页
C语言程序设计-第5章-循环结构_第3页
C语言程序设计-第5章-循环结构_第4页
C语言程序设计-第5章-循环结构_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第5章

循环结构程序设计5.1while

语句5.3for语句5.4几种循环的比较主要内容5.2do...while

语句大学计算机基础网络信息中心教研室5.5循环嵌套

5.6break

语句5.8应用举例主要内容5.7continue

语句大学计算机基础网络信息中心教研室教学目的:1、掌握三种循环结构语句的语法结构2、灵活运用循环结构语句教学重点和难点:重点:三种循环结构语句while、do-while、for难点:三种循环结构语句的循环过程大学计算机基础网络信息中心教研室1*1+2*2+3*3=?1*1+2*2+3*3+…+99*99+…+1000*1000=?引言抽象:for(i=1;i<=1000;i++)s=s+i*i;大学计算机基础网络信息中心教研室循环结构程序设计要考虑两方面的问题:循环条件:决定循环体执行的次数

(或退出循环条件)

常用关系表达式和逻辑表达式表示。循环体:需要重复执行的工作。循环体也可用break语句跳出循环,用continue语句结束本次循环。大学计算机基础网络信息中心教研室while语句do-while语句for语句条件循环计数循环三种循环语句:定义:在给定条件成立时,重复执行某个程序段的语句称为循环语句,重复执行的程序段称为循环体。循环体可以是单个语句、空语句或符合语句,当循环体为空语句(只有一个分号)时,表示在循环体中什么也不做。大学计算机基础网络信息中心教研室一般形式:while(表达式)

循环体语句;执行流程:表达式成立循环体语句假(0)真(非0)初变量始化5.1while语句大学计算机基础网络信息中心教研室特点:先判断(表达式)后执行(循环体)说明:循环体有可能一次也不执行循环体可为复合语句循环体内应有改变循环控制变量的语句;下列情况,退出while循环表达式不成立循环体内遇break,return,goto无限循环:while(1)

循环体;While语句特点和说明:5.1while语句大学计算机基础网络信息中心教研室【例】求#include<stdio.h>main(){

intk,sum=0;n=1;

while(n<=100){sum=sum+n;n++;}printf("%d\n",sum);}5.1while语句大学计算机基础网络信息中心教研室一般形式:do

循环体语句;

while(表达式);执行流程:初始化变量循环体语句表达式成立假(0)真(非0)5.2do-while语句大学计算机基础网络信息中心教研室特点:先执行循环体,

后判断循环条件是否成立。说明:

1)至少执行一次循环体;

2)其他跟while语句相同

3)do-while可转化成while结构do~while语句特点和说明:5.2do-while语句大学计算机基础网络信息中心教研室5.2do-while语句#include<stdio.h>main(){

intn=1,sum=0;do{sum=sum+n;n++;}while(n<=100);printf("%d",sum);}【例】求大学计算机基础网络信息中心教研室一般形式:for([表达式1;表达式2;表达式3)

循环体语句;执行流程:表达式2循环体语句假(0)真(非0)表达式1表达式35.3for语句大学计算机基础网络信息中心教研室for语句中各表达式含义:表达式1:初值表达式,用在循环开始前为循环变量赋初值表达式2:循环控制表达式,用来控制循环执行的条件表达式3:修改循环控制变量表达式大学计算机基础网络信息中心教研室【例】

for(k=10;k<20;k++)

printf(″k=%d\n″,k);

表达式1为k=10,表达式2为k<20,表达式3为k++。①计算表达式1,k得到初值10。②计算表达式2,k<20为真,执行第一次循环,输出:k=10。③计算表达式3,k的值变为11。④计算表达式2,k<20为真,执行第二次循环,输出:k=11。……最后:①k的值变为19,执行第20次循环,输出:k=19。②计算表达式3,k的值变为20。③计算表达式2,k<20为假,终止整个循环的执行,退出循环。大学计算机基础网络信息中心教研室for语句说明:1、for语句中的三个表达式均可以是逗号表达式,故可同时对多个变量赋初值及修改。如:for(i=0,j=1;j<n&&i<n;i++,j++)2、for语句中表达式1,表达式2,表达式3都可省略,但分号;不可省。(3)省略表达式3for(i=0;i<10;)i值不变,死循环

sum=sum+i;(1)省略表达式1inti=1;for循环前边赋初值for(;i<10;i++)sum=sum+i;(2)省略表达式2for(i=0;;i++)

死循环

sum=sum+i;大学计算机基础网络信息中心教研室(4)省略表达式1和3for(;i<10;){

sum=sum+i;

i++;}等价于while(i<10){

sum=sum+i;i++;}(5)3个表达式都省略

for(;;){

sum=sum+i;}等价于while(1){

sum=sum+i;i++;}大学计算机基础网络信息中心教研室5.3for语句#include<stdio.h>main(){intn,s; for(s=0,n=1;n<=100;n++)s=s+n; printf("1+2+3+…+100=%d\n",s);}【例】求大学计算机基础网络信息中心教研室5.4几种循环的比较

1、一般情况下,4种循环可以互相代替,但不建议使用goto语句。2、while和do-while循环,需要在while后面指定合适的循环条件,且在循环体中应包含使循环趋于结束的语句,避免出现死循环。

for循环则非常灵活,3个表达式可以灵活使用,既适用于已经循环次数的循环,也适用于不确定次数的循环,因此for语句的功能更强,凡用while循环能完成的,用for循环都能实现。大学计算机基础网络信息中心教研室5.4几种循环的比较3、用while和do-while循环时,循环变量初始化的操作应在while和do-while语句之前完成。而for语句可以在表达式1中实现循环变量的初始化。

4、while循环、do-while循环和for循环,除了自然终止外,还可以用break语句随时跳出循环,用continue语句结束本轮循环(break语句和continue语句相关知识见后续小节)。而对用goto语句和if语句构成的循环,break语句和continue语句无效。大学计算机基础网络信息中心教研室1、一个循环体内又包含另一个完整的循环结构,称为循环嵌套。2、内嵌的循环中还可以嵌套循环,这就是多层循环。有许多问题需要用两层甚至多层循环才能解决。3、三种循环可互相嵌套,层数不限4、外层循环可包含两个以上内循环,但不能相互交叉5、嵌套循环的执行流程(1)while(){……while(){……}…...}(2)do{……do{……}while();…...}while();(3)while(){……do{……}while();…….}(4)for(;;){……do{……}while();……while(){……}…...}内循环外循环内循环5.5

循环嵌套大学计算机基础网络信息中心教研室5.5

循环嵌套【例】

编程实现九九乘法表#include<stdio.h>main(){

int

i,j;for(i=1;i<=9;i++)/*i作为外循环控制变量,控制被乘数变化*/

{

printf("\n");

for(j=1;j<=i;j++)/*j作为内循环控制变量,控制乘数变化*/

printf("%1d*%1d=%2d",i,j,i*j);}}大学计算机基础网络信息中心教研室5.6break语句[格式]:break;[功能]:用break语句可以跳出switch语句,继续执行switch语句下面的一个语句。而且break语句还可以用来跳出循环体,即提前结束循环,接着执行循环下面的语句。[说明]:break只能终止并跳出最近一层的结构,不能用于循环语句和switch语句之外的任何其他语句中。大学计算机基础网络信息中心教研室5.6break语句break语句实例

该程序实现的功能是for(r=1;r<=10;r++){area=pi*r*r;

if(area>100)break;

printf(%f\n”,area);}大学计算机基础网络信息中心教研室5.7continue语句[格式]:continue;

[功能]:结束本次循环,即跳过循环体中continue语句后面尚未执行的语句,接着进行下一次是否执行循环的判断。大学计算机基础网络信息中心教研室5.7continue语句#include<stdio.h>main(){intn;for(n=100;n<=200;n++){if(n%3==0) continue;printf(“%4d”,n);}}等价于:if(n%3!==0)printf(“%d”,n);continue语句实例

大学计算机基础网络信息中心教研室【例1】求10个正整数之和。

#include<stdio.h>main(){

inti,n,s=0;for(i=1;i<=10;i++){

scanf("%d",&n);

if(n<0) con

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论