论文部分内容阅读
摘 要:C语言作为一门基础编程语言,学生学好了就可以自如地去应付其它任何一种编程语言。
因此,如何夯实学生的C语言基础、提高考试成绩,成为迫在眉睫的一个问题。本文基于笔者的教学实践,分五步来解C语言大题目。
关键词: C语言;解题步骤
中图分类号:G420 文献标识码:文章编号:1992-7711(2011)12-042-01
古代教育理论中就提出“授人以渔”而不能“授人以鱼”。本文基于笔者的教学实践,在此抛砖引玉仅就C语言解题的一般方法提出一些建议,以飨读者。
第一步:仔细审题找出已知未知
笔者评讲试卷时,常常有学生恍然大悟。原来题目里本来就有这个条件,原来要求的输入在题目里就已经提供了,原来题目里提供的是字符还要转化成相应的ASCII码才能计算等等。
审题,这个我们从小学就做过了,审题一方面要对整个题目有个总体认识,并得出题目相应的已知和未知,另一方面也是我们获得思路最直接的线索。笔者认为如果题目读了一遍之后还没有头绪,那么多读几遍直到把题目的来龙去脉理清楚再去答题。这一点对程序填空题尤其要注意,往往某些填空的答案就隐含在题目中。
第二步:读程序找出变量的作用
找出变量作用的目的在于初步得出程序的算法。当然找的过程要结合具体程序,笔者认为最主要就是要看该变量的初值是多少、该变量是在哪里被用到的。一般而言,变量定义好了以后一定要赋初值,往往一些填空题就是要求给变量赋值的。
另外,对变量的初值笔者也作了一些总结。如某一变量的初值为0(假如s=0),那么变量s一般情况下可以用来求和、进行统计、状态变量、数组下标等等。有时初值为1的变量也可以用来进行统计,读者要善于归纳总结,特别提醒如果作为状态变量的话,那么该变量的数值一定是在0和1之间变化的。
第三步:找复合语句给程序配对
配对的方法很容易,就是把一条语句或者复合语句用一个方框画出来。这样程序的执行过程和变量的作用范围便一目了然。比如,下面这道程序阅读题。
main( )
{ int a=2,b=3,temp=5;
if(a>b) temp=a; a=b;b=temp;
printf(“a=%d,b=%d”,a,b);}
许多学生想当然,得出答案a=2,b=3.这个答案显然是错误的。出现这个答案的根本原因是把后面的三条语句当成一起执行的交换语句,认为条件不成立就不交换,所以两变量的值不变。
配对之后,变量的作用域也就很明显地可以看出来。局部变量的作用范围也就被约束在我们的方框中。对于全局变量的处理,笔者通常画一条竖线标注。在定义处到程序结束画一条竖线代表全局变量的作用范围。
另外,读者要注意隐含的复合语句。
第四步:得出算法关注变量变化
通过以上几步,程序的算法也就顺理成章地出来了。当然,为了提高读者的解题速度,常见的算法一定要烂熟于心,平常的学习过程中要注意积累。
在此基础上,通读程序并且把各个变量的变化结果随时写出来。这里的过程一定要认认真真写,只有这样步步为营才能得到正确的答案。当然,也便于我们回头来检查。
过程决定结果!这里还要注意各种运算符的优先级,到底应该先算哪个。逻辑运算问题要注意右面的表达式到底要不要计算,当然逻辑运算的最后结果肯定为0或者1。自增自减问题到底先用还是先加减,当然不管怎么样结果都会让变量加1或者减1的。计算顺序也要注意,到底从左往右计算还是从右往左计算。特别强调一下,printf( )输出函数的计算顺序从右往左,而输出顺序则从左往右。
第五步:结合输出格式得出答案
眼看就要得到正确答案了,读者不能因为格式问题而得不到分数或者只能得部分分数。细节决定成败!printf( )输出函数中格式控制字符以及转义字符的功能一定要能脱口而出,如果读者还要想半天才能得出,那么想必最后输出的格式一定不会去注意。除了加强记忆理解这些外读者还要克服“会而不对,对而不全”的现象。笔者要求学生要么不做要么就做全对。常此这样训练,考试的时候如果学生能发现做错了,相信他们也能很快纠正。态度决定一切,以平常心对待考试也是必须的!
在实际学习中上机环节是C语言学习的重要组成部分,程序设计技能的培养只有通过大量的编程训练和上机实习才能获得。为此,要想学好C语言还必须多进行程序的编辑、编译、调试和运行实践。
笔者所教学生运用此种方法解题后,发现他们C语言成绩得到提高的同时语文、数学、外语成绩也不同程度地得到了提高!其实,学生掌握了一定的方法技巧后,逐步对C语言产生了兴趣,提高C语言成绩也就指日可待了!通过以上方法养成了良好的阅读习惯,对语文的学习应该会有所帮助。通过注重过程分析提高了逻辑思维能力,本身C语言的算法和数学中的算法基本一样,这样提高他们的数学成绩也就理所当然了。C语言中一些词语是由几个英语单词组合而成,对比联系后不仅理解了C语言中的语句同时也增加了英语的词汇量。最关键的是养成了良好的习惯,注重过程和细节,考什么都能应付自如、胸有成竹!
当然,这也并非一套通用的方法,适合自己的方法才是最好的方法。时下正在推进的活动单导学模式,学生可以参与讨论、协作学习、扩充思路。
因此,如何夯实学生的C语言基础、提高考试成绩,成为迫在眉睫的一个问题。本文基于笔者的教学实践,分五步来解C语言大题目。
关键词: C语言;解题步骤
中图分类号:G420 文献标识码:文章编号:1992-7711(2011)12-042-01
古代教育理论中就提出“授人以渔”而不能“授人以鱼”。本文基于笔者的教学实践,在此抛砖引玉仅就C语言解题的一般方法提出一些建议,以飨读者。
第一步:仔细审题找出已知未知
笔者评讲试卷时,常常有学生恍然大悟。原来题目里本来就有这个条件,原来要求的输入在题目里就已经提供了,原来题目里提供的是字符还要转化成相应的ASCII码才能计算等等。
审题,这个我们从小学就做过了,审题一方面要对整个题目有个总体认识,并得出题目相应的已知和未知,另一方面也是我们获得思路最直接的线索。笔者认为如果题目读了一遍之后还没有头绪,那么多读几遍直到把题目的来龙去脉理清楚再去答题。这一点对程序填空题尤其要注意,往往某些填空的答案就隐含在题目中。
第二步:读程序找出变量的作用
找出变量作用的目的在于初步得出程序的算法。当然找的过程要结合具体程序,笔者认为最主要就是要看该变量的初值是多少、该变量是在哪里被用到的。一般而言,变量定义好了以后一定要赋初值,往往一些填空题就是要求给变量赋值的。
另外,对变量的初值笔者也作了一些总结。如某一变量的初值为0(假如s=0),那么变量s一般情况下可以用来求和、进行统计、状态变量、数组下标等等。有时初值为1的变量也可以用来进行统计,读者要善于归纳总结,特别提醒如果作为状态变量的话,那么该变量的数值一定是在0和1之间变化的。
第三步:找复合语句给程序配对
配对的方法很容易,就是把一条语句或者复合语句用一个方框画出来。这样程序的执行过程和变量的作用范围便一目了然。比如,下面这道程序阅读题。
main( )
{ int a=2,b=3,temp=5;
if(a>b) temp=a; a=b;b=temp;
printf(“a=%d,b=%d”,a,b);}
许多学生想当然,得出答案a=2,b=3.这个答案显然是错误的。出现这个答案的根本原因是把后面的三条语句当成一起执行的交换语句,认为条件不成立就不交换,所以两变量的值不变。
配对之后,变量的作用域也就很明显地可以看出来。局部变量的作用范围也就被约束在我们的方框中。对于全局变量的处理,笔者通常画一条竖线标注。在定义处到程序结束画一条竖线代表全局变量的作用范围。
另外,读者要注意隐含的复合语句。
第四步:得出算法关注变量变化
通过以上几步,程序的算法也就顺理成章地出来了。当然,为了提高读者的解题速度,常见的算法一定要烂熟于心,平常的学习过程中要注意积累。
在此基础上,通读程序并且把各个变量的变化结果随时写出来。这里的过程一定要认认真真写,只有这样步步为营才能得到正确的答案。当然,也便于我们回头来检查。
过程决定结果!这里还要注意各种运算符的优先级,到底应该先算哪个。逻辑运算问题要注意右面的表达式到底要不要计算,当然逻辑运算的最后结果肯定为0或者1。自增自减问题到底先用还是先加减,当然不管怎么样结果都会让变量加1或者减1的。计算顺序也要注意,到底从左往右计算还是从右往左计算。特别强调一下,printf( )输出函数的计算顺序从右往左,而输出顺序则从左往右。
第五步:结合输出格式得出答案
眼看就要得到正确答案了,读者不能因为格式问题而得不到分数或者只能得部分分数。细节决定成败!printf( )输出函数中格式控制字符以及转义字符的功能一定要能脱口而出,如果读者还要想半天才能得出,那么想必最后输出的格式一定不会去注意。除了加强记忆理解这些外读者还要克服“会而不对,对而不全”的现象。笔者要求学生要么不做要么就做全对。常此这样训练,考试的时候如果学生能发现做错了,相信他们也能很快纠正。态度决定一切,以平常心对待考试也是必须的!
在实际学习中上机环节是C语言学习的重要组成部分,程序设计技能的培养只有通过大量的编程训练和上机实习才能获得。为此,要想学好C语言还必须多进行程序的编辑、编译、调试和运行实践。
笔者所教学生运用此种方法解题后,发现他们C语言成绩得到提高的同时语文、数学、外语成绩也不同程度地得到了提高!其实,学生掌握了一定的方法技巧后,逐步对C语言产生了兴趣,提高C语言成绩也就指日可待了!通过以上方法养成了良好的阅读习惯,对语文的学习应该会有所帮助。通过注重过程分析提高了逻辑思维能力,本身C语言的算法和数学中的算法基本一样,这样提高他们的数学成绩也就理所当然了。C语言中一些词语是由几个英语单词组合而成,对比联系后不仅理解了C语言中的语句同时也增加了英语的词汇量。最关键的是养成了良好的习惯,注重过程和细节,考什么都能应付自如、胸有成竹!
当然,这也并非一套通用的方法,适合自己的方法才是最好的方法。时下正在推进的活动单导学模式,学生可以参与讨论、协作学习、扩充思路。