C语言程序设计循环结构.pptx
《C语言程序设计循环结构.pptx》由会员分享,可在线阅读,更多相关《C语言程序设计循环结构.pptx(33页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、本章主要本章主要内内容容 1.循循环结构构设计理念理念 2.for循循环语句句 3.while循循环语句句 4.dowhile循循环语句句 5.循循环嵌套嵌套 6.流程控制流程控制语句句第1页/共33页循循环结构构程序程序设计所谓循环是指使用一定条件对同一个程序段重复执行若干次。被重复执行的部分称为循所谓循环是指使用一定条件对同一个程序段重复执行若干次。被重复执行的部分称为循环体。环体。循环设计步骤循环设计步骤:step1:构造循环体构造循环体step2:寻找控制循环的变量寻找控制循环的变量step3:找出控制循环变量的找出控制循环变量的3个要素:初值、个要素:初值、继续循环的条件、使循环趋于
2、结束的部分。继续循环的条件、使循环趋于结束的部分。第2页/共33页循循环控制控制的的两种两种方法方法标志法主要用在循环次数不确定的情况下。基本思想是:设置一个标志变量,标志变量的值随着循环发生变化。每循环一次,就测试一次标志变量的值,当标志变量的值满足指定条件时,结束循环。计数法主要用在循环次数确定的情况下。基本思想是:设置一计数变量,称为计数器。循环开始前给出初始值,每循环一次,计数变量增1(即计一次数),直到计数变量的值到达指定次数。第3页/共33页C循循环语句句for语句while语句do-while语句第4页/共33页for语句语句语法形式:语法形式:for(表达式表达式1;表达式;表
3、达式2;表达式;表达式3)循环体;循环体;执行过程:执行过程:step1:先求解表达式先求解表达式1,表达式,表达式1只执行一次,一般是赋值语只执行一次,一般是赋值语句,用于初始化循环变量。句,用于初始化循环变量。step2:求解表达式求解表达式2,若为,若为0(假),则退出循环执行后续(假),则退出循环执行后续语句。若为非语句。若为非0(真),则执(真),则执行循环体。行循环体。step3:执行表达式执行表达式3。Step4:转回转回step2继续判断。继续判断。第5页/共33页for语句应用实例语句应用实例【例例4.1】在屏幕上显示一行在屏幕上显示一行6个个*。核心语句:核心语句:for(
4、i=1;i=6;i+)printf(*);执行次数执行次数循环变量循环变量i值值循环条件循环条件i=6循环体执行循环体执行表达式表达式3第第1次循环次循环i=1真真*i=2第第2次循环次循环i=2真真*i=3第第3次循环次循环i=3真真*i=4第第4次循环次循环i=4真真*i=5第第5次循环次循环i=5真真*i=6第第6次循环次循环i=6真真*i=7第第7次循环次循环i=7假假循环结束循环结束第6页/共33页for语句应用实例语句应用实例【例例4.2】求求1+2+3+100的累加和。的累加和。#include stdio.h#include stdio.hvoid main()void mai
5、n()int i,sum=0;int i,sum=0;for(i=1;i=100;i+)for(i=1;i100)if(i100)break;break;sum+=i;sum+=i;i+;i+;for(i=1;i=100;sum+=i,i+);for(i=1,j=10;ij;i+,j-)printf(%3d,i+j);第9页/共33页while语句语句语法形式:语法形式:while(while(表达式表达式)循环体;循环体;执行过程:执行过程:step1:求解表达式,若求解表达式,若为为0(假),则退出循(假),则退出循环执行后续语句。若环执行后续语句。若为非为非0(真),则执行(真),则执行
6、循环体。循环体。step2:转回转回step1继续继续判断。判断。表达式?表达式?循环体循环体非非0(0(真真)0(0(假假)后续语句后续语句第10页/共33页while语句应用实例语句应用实例【例例4.3】从键盘上读入一个非从键盘上读入一个非0的整数,统计该数的位数。的整数,统计该数的位数。#includestdio.h#includestdio.hvoid main()void main()int count=0,number;int count=0,number;printf(Please enter an integer:);printf(Please enter an integer
7、:);scanf(%d,&number);scanf(%d,&number);if(number0)number=-number;if(number0)number=-number;while(number!=0)while(number!=0)count+;count+;number=number/10;number=number/10;printf(It contains%d digits.n,count);printf(It contains%d digits.n,count);语句功能语句功能?第11页/共33页while语句应用实例语句应用实例【例例4.4】计算表达式计算表达式a+a
8、a+aaa+aaaa,其中,其中a与与x的值的值从键盘上输入。从键盘上输入。int a,x;int a,x;long sum=0,n=1,tn;long sum=0,n=1,tn;scanf(%d,%d,&a,&x);scanf(%d,%d,&a,&x);tn=a;tn=a;while(n=x)while(n=x)sum+=tn;sum+=tn;tn=tn*10+a;tn=tn*10+a;n+;n+;循环次数循环次数循环条件循环条件sumsum值值tntn值值n n值值第第1 1次次1=41=4为真为真0+20+22*10+22*10+22 2第第2 2次次2=42=4为真为真2+222+22
9、22*10+222*10+23 3第第3 3次次3=43=4为真为真24+22224+222222*10+2222*10+24 4第第4 4次次4=44=4为真为真246+2222246+22222222*10+22222*10+25 5第第5 5次次5=45=4为假为假第12页/共33页想一想?想一想?while(c=getchar()!=Y|c!=y|c!=N|c!=n);while(1);while(i);while(!i);第13页/共33页dowhile语句语句语法形式:语法形式:do 循环体;循环体;while(表达式表达式);执行过程:执行过程:step1:step1:执行执行d
10、odo后面循环体后面循环体中的语句;中的语句;step2:step2:求解求解whilewhile后圆括后圆括号内的表达式。若为号内的表达式。若为0 0(假),执行(假),执行step3step3;若;若为非为非0 0(真),转去继续(真),转去继续执行循环体。执行循环体。step3:step3:退出退出do-whiledo-while循循环,执行后续语句。环,执行后续语句。表达式?表达式?循环体循环体非非0(0(真真)0(0(假假)后续语句后续语句第14页/共33页dowhile语句应用实例语句应用实例【例例4.5】编写含有菜单的算术四则运算程序。编写含有菜单的算术四则运算程序。dodo p
11、rintf(n math exercise);printf(n math exercise);printf(n please enter your choice and numbers);printf(n please enter your choice and numbers);scanf(%d%dscanf(%d%d,&x,&y);,&x,&y);op=getchar();op=getchar();getchar();getchar();switch(op)switch(op)case 1:printf(n add is%d,x+y);break;case 1:printf(n add i
12、s%d,x+y);break;default:printf(n error.choice again n);break;default:printf(n error.choice again n);break;while(op!=5);while(op!=5);第15页/共33页循环嵌套循环嵌套 循环语句可以嵌套。在循环体语句中又包含另一个完整的循环结构的形式,称为循环语句可以嵌套。在循环体语句中又包含另一个完整的循环结构的形式,称为循环的嵌套。循环的嵌套。嵌套在循环体内的循环称为内循环,外面的循环称为外循环。嵌套在循环体内的循环称为内循环,外面的循环称为外循环。如果内循环体中又有嵌套的循环语
13、句,则构成多重循环。如果内循环体中又有嵌套的循环语句,则构成多重循环。for、while、do-while循环语句既可以并列,也可以相互嵌套,但要层次清楚,循环语句既可以并列,也可以相互嵌套,但要层次清楚,不能出现交叉不能出现交叉 。第16页/共33页循环嵌套的原则循环嵌套的原则对于多重循环,特别要注意给与循环有关的变量赋初值的位置;对于多重循环,特别要注意给与循环有关的变量赋初值的位置;内、外循环变量不能出现循环控制混乱,导致死循环或计算结果错误;内、外循环变量不能出现循环控制混乱,导致死循环或计算结果错误;应正确编写内、外循环的循环体,需要在内循环中执行的所有语句必须用应正确编写内、外循环
14、的循环体,需要在内循环中执行的所有语句必须用括起来括起来组成复合语句作为内循环体;属于外循环的语句应放在内循环体之外、外循环体之组成复合语句作为内循环体;属于外循环的语句应放在内循环体之外、外循环体之内;内;不应在循环中执行的操作应放在进入最外层循环之前或最外层循环结束之后;不应在循环中执行的操作应放在进入最外层循环之前或最外层循环结束之后;第17页/共33页循环嵌套应用举例循环嵌套应用举例【例例4-6】打印九九乘法表。打印九九乘法表。1*1=11*1=12*1=2 2*2=42*1=2 2*2=43*1=3 3*2=6 3*3=93*1=3 3*2=6 3*3=94*1=4 4*2=8 4*
15、3=12 4*4=164*1=4 4*2=8 4*3=12 4*4=165*1=5 5*2=10 5*3=15 5*4=20 5*5=255*1=5 5*2=10 5*3=15 5*4=20 5*5=256*1=6 6*2=12 6*3=18 6*4=24 6*5=306*1=6 6*2=12 6*3=18 6*4=24 6*5=307*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=427*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=428*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=568*1=8
16、 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=569*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=64 9*8=72 9*9=819*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=64 9*8=72 9*9=81for(i=1;i=9;i+)for(i=1;i=9;i+)for(j=1;j=i;j+)for(j=1;j=i;j+)printf(%d*%d=%-4d,i,j,i*j);printf(%d*%d=%-4d,i,j,i*j);printf(printf(nn););i=
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 循环 结构
限制150内