浅谈C语言中for语句的学习

2014-09-09 04:52吴娜
职业·中旬 2014年7期
关键词:C语言

吴娜

摘 要:本文探讨如何通过指导学生小组合作,运用for循环结构解决现实生活中实际问题的能力,体验程序设计的魅力,产生对程序设计的求知欲,激发学生的学习兴趣。

关键词:C语言 循环语句 程序分析

在单片机的应用中,延时控制既重要又常用,而延时控制程序都由C语言的for语句来实现。在以往的教学过程中,教师一般是先分析for语句的结构,然后实例讲解,最后学生自己上机练习,而这种方法对于学习能力不足的中职院校的学生来说没有多大作用,根本无法达到教学目标。为了更好地调动学生的学习积极性,教师可以创设情境,进行小组协作学习,调动学生的学习兴趣,以期达到更好的教学效果。

一、创设情境

学习C语言程序是件很枯燥的事情,但是教师可以告诉学生,C语言可以解决我们生活中常见的,而又不太好处理的事情。

教师可以讲一个故事:相传大将韩信有队人马,他想知道有多少人,便让士兵排好队报数:按从1至6报数,最末的士兵报的数为5;按从1至5报数,最末的士兵报的数为1;最后按从1至11报数,最末的士兵报的数为10。

教师问学生,能否算出韩信至少有多少兵?

二、讲解新知

在学生的学习兴趣高涨的时候,教师告诉学生,这个问题对于C语言程序中的for循环语句来说,非常简单。写出for语句的一般形式:

for(表达式1;表达式2;表达式3)

{循环体语句;}

for语句的执行过程:先计算表达式1(循环变量的初始化);然后计算表达式2(循环条件),如果表达式2条件成立,即循环条件成立,就执行一次循环体;接着计算表达式3(循环变量自增变化),为下一次判断循环条件是否成立做准备,到此完成一次循环。以后,每次都是从计算表达式2开始,进入下一次循环。

学生只有掌握了for的格式及其功能,并理解其执行过程,才能读得懂含有for的程序,才能运用for来解决生活中的简单问题。学生们小组协作、头脑风暴式的学习,分析实际问题来确定程序中的循环变量、循环条件和循环体语句。不管学生分析得正确与否,教师先不做评论。

三、上机实练

教师先将学生汇总的结果进行上机实练,这样会出现各式各样的问题,这时再针对学生在解题过程中遇到的问题进行讨论,然后再次分析实例,总结出如下结果。

先设大将韩信有兵m人,那么m应同时满足的条件:

m%5==1&&m%6==5&&m%11==10

指导学生让m从1开始试验,完成程序:

main()

{intm;

for(m=1;;m++)

{if(m%5==1&&m%6==5&&m%11==10)

{printf(“m=%d ”,m);

break;}}

学生们体会到运用计算机来快速解决生活中问题的便利,从而认识到循环语句在程序设计中的重要地位和作用,学会分析哪些问题需要循环结构来解决,哪些实际问题运用for语句会更加便捷。

四、探索理解

教师引导学生善于总结程序编程的常用方法,遇到类似的问题,要学会自己独立思考并解决。另外还要给学生留出自主学习的空间,发挥学生的学习主动性。要重视学生对基础知识的掌握,通过分组进行讨论及做练习的方法,提高学生学习兴趣及动手能力,注意举一反三。

分析以下例子:某个暑假小明携带密码行李箱外出旅游,旅行途中发现自己忘记了开锁的密码,怎么办?(注:密码只由5位数字组成,这样问题会变得较为简单,能够被学生接受。)

main()

{intx,w;

scanf(“%d”,&);

for(x=0;x<=99999;x++)

{if(x==w)printf(“密码是=%d ”,x);

break;}}

在编写这个程序时,我们只判断数字从0到99999。我们要带着学生们分析,等后续章节讲了数组以后,还要再用数组分析它。

下面有一个典型的题目(百鸡问题):“鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一。百钱买百鸡,问鸡翁、母、雏各几何?”这里讨论一般的n钱买n鸡问题。

做的题目多了,了解的题型多了,学生们会越来越发现C语言能解决很多现实中的问题,学习的兴趣会越来越浓厚。

教师要培养学生的竞争意识及团队精神,告诉学生要注意转换学习方法,要勤于动手,以动手带动理解,注重实践和应用能力的培养,同时还可以促进同学之间、师生之间分享思考、见解和知识。

参考文献:

[1]王静霞.单片机应用技术(C语言版)[M].北京:电子工业出版社,2012.

(作者单位:保定市高级技工学校)

猜你喜欢
C语言
基于Visual Studio Code的C语言程序设计实践教学探索
51单片机C语言入门方法
基于C语言的计算机软件编程
C语言程序设计课程教学与学科专业相结合的探索
《C语言程序设计》翻转课堂教学改革要点
浅谈基于C语言的计算机软件程序设计
高职高专院校C语言程序设计教学改革探索
基于C语言的学生成绩管理系统的设计与实现
基于C语言的常用排序算法比较研究
论子函数在C语言数据格式输出中的应用