APP下载

浅谈对口单招学生C语言的学习捷径

2015-04-23

科技视界 2015年10期
关键词:数组上机C语言

冯 丽

(南京江宁中等专业学校,江苏 南京 211100)

很多学生在初次学习C语言时,就缺乏信心,甚至直接放弃,认为自己肯定学不好,其实不然。通过本人的一线教学,发现C语言并非是学不好,只是学生缺乏耐心、逻辑思维混乱,没有找到好的捷径。那么,作为一个计算机专业的学生,如何学好C语言呢?这就需要学生能够逐步做到以下几点:

1 思想上高度重视,对自己充满信心,不能产生厌学的负面情绪

目前,很多单招的学生都是在高一下学期开设C语言这门课。通过前面一学期的在校学习,很多学生了解到关于单招考试中理论及技能各门学科的分值。在此阶段中,需要教师进行正确导向,千万不能直接告诉学生说C语言很难学,一般学生学不好。而是引导告诉学生C语言的学习很有趣,并且在学习的过程中能利用软件调试程序是否正确有效。我们还可以通过C语言的学习解决很多实际生活中的难题,能让自己变得更加聪明。通过逐步的引导来激发学生的学习兴趣,并调动学生的学习欲望。很多学生对C语言的学习产生了正确的认识,从而对后期的教学带来了帮助。

2 在初期学习阶段,学生一定要上课认真听、及时思考,掌握C语言的相关表达式、语句格式的使用等相关理论知识

任何一门语言学科,我们在进行学习时需要掌握其相关的语法规定。对于C语言来说,首先要掌握各种语句的语法。比如选择结构中单分支、双分支、多分支及分支语句的嵌套,特别是分支语句的嵌套中,要能清晰地了解每个分支的语句执行部分。尤其是不只一条语句时,需要用花括号括起来作为复合语句使用。另外在学习循环结构时,要掌握三种基本的循环语句执行过程。特别是循环语句的嵌套,任何一个程序要能够首先判断出每一层循环的循环体,只有理解了循环体是哪些才能进一步地看懂程序的执行过程。

这些语句格式的学习,需要学生平时上课认真听,大量阅读程序做题,上机调试加强记忆。另外在后期学习函数时,也需要理解每种函数的定义、说明及各种值的返回。

3 多做读程序题,并上机调试,理解各种语句功能,从而为编写程序打下基础

在前面的知识掌握后,学生能进行简单程序的编写了。但此时,学生的重点并非是编写程序,而是要理解每条语句的作用及语法规定。所以,在教师讲解循环章节时,学生需要经常做些读程序题,并通过上机调试知道自己的答案是否正确,如果不正确,是因为哪些问题造成的。通过这些大量的读程——调试——分析,学生能进一步地理解各种语句的使用及语法规定等,而且通过读程也能分析出一些程序的功能,从而为后期的编程打下基础。特别是在C语言的单招理论考试中,此类读程序题很重要,分值也很高。历年的理论考试,读程序题都是12分,每道题对与错直接影响总分。所以,此阶段学生一定要做好读程序题,并且在做题的过程中,要培养良好的分析能力并且需要学生做题细心。

另外,在上机调试程序的过程中,学生必须养成良好的程序书写习惯。并且,如果程序出现错误,调试时可以发现错误是什么,是在哪一行出现的。通过这种调试,可以让学生发现自己平时书写或者语法还有哪些错误,对此如何改正。学生对错误一一进行解决、理解,并加以巩固。学生通过上机调试,能发现程序的常见错误,这样可以帮助学生初期解决一些技能题中的程序改错题。

通过上机调试,学生还可以进行一些例题的验证练习,并可以对此进行简单更改,发现区别、分析原因并加深理解。比如学生上机时可以将书本上的例题进行简单录入调试,理解运行结果是如何得出的。如在练习循环语句时,可以将单层循环体内的变量进行逐次输出,也可以等循环全部结束后,将变量值进行输出。这两种变量的输出结果是有区别的。

4 通过典型生动的实例,激发学生兴趣,并掌握编程思路及常用算法

在循环章节中,程序应用主要有累加累乘、文本作图、素数、最大公约数、递推、穷举等。而这些程序都要涉及到算法的理解。如有一个数列前两项值为0,0,从第三项开始值为前两项之和。求该数列的前十项值。此题属于递推题,关键算法是每项值计算出来后,要作为已知值,从而计算它后面的值。即如何将每一次计算的值进行更改。再如猴子吃桃问题也是属于递推题,但它属于反推(已知第十天的值,求第一天的桃子数)。

在数组章节中,程序应用主要涉及一维、二维及字符数组。其中字符数组尤为重要。数组的应用主要有计算最大、最小值、排序、查找、插入、删除、统计、计算等。这一系列的数组应用都离不开算法。比如如何将数组中某个内容删除或如何查找数组中是否包含某个数。这两题的算法有多种。每种算法都需要理解思路。如查找的算法有顺序查找算法及折半查找算法。其中折半查找算法的前提必须是排好序的数据才能进行。而且升序与降序排变量设置也有区别。再比如二维数组求鞍点问题。所谓鞍点是指某个矩阵中某个数在所在行上最大,而在所在列上最小。对于任意一个矩阵,鞍点有可能没有,也有可能1个或多个。这种矩阵题型,实际生活中较多,在编程时首先要求出行上最大,再求出列上最小。通过这种形象的分析,学生能够理解算法精髓。

5 采用模块化编程,学会用最优方法编程提高程序运行效率

C语言程序设计时都要求采用模块化的程序编程,即将一个程序分解成若干个功能较为单一的程序模块去实现,最后再将所有的程序模块像搭积木一样装配起来。而每个单一的程序模块可用函数来实现。从而函数的使用显得尤其重要。函数使用中涉及到函数的定义、申明、及调用,其中函数调用时涉及到函数的嵌套调用及递归调用。学生在这部分主要难点涉及到函数的实参与形参的传递以及函数值的返回。学生在此需要理解理论知识并大量做题掌握其中实参形参值的传递。

对于每个函数需要实现哪些功能,这需要用算法来理解编写程序。而针对同一个题目,算法实现时通常有多种。那么学生在使用时需要理解每一种算法的使用场合以及区别。重点还要理解哪一种算法程序书写最短、程序实现时间最短。即编写程序时尽量使用最优算法来实现。这也是每一个程序员必须具备的基本条件。这部分知识可以提高学生的逻辑思维能力,对于很多学生可以通过大量例题进行理解,再逐步套用关键算法进行编程。

总之,在对口单招考试中C语言的题型主要有程序阅读、程序改错、程序填空及程序设计四种类型。前两种类型难度不大普通学生都能应付,而后两种类型涉及较多的是算法的理解。对于很多算法的理解学生需要经过上课听讲、课后理解、上机调试、加强记忆等多种形式结合,并能对算法进行适当修改,灵活记忆。对于算法的理解需要学生按照要求将关键算法中的每一条语句执行情况一一进行分析,逐步理解。而很多学生在算法理解时总是会出现问题遇到瓶颈,问题的根源在于学生的逻辑思维能力不够,理解不了程序的每一步执行。

相信每一个学生通过上述由浅入深地学习,能逐步掌握C语言的关键算法及程序模块的使用。很多学生对此会产生学习C语言的兴趣,从而取得进步,甚至很多学生会对它爱不释手。最终为后期进入高校打下良好基础。

猜你喜欢

数组上机C语言
周金应
JAVA稀疏矩阵算法
标准化护理程序对体外膜肺氧合术患者上机各阶段用时的影响
基于Visual Studio Code的C语言程序设计实践教学探索
JAVA玩转数学之二维数组排序
上机数控“可疑”的高毛利率
基于C语言的计算机软件编程
Excel数组公式在林业多条件求和中的应用
高职高专院校C语言程序设计教学改革探索
寻找勾股数组的历程