算法为先的C语言教学模式探讨.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
算法为先的C语言教学模式探讨   摘要:本文通过分析C语言教学中存在的问题,提出算法学习对学生学习语法和上机操作有着积极的作用,进而阐述算法为先的教学方法,实践证明,该教学方法从根本上调动学生学习C语言的积极性和主动性。   关键词:C语言;算法为先;教学模式   中图分类号:G642 文献标识码:B      1引言      为适应社会和经济的信息化需要,掌握计算机技术显得尤为重要。C语言以它结构化丰富、灵活性大、可移植性强、效率高等优点,被广大高校作为计算机专业基础课,以及许多非计算机专业学习程序设计的首选课。但是又由于C语言涉及的概念复杂,规则繁多,数据类型和运算符丰富等特点,使许多初学者望而生畏。很多文献致力于研究好的教学方法,帮助学生掌握C语言语法及上机技巧,这在一定程度上改善了教学效果,但是学生的学习热情仍然缺乏积极主动。本文通过分析算法在C语言教学中的重要作用,进一步探讨算法的教学方法,目的是从根本上激发学生的学习热情,降低学习难度。      2C语言教学中常见问题分析      算法设计、基本语法规则、程序调试是C语言教学的核心内容。算法注重解决某一问题采用的方法步骤,语法注重语言规范,用规范的C语言描述的算法必须通过上机调试才能实现,三个核心内容紧密联系。然而在教学环节中,教材内容基于语法体系,通常采用课堂讲语法、上机调程序的教学模式,忽视了算法在教学中的积极作用,殊不知过细的语法知识易使学生失去兴趣,灵活的编辑环境让学生望而却步,学生的学习热情很难调动起来。   2.1语法细节易使学生失去学习兴趣   通常C语言是学生接触的第一门程序设计语言,任何程序主要由数据和操作两部分组成,围绕这一特点,C语言教学内容可归纳为:算法,数据结构,程序结构三部分。算法是编程的指导思路;数据结构是数据的组织形式,可细分为基本数据类型,构造类型,指针类型、位运算;程序结构是操作语句的组织形式,具体包括预处理,函数,顺序结构,选择结构,循环结构。虽然C语言知识结构清晰,但是它是面向过程的编程语言,具有灵活的编程格式及丰富的运算符和函数,如果对语法细节不熟悉,以及相关概念混淆不清,很难编出正确的程序。教师往往投入较多课时,讲解C语言语法,而繁多的语法细则,不仅使学生难于记忆,而且容易误导学生的编程思路。例如scanf函数的应用:   scanf函数的一般使用形式为:scanf(格式控制,地址表列)。   格式控制是用双撇号括起来的字符串,它包含两种 信息:   (1)%和格式字符,如%d,%c,%s等,它的作用是按指定的格式输入数据;   (2) 普通字符,即在数据输入时,需要原样输入的 字符。   地址表列由若干个地址组成,通常是变量的地址或字符串的首地址。输入多个数据时,空格,回车键,跳格键为默认分隔符。   如:“scanf(“%d%d%d”,a,b,c);”语句,运行时输入:6└┘8└┘9?L,可得到变量a,b,c的值。如果输入语句变为:“scanf(“%d,%d,%d” ,a,b,c);”,仅添加了两个逗号,仍按以上方式输入,则会出错。原因在于格式控制部分出现的普通字符“,”,在数据输入时要原样输入,正确的输入方式为:6,8,9?L。可见C语言语法格式非常灵活。   运用scanf函数输入字符时,又出现特殊性。   如:“scanf(“%c%c%c” ,c1,c2,c3);”语句,运行时输入:a└┘b└┘c?L,目的是将a赋给c1,b赋给c2,c赋给c3。用“printf(“%c,%c,%c”, c1,c2,c3);”语句输出,结果却为a,└┘,b。出错原因在于:%c格式字符不需要空格作为输入字符的间隔。正确的输入为:abc?L。   然而,用scanf函数输入多个字符串时,空格又成为有效的分隔符。   如:“scanf(“%s%s%s” ,c1,c2,c3);”语句,其中c1,c2,c3为字符数组名,若输入数据:How are you? ?L,则c1数组的数据是“How”; c2数组是“are”;c3数组是“you?”。若将语句改为“scanf(“%s”,c1);”,输入字符串:How are you? ?L,用“printf(“%s”,c1);”输出,则只显示How,与原意不同。如果一定要将带空格的字符串输入到字符数组c1,需要用到另一个输入函数,如“gets(c1) ;”。   虽然任何一个C程序输入数据,都可能用到scanf函数,但是它灵活的编程格式,往往使初学者在具体运用时举棋不定,忘却抓住编程题目的实质性要求。教材中还有许多值得注意和思考的语法细节,学生编程时,如果缺乏解题思路的引导,常因语法的困扰而失去编程兴趣。   2.2编程环境易让学生望而生畏  

文档评论(0)

heroliuguan + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8073070133000003

1亿VIP精品文档

相关文档