当前位置:文档之家› do while循环结构程序设计教案

do while循环结构程序设计教案

do while循环结构程序设计教案
do while循环结构程序设计教案

第五章循环结构程序设计

用do-while语句实现循环

【课程】:C语言程序设计

【课题】:循环结构程序设计

【授课对象】:职高高二计算机专业学生

【授课时数】:45分钟

【教学目标】:

认知目标

了解do-while循环的概念。

熟练掌握do-while循环的基本用法。

技能目标

能够正确分析问题,并得出解决方案

能够正确使用do-while循环

能够运用do-while循环解决一些必要的问题

情感和价值观目标

培养学生分析错误、独立思考、解决问题的能力

让学生学会合理规划生活,做事不断坚持的毅力

【教学重点】:do-while循环的基本思想

【教学难点】:循环到底怎么使用

【教学方法】:以实践法为主,其他方法为辅,尽量少讲理论性知识,将原理更简单的交给学生。

【教学步骤】:

1、复习引导

2、讲授新课

3、示例训练

4、课堂总结

5、作业布置

【教具】:黑板、粉笔、多媒体

【使用教材】:《C程序设计》第四版谭浩强著清华大学出版社

hjghjghjghhhghhgh

【教学过程】:

1、复习引导

用while 语句实现求从1到100的累加和引导学生复习while循环的知识#include

main()

{ int i,sum=0;

i=1;

while(i<=100)

{ sum=sum+i;

i++;

}

printf("%d",sum);

}

2、讲授新课

do-while语句的一般形式如下:

do 语句while (表达式);

先执行循环体,再判断表达式

1.执行循环体;

2.求解while 后圆括号内的表达式,若为非0则返回第1步;否则执行第3步;

3.结束循环,执行do-while 语句的下一语句。

例:用do …while 语句求:1+2+3+…+100,即∑=1001n n

解题思路:

用while 循环

#include

void main( )

{ int i=1,sum=0;

while(i<=100) 假(0)

真(非0)

表达式

语句

do

{ sum+=i ;

i++;

}

printf(“sum=%d",sum);

}

用do-while循环

#include

void main( )

{ int i=1,sum=0;

do

{ sum+=i ;

i++;

} while(i<=100);

printf(“sum=%d",sum);

}

注意事项:

1.do-while 语句的特征是“先执行,后判断”;循环体最少执行一次。

2.特别要注意while后加分号;

与while语句比较:

do 语句while (表达式);

while (表达式) 语句 ;

while是当型循环,先判断表达式,后执行循环体,当条件不成立就退出循环,可能一次也不执行,

而do-while是直到型循环,先执行一次循环体,后判断表达式,里面的循环语句至少会执行一次,

他们可以相互转化,功能基本相同

例5.3 while和do---while循环的比较

int i,sum=0;

printf(“i=?”);

scanf(“%d”,&i);

while(i<=10)

{

sum=sum+i;

i++;

}

printf(“sum=%d\n",sum);

int i,sum=0;

printf(“i=?”);

scanf(“%d”,&i);

do

{

sum=sum+i;

i++;

}while(i<=10);

printf(“sum=%d\n",sum);

3、示例训练

1、编程计算1~10的平方和

#include

main()

{int i=1,sum=0;

do{

sum+=i*i;

i++;

}while(i<=10 );

printf(“sum=%d”,sum);

}

2、鸡兔同笼,共有30个头,88只脚.求笼中鸡兔各有多少只?

3、编程计算π的近似值

公式为:

π=2*(2*2/1*3)*(4*4/3*5)*(6*6/5*7)*……*2n*2n/(2n-1)*(2n+1)]

4、程序阅读

main()

{ float score,sum=0;

int i=1,count=0;

while(i<=50)

{ printf(“input a score:\n”);

scanf("%f",&score);

sum+=score;

if (score<60)

count++;

i++;

}

printf(“sum=%10.2f, count=%d\n",sum,count);

}

4、课堂总结

1)do-while语句先执行循环语句后判断表达式。

2)do-while语句中特别要注意while后加分号

3)对于do-while循环而言,循环体最少执行一次

5、作业布置

1>从键盘输入正整数n,求n!(注意用do-while)

2.计算并输出100~999中的水仙花数(若3位数的各位数立

方之和等于该数本身,则称该3位数为水仙花数)。

(1)使用do-while语句实现;

(2)注意输出数据的格式控制。

3.从键盘输入80个字符,统计其中的空格、+ 、- 、* 、/ 、英文字母和其他字符的个数。

要求:

(1)使用do-while语句的嵌套形式实现;

(2)输出要有说明信息。

循环结构程序设计课后习题及答案

循环结构程序设计习题及答案 1、循环语句的三要素分别是、、。 2、for语句括号内的3个表达式的作用分别 是、、。 3、在2层循环嵌套中,外层循环语句的每个执行周期中,内层循环语句都要完整 地,只有当时,才结束整个循环。 4、在循环结构中,break语句的作用是;continue语句的作用是。 5、当循环条件一开始就为假时,对于while语句、do…while语句、for语句,分别执行循环体次、次、次。 6、下面程序段的执行次数: int a=0; while(a=0) { printf("good\n"); a--; } 7、下面程序段的执行次数: int a=0; while(a==0) { printf("good\n"); a--; } 8、下面程序段的执行次数: int a=1; while(a=1) { printf("good\n"); a++; } 9、下面程序段的执行次数: int a=1; while(a==1) { printf("good\n"); a++; } 10、下列程序段的运行结果是。 for(i=5;i>=0;i--) printf(“%d “,i); 11、下列程序段的运行结果是。 for(n=1;n<20;n=n+3) printf(“%d “,n); 12、下列程序段的运行结果是。 for( ch='a' ;ch<='e' ;ch++) printf(“%d“,ch-97);

13、下列程序段的运行结果是。 for(i=1,j=5 ; i100) break; } C、int a=0; D、int x=21; do while(x) { ++a; --x; }while(a>=0); 三、阅读程序,写出程序运行结果。 1、#include"stdio.h" main() { int i=0,sum=1; do { sum+=i; i++; }while(i<5); printf("%d\n",sum); } 程序运行结果: 2、 #include"stdio.h" main() { int a,b;

循环结构的优秀教案设计

循环结构的优秀教案设计 课题: §1.1.3(3)循环结构 授课教师:山东省东营市胜利一中李玉华 教材:人教B版高中数学必修3 一、教学目标: 1.知识与技能目标 ①理解循环结构,能识别和理解简单的框图的功能。 ②能运用循环结构设计程序框图解决简单的问题。 2.过程与方法目标 通过模仿、操作、探索,学习设计程序框图表达,解决问题 的过程,发展有条理的思考与表达的能力,提高逻辑思维能力。 3.情感、态度与价值观目标 通过本节的自主性学习,让学生感受和体会算法思想在解决 具体问题中的意义,增强学生的创新能力和应用数学的意识。 三、教法分析 二、教学重点、难点 重点:理解循环结构,能识别和画出简单的循环结构框图, 难点:循环结构中循环条件和循环体的确定。 三、教法、学法 本节课我遵循引导发现,循序渐进的思路,采用问题探究式

教学。运用多媒体,投影仪辅助。倡导"自主、合作、探究" 的学习方式。 四、教学过程: (一)创设情境,温故求新 引例:写出求的值的一个算法,并用框图表示你的算法。 此例由学生动手完成,投影展示学生的做法,师生共同点评。鼓励学生一题多解--求创。 设计引例的目的是复习顺序结构,提出递推求和的方法,导 入新课。此环节旨在提升学生的求知欲、探索欲,使学生保 持良好、积极的情感体验。 (二)讲授新课 1.循序渐进,理解知识 【1】选择"累加器"作为载体,借助"累加器"使学生经历把"递推求和"转化为"循环求和"的过程,同时经历初始化变量,确定循环体,设置循环终止条件3个构造循环结构的关键步骤。 (1)将"递推求和"转化为"循环求和"的缘由及转化的方法和途径 引例"求的值"这个问题的自然求和过程可以表示为: 用递推公式表示为: 直接利用这个递推公式构造算法在步骤中使用了共100个变量,计算机执行这样的算法时需要占用较大的内存。为了节

循环结构程序设计练习题 内含答案

第三单元循环结构练习题 选择题: 1、有以下程序执行后的输出结果是( D )。 main( ) { int i,s=0; for(i=1;i<10;i+=2) s+=i+1; printf("%d\n",s);} A.自然数1~9的累加和 B.自然数1~10的累加和 C.自然数1~9中的奇数之和 D.自然数1~10中的偶数之和 2、以下关于for语句的说法不正确的是( A )。 A. for循环只能用于循环次数已经确定的情况 B. for循环是先判断表达式,后执行循环体语句 C. for循环中,可以用break跳出循环体 D. for循环体语句中,可以保含多条语句,但要用花括号括起来 3、若i和k都是int类型变量,有以下for语句 for(i=0,k=-1;k=1;k++) printf("*****\n"); 下面关于语句执行情况的叙述中正确的是( d )。 A.循环体执行两次 B.循环体执行一次 C.循环体一次也不执行 D.构成无限循环 4、以下程序程序的执行后的输出结果是( c )。 main() {int i,t[][3]={9,8,7,6,5,4,3,2,1}; for(i=0;i<3;i++) printf(“%d”,t[2-i][i]);} A.7 5 3 B. 3 5 7 C.3 6 9 D.7 5 1 5、以下程序运行后的输出结果是( A )。 void fun(char*s) { while(*s) { if(*s%2==0) printf(“%c”,*s); s++;} } main() { char a[]={“good”};fun(a);printf(“\n”);} 注意:字母a的ASCⅡ码值为97 A.d B.go C.god D.good 6、已知 int t=0; while(t=1){...} 则以下叙述正确的是( B )。 A)循环控制表达式的值为0 B)循环控制表达式的值为1 C)循环控制表达式不合法 D)以上说法都不对 7、设有以下程序段 B int x=0,s=0; while(!x!=0)s+=++x; printf("%d",s); 则 A)运行程序段后输出0

循环结构程序设计代码

实验五代码: 基础能力落实: 1)编写一个程序,将用分钟表示的时间转化成以小时和分钟表示的时间。使用#define 或者const来创建一个代表60的字符常量。使用while循环来允许用户重复键入值,并且当键入一个小于等于0的时间时终止循环。要求用while语句 #include int main(void) { const int minperhour = 60; int minutes, hours, mins; printf("Enter the number of minutes to convert: "); scanf("%d", &minutes); while (minutes > 0 ) { hours = minutes / minperhour; mins = minutes % minperhour; printf("%d minutes = %d hours, %d minutes\n", minutes, hours, mins); printf("Enter next minutes value (0 to quit): "); scanf("%d", &minutes); } printf("Bye\n"); return 0; } 2)编写一个程序打印一个表,表的每一行都给出一个整数,它的平方以及它的立方,要求用户输入表的上限和下限。使用一个for循环。 #include int main( void ) { int lower, upper, index; int square, cube; printf("Enter starting integer: "); scanf("%d", &lower);

《循环结构程序设计》教案

《循环结构程序设计》的教学设计 涞源职教中心高海龙 【教材分析】本节《循环结构程序设计》是职业学校电子类教材数据库应用技术FOXBASE+第七章第五节内容。本节课是数据库结构程序设计的一个重点;也是综合运用三种基本结构程序设计的一个难点;更是学生逻辑思维能力、创造能力、综合能力的一个重要体现。 【学情分析】我授课的班级1105班为计算机专业毕业班学生,数据库是他们对口升学专业考试科目之一,另外本课程对于学生毕业后能独立适应工作需要将起到很重要的奠定基础作用。因此该门课程的设立对他们尤其重要。这个班学生的整体素质很好,而且都是有升学愿望的,所以在教学中我注重教师演示讲解、学生实际动手操作,并给学生自我展示的机会,让他们自己解题,自己讲题,既锻炼了学生解决问题、创新解题的能力,培养了学生学习的兴趣,还使其能克服胆怯心理,提高语言表达能力,真正做到了教学相结合,以达到预期效果。 在信息技术能力方面:高三年级的学生已经历了三年的计算机知识的学习,都具备了熟练操作和使用Windows、Dos操作系统及数据库软件的能力。在计算机知识方面:高三学生已经学完了Foxbase+语言这门课程,已经具备了利用三种基本结构进行结构化程序设计的能力。 【设计思路】因为本节课既是一节计算机语言复习总结课又是一节改革教学组织形式的创新课,所以更应该为学生营造一个和谐、轻松又丰富多彩的学习氛围,因此在整个学习过程中都以利用一个制作美观、新颖的Flash课件作为主线,一步步地来完成学生对知识点的总结、巩固、创新的过程。首先教师引导学生观看事先准备好的课件,观看非常精美、有趣的总界面,然后再引导学生通过一个个地进入在总界面上的前提测评、目标深化、互动课堂、课堂小结、课后作业几个链接来完成本节课的学习任务。其中目标实施部分主要采用任务驱动式教学法、启发式教学法、多媒体网络式授课法等多种教学法相结合,培养学生自主学习、自我归纳的能力;互动课堂部分主要采用“小先生教学法”,让“小先生”自己研究问题—解决问题—阐述问题,实质是让学生作学习的主人,这种“自主学习,自主讲评”改变了以往的传统教学模式,充分体现新课改的精神,即以“学生为主体”、“教师是学生学习的促进者”。 【教学目标】知识目标:①复习单循环结构、多重循环结构的命令格式及功能;②利用循环结构命令语句进行结构化程序设计;能力目标:①培养学生对所学知识的总结概括能力;②培养学生的研究性学习能力;③培养学生的逻辑思维能力和上机操作能力。情感目标:①培养学生主动学习、温故知新、归纳总结的意识;②培养学生的创新意识和团结协作精神;③培养学生勇于自我展示,树立自信心的意识。 【教学重点】(及解决措施)让学生能够熟练地掌握、灵活地运用循环结构进行结构化程序设计,并且培养学生的创新能力。为了突破本次课的重点本次教学活动中充分利用多媒体手段为学生创造一个轻松、活泼的情境,来激发学生学习的兴趣,创造一个和谐交流、动手实践的氛围。既使学生自主获得了知识,又培养了他们的创造性思维。 【教学难点】(及解决措施)能够使学生将以前所学习过的知识有机地结合在一起,并且充分发挥自己的创造力,利用三种基本结构进行编程。为了突破本次课的难点本节课主要采取“小先生教学法”。即让学生走上讲台,充当教师的角色,进行一些平日只有教师主导下完成的教学目标和任务。让学生由后台走到前台,让小先生自己研究问题— 1

循环结构程序设计典型例题

循环结构程序设计典型例题 例1有数列2/3、4/5、6/9、10/15……求此数列前30项的和。 算法分析: 对于数列的题,首先要找出通项公式,或前后项的计算关系公式,根据公式求所需。由于数列的题一般执行次数能确定,用for语句来编写比较方便。 此题,前后项的关系是:后一项的分子是前一项的分母加1,后一项的分母是前一 项的分子加分母。解题思路是用循环语句求各项,并把值累加,因为是求前30项的和,循环执行30次。 1.初值i=2,j=3,s=0; 2.用n从1到30循环 3.s=s+ i/j; 4.c=i; i=j+1; j=c+j; 5输出s; 程序: #in clude mai n() { int i=2,j=3, n,c; float s=0; for(n=1; n<=30 ;n++) { s=s+(float)i/j; c=i; i=j+1; j=c+j; } printf( "n%f” ,s); } 此题中的n与循环体中的执行语句没有数值上的联系,仅仅用做决定循环执行的次数。 例2:下面这个程序,想想它实现的是什么功能? #in clude mai n() { int i,s=0; for(i=1;i<=100;i++) {if(i%5==0) continue; s=s+i; } printf( n“d' ,s); } 在左边的程序中,i从1到100循环,当i是5的倍数时,直接进入下一个i,当i不是5的倍数时,把i累加到s,最后输出s。所以,这个程序实现的是求1~100中间所有非5的倍数的数之和。 例3:输出n~m中(0<*m)能被3整除,且至少有一个数字是5的所有数。 算法分析:

C语言循环结构复习题

循环结构程序设计复习题 一.选择题 1.以下while循环中,循环体执行的次数是:() k=1; while (--k) k=10; a) 10次b) 无限次c) 一次也不执行d) 1次2.有以下程序段,其中x为整型变量,以下选项中叙述正确的是:() x=0; while (!x!=0) x++; a) 退出while循环后,x的值为0 b) 退出while循环后,x的值为1 c) while的控制表达式是非法的 d) while循环执行无限次 3. 有以下程序段,其中n为整型变量,执行后输出结果是:() n=20 ; while(n--) ; printf(“%d”,n) ; a) 2 b) 10 c) -1 d) 0 4. 有以下程序段,其中t为整型变量,以下选项中叙述正确的是:() t=1;

while (-1) { t--; if(t) break;} a) 循环一次也不执行 b) 循环执行一次 c) 循环控制表达式(-1)不合法 d) 循环执行2次 5. 有以下程序段,其中x为整型变量,以下选项中叙述正确的是:() x=-1; do {;} while (x++); printf(“x=%d”,x); a) 该循环没有循环体,程序错误 b) 输出x=1 c) 输出x=0 d) 输出x=-1 6. 有以下程序段,其中x,y为整型变量,程序输出结果是:() for(x=0,y=0;(x<=1)&&(y=1);x++,y--) ; printf(“x=%d,y=%d”,x,y); a) x=2,y=0 b) x=1,y=0

x=0,y=0 d) x=1,y=1 c) 解析:在开始时 x=0,y=0; 进入循环判断(x<=1)&&(y= 1) 条件成立,同时把1赋给y,此时x=0,y=1; 然后执行 x++,y--,执行之后x=1,y=0; 再进入循环判断(x<=1)&&(y= 1),条件成立,同时同时把1赋给y,此时x=1,y=1; 然后执行 x++,y--,执行之后x=2,y=0; 再进入循环判断(x<=1)&&(y= 1),条件不成立,跳出循环 输出x=2,y=0 。 7. 有以下程序: main() { int x=0,y=0; while(x<5&&++y) y--,x++; printf(“%d,%d”,y,x); } 程序的输出结果是:() a) 0,5 b) 1,5 c) 0,4 d) 1,4 8. 有以下程序:main() int num=0; { do ,num); } { num++ ;printf(“%d\n” while(num<=2); } 程序的输出结果是:() 1 1c) 1 d)

循环结构教学设计

《循环结构》教学设计 一、教学目标 1.知识与技能目标 ①理解循环结构,能识别和理解简单的框图的功能。 ②能运用循环结构设计程序框图解决简单的问题。 2.过程与方法目标 通过模仿、操作、探索,学习设计程序框图表达,解决问题的过程,发展有条理的思 考与表达的能力,提高逻辑思维能力。 3.情感、态度与价值观目标 通过本节的自主性学习,让学生感受和体会算法思想在解决具体问题中的意义,增强学生的创新能力和应用数学的意识。三、教法分析 二、教学重点、难点 重点:理解循环结构,能识别和画出简单的循环结构框图, 难点:循环结构中循环条件和循环体的确定。 三、教法、学法 本节课我遵循引导发现,循序渐进的思路,采用问题探究式教学。运用多媒体,投影仪辅助。倡导“自主、合作、探究”的学习方式。 四、教学过程 (一)创设情境,温故求新 引例:写出求的值的一个算法,并用框图表示你的算法。 此例由学生动手完成,投影展示学生的做法,师生共同点评。鼓励学生一题多解── 求创。 设计引例的目的是复习顺序结构,提出递推求和的方法,导入新课。此环节旨在提升学生的求知欲、探索欲,使学生保持良好、积极的情感体验。 (二)讲授新课 1.循序渐进,理解知识 【1】选择“累加器”作为载体,借助“累加器”使学生经历把“递推求和”转化为“循环求和”的过程,同时经历初始化变量,确定循环体,设置循环终止条件3个构造循环 结构的关键步骤。 (1)将“递推求和”转化为“循环求和”的缘由及转化的方法和途径引例“求的值”这个问题的自然求和过程可以表示为: 用递推公式表示为: 直接利用这个递推公式构造算法在步骤中使用了共100

个变量,计算机执行这样的算法时需要占用较大的内存。为了节省变量,充分体现计算机能以极快的速度进行重复计算的优势,需要从上述递推求和的步骤中提取出共同 的结构,即第n步的结果=第(n-1)步的结果+n。若引进一个变量来表示每一步的计算结果,则第n步可以表示为赋值过程。 (2)“”的含义 利用多媒体动画展示计算机中累加器的工作原理,借助形象直观对知识点进行强调说明① 的作用是将赋值号右边表达式的值赋给赋值号左边的变量 。 ②赋值号“=”右边的变量“”表示前一步累加所得的和,赋值号“=”左边的 “”表示该步累加所得的和,含义不同。 ③赋值号“=”与数学中的等号意义不同。在数学中是不成立的。 借助“累加器”既突破了难点,同时也使学生理解了中的变化和 的含义。 (3)初始化变量,设置循环终止条件 由的初始值为0,的值由1增加到100,可以初始化循环变量和设置循环终止 条件。 【2】循环结构的概念 根据指定条件决定是否重复执行一条或多条指令的控制结构称为循环结构。 教师学生一起共同完成引例的框图表示,并由此引出本节课的重点知识循环结构的概念。这样讲解既突出了重点又突破了难点,同时使学生体会了问题的抽象过程和算法的构建过程。还体现了我们研究问题常用的“由特殊到一般”的思维方式。 2.类比探究,掌握知识 例1:改造引例的程序框图表示 ①求的值 ②求的值 ③求的值 ④求的值 此例可由学生独立思考、回答,师生共同点评完成。 通过对引例框图的反复改造逐步帮助学生深入理解循环结构,体会用循环结构表达算 法,关键要做好三点: ①确定循环变量和初始值 ②确定循环体 ③确定循环终止条件。 例2:根据程序框图回答下面的问题 (1)图中箭头指向①时,输出=______;指向②时输出=_____. (2)该程序框图的算法功能是_______________________.

循环结构程序设计典型例题

循环结构程序设计典型例题 例1:有数列2/3、4/5、6/9、10/15……求此数列前30项的和。 算法分析: 对于数列的题,首先要找出通项公式,或前后项的计算关系公式,根据公式求所需。由于数列的题一般执行次数能确定,用for语句来编写比较方便。 此题,前后项的关系是:后一项的分子是前一项的分母加1,后一项的分母是前一项的分子加分母。解题思路是用循环语句求各项,并把值累加,因为是求前30项的和,循环执行30次。 1. 初值i=2,j=3,s=0; 2. 用n从1到30循环 3. s=s+ i/j; 4. c=i; i=j+1; j=c+j; 5.输出s; 程序: #include<> main( ) { int i=2,j=3,n,c; float s=0; for(n=1;n<=30;n++) { s=s+(float)i/j; c=i; i=j+1; j=c+j; } printf(“\n%f”,s); } 此题中的n与循环体中的执行语句没有数值上的联系,仅仅用做决定循环执行的次数。 例2:下面这个程序,想想它实现的是什么功能? #include<> main( ) { int i,s=0; for(i=1;i<=100;i++) {if(i%5==0) continue; s=s+i; } printf(“\n%d”,s); } 在左边的程序中,i从1到100循环,当i是5的倍数时,直接进入下一个i,当i不是5的倍数时,把i累加到s,最后输出s。所以,这个程序实现的是求1~100中间所有非5的倍数的数之和。 例3:输出n~m中(0

程序的循环结构教学设计

《程序的循环结构》 北京师范大学励耘实验学校牛静 一、教材依据 广东教育出版社出版的2007-2008学年普通高中课程标准实验教科书《算法与程序设计(选修)》中第二章《程序设计基础》中的第四节《程序的循环结构》。 二、设计思想 ⒈教学设计指导思想 以建构主义理论为指导进行本节课教学设计。设计以学生为中心,以解决问题为主线,引领学生经历“分析问题——设计算法——编写程序——调试程序”等用计算机解决问题的过程,体验程序设计的一般方法,展示问题求解的思维过程和方法,培养学生分析问题、解决问题的能力。强调教师对问题情境的创造性设置,突出学生主动思考、分析、比较的过程和实践的活动。 体现新课程的理念,引导学生注意寻找、发现身边的实际问题,从简单问题出发,设计解决问题的算法,并能初步选择使用恰当的循环语句解决问题,从而培养学生运用信息技术解决实际问题的能力,力争让学生将所学的信息技术应用到学习、生活实践中。 信息技术课程标准中对应要求是:“会使用程序设计语言实现顺序、选择、循环三种控制结构。初步掌握调试、运行程序的方法。 ⒉教材分析 《程序的循环结构》是广东教育出版社出版的普通高中课程标准实验教科书《算法与程序设计(选修)》中第二章《程序设计基础》中的第四节《程序的循环结构》,本节课是其中的第二节课,前面同学们已经学习了用For语句实现循环。循环结构是程序设计中的重点也是难点。 ⒊教学对象分析

⑴学生已经学习了程序的顺序结构、选择结构和循环结构中的For循环。 ⑵掌握了For循环语句的格式、功能和执行过程。 三、教学目标 知识与技能:理解Do循环语句的基本格式、功能和执行过程 过程与方法:初步学会使用Do循环语句解决简单实际问题,初步掌握根据条件选择恰当的循环语句来解决简单问题的方法。 情感态度价值观:通过对不同循环语句解决问题的过程进行比较,体会到解决问题时要具体问题具体分析。 四、教学重点、难点 教学重点:学会使用Do循环语句来实现循环控制结构,解决简单问题。 教学难点:根据条件选择恰当的循环语句来解决简单问题。 五、教学方法 讲授法、讨论法、任务驱动、上机实践法、探究法等。 六、教学准备 ⒈教学用具: 多媒体网络教室及教学系统、、课件。 ⒉学习效果评价设计: ⑴问题一、问题二两道上机实践题完成情况; ⑵学习资料上的两道“想一想”题完成情况 ⑶学习活动中的表现 评价量规

循环程序设计习题及答案

模块三循环程序设计习题及答案 一、填空题 1、当在数据处理中要重复执行相同的操作时,宜采用程序结构来实现。 2、循环的3要素是、、。 3、在循环语句体中包含另一个循环语句的用法称为。 4、执行循环语句体中的break语句后将使用包含它的循环语句。 5、要结束当前正在执行循环体语句而直接进入下一循环周期,需要执行语句。 6、在for语句中表达式允许省略,但不能少,语句for( ; ;) ;构成的是循环。 7、在for语句中,省略表达式2时,则循环为循环。 8、执行语句for(i=1;i++<4; );后变量i的值是。 9、要使用循环程序提前结束本次循环周期并开始下一个循环周期,应在循环体内有条件使用语句。 10、在每次循环周期均要执行一次的语句,称为。 11、for语句括号内的3个表达式的作用分别是、和循环控制变量的更新。 二、选择题 1、若k为整形变量,则while循环共循环()。 k=5; while(k>=0) k-1; A、无限循环 B、6次 C、5次 D、4次 2、与while( ! n) ; 中表达式!dn等价的是()。 A、dn>=0 B 、dn!=0 C、dn == 0 D、dn != 1 3、以下程序段,while循环执行的次数是() int k=0;

while( k == 1) k++; A、无限次 B、有语法错,不能执行 C、一次也不执行 D、执行1次 4、在C语言中,当do while语句中的条件为()时,结束该循环。 A、0 B、1 C、TRUE D、非0 5、下面程序段的输出结果是() do { b-=a; a++; }while(b--<0); A、10,-1 B、2,8 C、9,0 D、4,-3 6、以下描述正确的是() A、由于do while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句。 B、do while循环由do开始,用while结束,在while(表达式)后面不能写分号 C、在do while循环体中,一定要有能使while后面匠值变为零的操作 D、do while循环中,根据情况可以省略while 7、若有如下程序段,其中s、a、b、c均已定义为整型变量,且a、c均已赋值(c大于0)。 s=c; for(b=1;b<=c;b++) s=s+1; 则与上述程序段功能等价的赋值语句是() A、s=a+b; B、s=a+c; C、s=s+c; D、s=b+c; 8、假定a,b,c,d均已定义为整型变量,且a、c均已赋值,a大于0,c大于0,则与程序段for(d=a,b=1;b<=c;b++) d--;功能等价的语句是() A、d=a+b; B、d=a+c; C、d=a-b; D、d=a-c 9、下列关于for循环的说法正确的是() A、for循环只能用于循环次数已经确定的情况

高中信息技术_程序的循环结构教学设计学情分析教材分析课后反思

程序的循环结构教学设计 一、教材分析 本节课是广东教育出版社出版《算法与程序设计(选修)》中第二章《程序设计基础》中的第四节《程序的循环结构》内容。 信息技术课程标准中对应要求是:“会使用程序设计语言实现顺序、选择、循环三种控制结构。初步掌握调试、运行程序的方法。 教材通过“超级水稻种植试验的统计分析”、“陈婷植树”、“乘法表”等典型例题,引导学生经历分析问题、设计算法、编写程序、调试程序等用计算机解决问题的过程。通过分析程序,介绍了VB语言的FOR循环语句和Do循环语句的格式、功能和执行过程。 二、设计思想 ⒈教学设计指导思想 设计以学生为中心,以解决问题为主线,引领学生经历“分析问题——设计算法——编写程序——调试程序”等用计算机解决问题的过程,体验程序设计的一般方法,展示问题求解的思维过程和方法,培养学生分析问题、解决问题的能力。强调教师对问题情境的创造性设置,突出学生主动思考、分析、对比和实践探究的过程。 三、教学目标 知识与技能:掌握循环语句的基本格式,理解循环语句的功能和执行过程。 过程与方法:学会使用循环语句解决简单实际问题,初步掌握根

据条件选择恰当的循环语句来解决简单问题的方法。 情感态度价值观:通过对不同循环语句解决问题的过程进行比较,体会到解决问题时要具体问题具体分析。 四、教学重点、难点 教学重点:循环语句的基本格式和执行过程. 教学难点:利用循环结构程序解决生活中的实际问题. 五、教学方法 讲授法、讨论法、任务驱动、探究法等。 六、教学准备 ⒈教学用具: 多媒体网络教室及教学系统、VB6.0、课件。 七、教学过程

3 3 2. DO循环语句的基本格式和执行过程 DO循环执行过程板书 引导 分析 讲 观察 思考 理解 思考 学会 明确学习 内容

循环结构程序设计:三种循环语句

一、循环结构(Iteration Structure)的概述 1.目的 为了解决含有重复处理内容的问题,必须采用循环语句(Loop Statement)来编程实现。 2.类型 (1)当型循环结构 (2)直到型循环结构 二、循环语句 1.while语句 ①功能:实现当型循环结构。 ②形式 while(表达式){ 循环体 } ③特点:先判断后执行。 ④举例:(累加和问题)编程计算整数1~100的和。 int i ; //循环变量 int sum = 0 ; //累加和清0 i = 1 ; //循环变量i赋初值 while( i <= 100){ sum = sum + i ; //循环变量累加到sum中 i = i + 1; //改变循环变量i的值 } 2.do-while语句 ①功能:实现直到型循环结构。 ②形式 do{ 循环体

}while(表达式); //注意最后的分号 ③特点:先执行后判断。 ④举例:修改上例。 /*利用do-while语句编程实现整数1~100的和。*/ int i ; //循环变量 int sum = 0 ; //累加和清0 i = 1 ; //循环变量i赋初值 do{ sum = sum + i ; //循环变量累加到sum中 i = i + 1; //改变循环变量i的值 }while(i<=100);//注意最后的分号 3.for语句 ①功能:实现当型循环结构。 ②形式 for(表达式1;表达式2;表达式3){ 循环体 } ③特点:先判断后执行;使用频率最高。 ④举例:修改上例。 /*使用for语句编程计算整数1~100的和。*/ int i ; //循环变量 int sum = 0 ; //累加和清0 for( i = 1 ; i <=100 ; i++ ){//第一个表达式完成循环变量i赋初值;第三个表达式实现改变循环变量i的值 sum = sum + i ; //循环变量累加到sum中 } 4.几种循环语句的比较 ①由于while语句和for语句均实现当型循环结构,两者是完全等价的。 for(表达式1;表达式2;表达式3){

循环结构程序设计课后习题及答案

循环结构程序设计习题及答案1、循环语句的三要素分别 是、、。 2、for语句括号内的3个表达式的作用分别 是、、。 3、在2层循环嵌套中,外层循环语句的每个执行周期中,内层循环语句都要完整地,只有当时,才结束整个循环。 4、在循环结构中,break语句的作用是;continue语句的作用是。 5、当循环条件一开始就为假时,对于while语句、do…while语句、for 语句,分别执行循环体次、次、 次。 6、下面程序段的执行次数: int a=0; while(a=0) { printf("good\n"); a--; } 7、下面程序段的执行次数: int a=0; while(a==0)

{ printf("good\n"); a--; } 8、下面程序段的执行次数: int a=1; while(a=1) { printf("good\n"); a++; } 9、下面程序段的执行次数: int a=1; while(a==1) { printf("good\n"); a++; } 10、下列程序段的运行结果是。 for(i=5;i>=0;i--) printf(“%d “,i); 11、下列程序段的运行结果是。 for(n=1;n<20;n=n+3) printf(“%d “,n); 12、下列程序段的运行结果是。

for( ch='a' ;ch<='e' ;ch++) printf(“%d“,ch-97); 13、下列程序段的运行结果是。 for(i=1,j=5 ; i

C语言循环结构练习题带答案

第5章循环结构程序设计 练习题 1. 单项选择题 (1)语句while (!e);中的条件!e等价于 A 。 A. e==0 B. e!=1 C. e!=0 D. ~e (2)下面有关for循环的正确描述是 D 。 A. for循环只能用于循环次数已经确定的情况 B. for循环是先执行循环体语句,后判定表达式 C. 在for循环中,不能用break语句跳出循环体 D. for循环体语句中,可以包含多条语句,但要用花括号括起来 (3)C语言中 D 。 A. 不能使用do-while语句构成的循环 B. do-while语句构成的循环必须用break语句才能退出 C. do-while语句构成的循环,当while语句中的表达式值为非零时结束循环 D. do-while语句构成的循环,当while语句中的表达式值为零时结束循环 (4)C语言中while和do-while循环的主要区别是 A 。 A. do-while的循环体至少无条件执行一次 B. while的循环控制条件比do-while的循环控制条件严格 C. do-while允许从外部转到循环体内 D. do-while的循环体不能是复合语句 (5)以下程序段 C 。 int x=-1; do { x=x*x; } while (!x); A. 是死循环 B. 循环执行二次 C. 循环执行一次 D. 有语法错误 (6)下列语句段中不是死循环的是__C__。

第5章循环结构程序设计35 A. i=100; while (1) { i=i%100+1; if (i==20) break; } B.for (i=1;;i++) sum=sum+1; C.k=0; do { ++k; } while (k<=0); D.s=3379; while (s++%2+3%2) s++; (7)与以下程序段等价的是__A__。 while (a) { if (b) continue; c; } A. while (a) B. while (c) { if (!b) c; } { if (!b) break; c; } C. while (c) D. while (a) { if (b) c; } { if (b) break; c; } (8)以下程序的输出结果是_B___。 #include main() { int i; for (i=4;i<=10;i++) { if (i%3==0) continue; COUT<

顺序结构程序设计练习题

C语言练习题总汇 一、单选题: 【顺序结构程序设计】 1.己知int k,m=1;执行语句k=-m++;后k的值是(A )。(提示:负号与自加运算符同级,结合方向从右向左) A)-1 B) 0 C)1 D)2 2.若有定义int x=4;则执行语句x + = x * = x + 1;后,x的值为(C )。A)5 B)20 C)40 D)无答案 3.若有定义:float a=,b=,c=;则表达式1/2*(a+b+c)的值为( C )。 A) B)6 C) D)无答案 4.以下程序段的输出结果是( C )。(提示:a当约束过严时,约束失效。按自由格式输出。) int a=1234; printf("%2d\n",a); A)12 B)34 C)1234 D)提示出错,无结果 5.下列程序段的输出结果是(C)。 int a=1234; float b=; double c=; printf("%2d,%,%",a,b,c); A)无输出 B)12, , C)1234,, D)1234,, 6.设x, y均为整型变量,且x=8, y=5,则以下语句的输出结果是(D)。

printf("%d,%d\n",x--,++y); A)8,5 B)7,5 C) 7,6 D) 8,6 7.以下程序的输出结果是( A )。 int main() { int a=20,b=10; printf("%d,%%d\n",a+b,a-b); } A) 30,%d B)30,10 C)30,%10 D)以上答案均不正确(%%d中第一个%后面的表示字符) 8.下列程序的运行结果是(A)。 int main() { float x=; int y; y=(int)x; printf("x=%f,y=%d",x,y);} A) x=,y=2 B)x=,y=2 C)x=2,y=2 D) x=,y= 9.以下程序的输出结果是(A)。 int main() { char c=‘z’; printf("%c",c-25);} A)a B)z C)z-25 D)y (字母共有26个,而z是最后一个) 10.下面程序的输出结果是(C)。 int main( )

第5章 循环结构程序设计作业参考答案

第5章循环结构程序设计作业参考答案 班级学号姓名 【第140页】 5-1、请画出课本里5.6中给出的3个程序段的传统流程图。 (1)程序1: #include int main() { int i,j,n=0; for (i=1;i<=4;i++) for (j=1;j<=5;j++,n++) { if(n%5==0)printf("\n"); //控制在输出5个数据后换行 printf("%d\t",i*j); } printf("\n"); return 0; } (2)程序2: #include int main() { int i,j,n=0; for (i=1;i<=4;i++) for (j=1;j<=5;j++,n++) { if(n%5==0)printf("\n"); //控制在输出5个数据后换行 if (i==3 && j==1) break; //遇到第3行第1列,终止内循环 printf("%d\t",i*j); } printf("\n"); return 0; } (3)程序3: #include int main() { int i,j,n=0; for (i=1;i<=4;i++)

for (j=1;j<=5;j++,n++) { if(n%5==0)printf("\n"); //控制在输出5个数据后换行 if (i==3 && j==1) continue; //遇到第3行第1列,提前结束执行本次内循环体 printf("%d\t",i*j); } printf("\n"); return 0; } (1)程序1流程图(2)程序2流程图(3)程序3流程图 5-3、输入两个正整数m和n,求其最大公约数和最小公倍数。 #include int main()

实验三 循环结构程序设计(教案)

实验教案 一、实验目的 (1) 掌握while、do~while、for语句的使用。 (2) 掌握循环体内使用break、continue语句的作用。 (3) 掌握循环及嵌套循环结构的程序设计方法。 二、实验准备 1.C语言实现循环的方法 ①goto 和if 构成的循环:由于goto是无条件转向,不符合结构化程序设计思想,所以不建议使用。 ②while循环:实现“当型”循环,首先判断循环条件,当条件为真,执行循环体,再判断循环条件……此种循环有可能一次也不执行循环体。 ③do~while循环:实现“直到型”循环,与while循环的区别是先执行循环体,再判断循环条件,当循环条件为真,再执行循环体……此种循环至少执行一次循环体。 ④for循环:与while循环类似,一般用于知道循环变量初值、终值及步长值的循环。 2.break 和continue 语句 ①break 语句:可用在循环体或switch语句中,作用是跳出其所在的控制结构。若是在循环体中,则是跳出其所在的循环,使得循环不止一个出口。 ②continue语句:只能用在循环体中,其作用是结束本层本次循环,注意不是退出循环。 3.阅读以下程序,并分析其功能,调试运行程序后再分析其运行结果。 ①掌握三种方法求1到100的累加和。 文件名为ex3-1-1.c,内容如下: # include main() { int sum=0,i=1; while(i<=100) sum+=i++; // 等价于:{ sum=sum+i; i++; } printf("sum is %d\n",sum); } 文件名为ex3-1-2.c,内容如下: # include main() { int sum=0,i=1; do sum+=i++; while(i<=100); printf("sum is %d\n",sum); } 文件名为ex3-1-3.c,内容如下: # include main()

VB程序设计FORNEXT循环结构教学设计

《VB程序设计For…Next循环结构》教学设计 江苏省武进高级中学现代教育技术组吴涛 一、教学目标设计 本课内容的学习建立在学生已经学习过第五节《分支结构》的基础上,结合程序设计的三种基本结构,重点介绍循环结构For…Next展开的。在前面几节的学习中,问题比较简单,算法也不复杂,不画流程图也能比较清楚的描述出来。引入分支结构后,需要根据条件的真假,从两条路径中选择一条执行,算法逐渐复杂,流程图愈发显得重要,所以在介绍循环结构处理问题时时一定要配以流程图介绍。 本课内容设计很多程序的分析,以及讨论程序执行结果,如果在教室里面上,写板书的时间就浪费了,但如果用多媒体演示教学,学生只有简单的理性和感性认识,而学生的实践操作这一环就缺少了,相应认知效果就不明显了,利用网络课件,学生可以自己浏览学习,自主下载认知分析。所以本课必须以课本知识为依托,以网络课件为辅助,以问题为导思,来培养学生的创新精神,提高学生自主学习的能力。故制定具体的学习目标如下: 认知目标:1.掌握For-Next语句的格式和功能;2.理解For-Next语句的执行过程; 3.结合分支结构的内容学会使用For-Next语句实现计数循环。 能力目标:1.培养学生利用网络作为工具,并在网络环境下自主学习的能力;2.培养学生提出问题、分析问题、解决问题的综合能力和创造性思维能力。 二、本课内容及重点、难点分析 作为程序设计循环结构的For…Next语句,其格式、功能、执行过程、执行结果、并利用它来解决问题、编制简单程序都是本课内容。 学习重点:学会For…Next的格式及其含义,理解由For…Next编写的程序的过程、结果。 学习难点:For…Next的格式及其含义,由For…Next编写简单的程序。 三、教学对象分析 1、高二年级的学生已经在高一时学习过在网络环境下浏览、搜索、下载等知识,但很久不接触网络,操作已经生疏了,所以事先要对学生进行实际操作的针对性训练,能把网络上的文字数据下载到本地计算机上,如把VB程序段复制粘贴到VB程序环境中执行看结果等等。 2、分支结构的内容只有上过一次课,所以要求学生事先对上次课的内容做好充分

相关主题
文本预览
相关文档 最新文档