1、Teacher teaching designCONTENTS 目 录自主学习 明确考点案例分析 交流提升课后作业 自我提升仿真演练,体验探索自主学习 明确考点PART 01do while;自主学习 明确考点考点一、dowhile循环语句结构及运行过程do.while型循环语句先执行循环体,执行一遍后再进行循环条件的判断,如果条件表达式值为“真”,则再次进入循环体的执行。这样循环往复,直到某次判断循环条件不成立,表达式之值为“假”,则退出循环,跳到循环语句后面执行其他语句。结构流程图如图所示(传统流程图和N-S流程图)循环体循环条件直到表达式为假循环体语句考点二、dowhile循环语句的运行
2、过程do while循环与while循环的不同之处仅在于,它先执行循环中的语句,然后再判断表达式是否为真,如果为真则继续循环;如果为假,则终止循环。因此,do-while循环至少要执行一次循环语句。案例分析 交流提升PART 02ABC输出的是1【例1】下面的程序的输出结果是()main()int x=3;do printf(%dn,x-=2);while(!(-x);输出的是3和0 输出的是1和-2 D案例分析 交流提升是死循环ABCD0-10 0-1 -1-1 0案例分析 交流提升【例2】下面程序的运行结果是()main()int y=10;doy-;while(-y);printf(%d
3、n,y-);printf(%dn,y);程序流程#includemain()int i=1,sum=0;do sum=sum+i;i+;while(i100sum=sum+ii+输出sum的值#include main()int a,b;char c,ch;printf(Enter integer a and b:);scanf(%d%d,&a,&b);printf(Enter character c and ch:);scanf(%c%c,&c,&ch);printf(a=%d b=%dn,a,b);printf(c=%d ch=%dn,c,ch);输入数据:Enter integer a
4、and b:123 456Enter character c and ch:AB运行结果 明确考点 交流提升思考:请分析程序运行后,结果产生的原因是?源程序运行结果:a=123 b=456c=10 ch=65main()float s=1.0;int n=1;do n=n+;s=s+1.0/n;while(s=10.0);printf(%d,n-1);这是一个求和的程序,除了第一项是1,后面的每一个加数都是一个真分数,为了使和达到10,因此,我们应设一个实型的变量s,用来存放和,每一项加数中的分子都使用1.0。这是一个未知循环次数的程序,所以最好选择用do-while循环解题思路明确考点 交流
5、提升设S=1+1/2+1/3+1/n,n为正整数,求使S不超过10(S10)的最大的n。源程序 仿真演练 体验探索PART 041、运行以下程序时,从键盘上输入ADescriptor(CR)后程序的运行结果是()#includemain()char c;int v0=1,v1=0,v2=0;do switch(c=getchar()casea:caseA:casee:caseE:casei:caseI:caseo:caseO:caseu:caseU:v1+=1;default:v0+=1;v2+=1;while(c!=n);print(%d,%d,%d,v0,v1,v2);A)7,4,7B)8
6、,4,8 C)11,4,11D)13,4,12仿真演练,体验探索1,-12、下面程序的运行结果是()main()int a=1,b=10;dob-=a;a+;while(b-0);printf(%d,%d,a,b);3.11仿真演练,体验探索2,84,9以下程序的输出结果是()#includemain()int i=10,j=0;do j=j+i;i-;while(i2);printf(%d,j);添加标题内容仿真演练,体验探索点击输入简要文字内容,需概括精炼,不用多余的文字修饰,言简意赅的说明分项内容。添加标题内容点击输入简要文字内容,需概括精炼,不用多余的文字修饰,言简意赅的说明分项内容。
7、添加标题内容下列程序是计算1+1/2+1/3+1/(n-1)+1/n的值。请找出并修改。main()int num=1,n;double sum=0;scanf(%d,&n);do sum+=sum;num+;while(num=n)printf(sum=%f,sum);仿真演练,体验探索课后作业 自我提升PART 05【1】编程求sum=1-1/2+1/3-1/4+1/5-+1/99-1/100的和;【2】有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13.求出这个数列的前20项之和;课后作业 自我提升【3】从键盘输入10个数,找出第一个能被7整除的数,若找到,打印此数后退出循环,若未找到,打印“no found”。【4】从键盘上输入一个数,判断它是否是一个素数