走出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语言教与学的误区--Written By My Teacher黄放明 走出C语言教与学的误区 前言 笔者从事软件开发已26年,用C语言编写有实际用途的程序(绝不是教科书或技术手册上的例子)也有20年了。进入高校讲授C程序设计10年以来,起初感觉有些不太对劲,随后,越来越觉得国内高校C语言教与学存在着许多问题。早就萌发写篇文章,以表己见的念头。但因终日忙于学习、探索,并将所学所教理论付诸实践,以求印证,进而真正理解,以利于教学,力免误人子弟,而无暇于笔砚之间。今逢C语言精品课程建设之际,又受领导指派,故斗胆提笔,不妥之处,望方家斧正。 此处要声明三点。 其一:笔者从未有想过,通过发表本文为本人捞取某种资本。那么,笔者在干扰了自己正常学习、研究的情况下,写此文章的目的到底是什么?一为完成任务,二为一吐心声! 其二:本文是写给那些讲授或学习C语言,但对C语言又不甚了解的人群的。故,对于真正了解C语言者,本文中大部分内容就是一堆废话。 其三:本文提及了某“权威”教材的一些诟病,并非有意批判。笔者与文中提及“权威”教材的作者,素不相识,更无厉害冲突。软件开发领域有许多重要的新知识新技术,笔者还需学习并实践,以利于教学。还有许多有意义的事情等着笔者去做。何来闲暇与人口水争斗?实因此教材影响太大,当然也影响了笔者正常教学,影响了笔者的学生正确地理解标准C语言。笔者讲课或辅导学生上机时,经常须花时间“拨乱反正”,以“正”学生“视听”。否则,就是对学生的不负责任,愧对良心。当然,选用此“权威”教材,属官方钦定,非笔者意愿。 一、C语言教与学中的误区和盲区 ????随着计算机技术的飞速发展,新的程序设计语言如雨后春笋,不断涌现。如:Java、C#、PHP、Python、Ruby、Lua、D、Erlang、Javascript等各领风骚。而“古老”C语言因其自身的特点,一直被世界各国大学作为最重要的程序设计语言课程。TIOBE程序设计社区的程序设计语言排行榜上,C语言几年来稳居第二,仍是现今最流行的程序设计语言之一。然而,在国内,C语言的教与学,存在着种种误区和盲区,严重影响了C语言教与学的实际效果,以致许多人对C语言是否能够真正用于实际软件开发产生了怀疑(除嵌入式系统外,因人们对于C语言用于该领域开发深信不疑),从而引发了C语言是否应该死亡的网络大讨论。这些误区和盲区主要表现为如下几个方面: (一)缺乏对C语言的正确认识 1.对C语言标准及其重要性认识不足 众所周知,C语言是Bell-Labs在1972年,为设计UNIX操作系统而开发的。由于C语言小巧灵活、功能强大且通用,很快在全世界流行。然而,不久后,不同编译器厂商对C语言的实现之间,存在着一些微妙的差异,这些差异形成了不同编译器厂商的“方言”。各种“方言”损害了C语言的主要优势(或重要特点)——可移植性,同时也给C程序员带来麻烦。为了解决这些问题,ANSI于1983年成立了一个委员会,以确定C语言的标准定义。经过多次修订,C语言标准于1988年完成,并于1989年12月正式通过,成为ANSI标准X3.159-1989(称为ANSI C)。1990年ISO通过此项标准,将其作为ISO/IEC 9899:1990国际标准,称为标准C(1989)或简称C89。其后,WG14(C语言国际标准化工作组)对C89进行了适当的修订或增补,于1995年发布了C95标准。自1995年起,WG14对C语言标准作了更大的修订,于1999年完成并通过,形成了C语言的最新正式标准,即ISO/IEC 9899:1999或称C99。 制定C语言标准的目的有三: 1.消除差异:尽量消除不同编译器厂商对C语言实现上的“方言”; 2.修正缺点:规范已存在的编程习惯,以弥补C语言中的明显缺陷; 3.增强可移植性:以标准来力保C程序的可移植性。 ????????当然,制定C99标准还有两个目的: 4.支持国际开发(支持国际字符集) 5.改进C语言对科学和工程中关键数值计算的适应能力 ????????通常,业界把C89以前的C语言实现称为传统C(Traditional C),而把遵循或支持C89、C99,特别是C99的C语言实现称为现代C(Modern C)。 ????????在国内,最流行的编译器莫过于Turbo C 2.0和Visual C/C++ 6.0。那么,这两种编译器究竟属于哪种?是传统C还是现代C?看看它们的诞生年代和语言特性就知道了。Turbo C 2.0诞生于1987年,在当时是最好的C编译器和IDE。显然,Turbo C属于传统C再加Borland实现的“方言”。Visual C++ 6.0虽然是1998年左右的产品(笔者记不太清了),但其中充斥着大量的宏(Macro)和不标准的语法。 ????????对

文档评论(0)

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

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

1亿VIP精品文档

相关文档