现代C语言教学方法的变革探讨

来源 :科学时代·下半月 | 被引量 : 0次 | 上传用户:ahhaa
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  [摘 要]当今C语言的教学缺点在于长于应付考试,而短于培养学生的学习兴趣。本文从C语言诞生的历史及文化出发,探讨了UNIX文化下的C语言编程,其过程极具趣味性,可考虑从此方面着手C语言的教学,有利于培养学生学习的兴趣以及感受到编程思想。
  [关键词]C语言 UNIX 编程思想 gcc
  
  一、国内C语言当前教学状况
  当今C语言的教学缺点在于长于应付考试,而短于培养学生的学习兴趣,笔者在使用C语言比较长时间后,感觉C语言学完后即使用得很少,直到进入UNIX世界后,才领略到C语言的魅力,感到无比的有趣,进而反思当初C语言的学习过程。
  在国内,基本上都使用windows操作系统,学习C语言亦不例外,早年多用Turbo C,近年才开始有使用Visual C++,但面临一个矛盾,黑乎乎的命令行和窗口程序差得很远,学生编程的案例中便又很大一部分是数学运算,趣味性大减。这个状况比较糟糕,但却是可以改变的。
  回顾历史,C语言伴随着UNIX的诞生而诞生,UNIX最初用汇编语言写成,不便维护,Dennis Richie因此设计出C语言并帮助重写了UNIX,因为C语言的特点,既能方便操作硬件,又具有高级语言的特点,能模块化编写程序,构筑良好结构的程序,因此在UNIX平台下风靡起来,成为UNIX平台下的标准语言。C语言与UNIX系统有着千丝万缕的联系,在UNIX平台下形成了一整套编程的文化和思想,在此思想的引导下,可以方便的编写一系列的小程序,然后协作起来完成一个任务,这些内容,因为UNIX在国内的不流行,知道的人不多。UNIX有自己的一套文化,领略了这个文化,会真正明白C语言,并且能感觉到用C语言编程是一种享受和快乐,而这些感觉在windows平台下则不能体会。事实上,计算机界大量科研以及研究都是在Unix或其衍生系统下做的,开发者和计算机科研者会发现Unix平台用起来特别方便,很多科研成果也率先在该平台下实现,如TCP/IP协议,最早并且实现得最好的即在Unix下。
  鉴于国情,UNIX系统比较遥远与不便,因此可以使用现在比较流行的Linux代替。而同样Linux系统对很多人来说也不方便,再退一步,我们所真正要使用得其实可以是UNIX下编程的那一整套思想文化及相应的UNIX工具包,前者看不见摸不着,但后者确是实实在在的,并且已经被移植到了windows平台,比较流行的有Cygwin和mingw。后者其实是GNU的gcc编译工具链的windows版本。有了这些软件,便可以在windows平台下使用UNIX的这一套方法。
  二、UNIX编程思想下的案例展示
  首先应该从命令行开始学起,熟悉Bash,并能熟练使用一些常用命令,如cat 等,以及管道,重定向等内容,正则表达式也可以大概的学习一下,以便于学会使用grep, sed等程序。领略UNIX编程思想的案例如下:
  |为管道符号,意为将管道左边程序的标准输出放到管道内,成为管道右边程序的标准输入,这样多个程序使用管道连接起来,形成一个数据流与程序处理的流水线,我们便可以只要编写一个个的小程序,解决简单的问题,然后将这样的小程序通过管道串成流水线,完成一个大的工作。cat vimdoc.txt将vimdoc.txt的内容输出到管道给tr ‘A-Z’ ‘a-z’,将所有大写字母转换成小写字母,结果输出到管道给tr –c ‘a-z’ ‘\n’,将不是a-z的字符全部转换成’\n’即换行符,结果输出到管道给grep –v ^$,这里^$为正则表达式,意为空行,意思是将空行过滤掉,结果输出到管道给sort程序进行排序,使重复的单词相邻,结果输出到uniq –c,将相邻的重复单词归并为单独一个单词,并统计单词重复数,最后将此结果输出到管道给sort –n,将统计好的数字进行排序,便输出了案例中的结果,由结果可知词频最高的是单词the,在总共85万余单词中出现了近5万次,这里体现了UNIX编程思想的精髓。该案例中用到的程序有cat, tr, grep, sort, uniq, wc, tail等7个程序,均为UNIX中最常用的程序,是UNIX工具包中的标准程序,每个程序所解决的问题均为小问题,但协作起来便能完成统计单词词频等复杂任务。
  cat程序最简单,只要简单的将参数指定的文件或者标准输入的内容送入到标准输出便可,使用C语言编写大约10行以内就可以实现;
  tr(translate的简称)程序也不复杂,将要操作的内容中的字符按指定的参数进行替换,用C语言实现也不难,也是个小程序;
  grep是过滤器,按参数指定的过滤模式(即正则表达式)过滤数据并输出到标准输出。正则表达式的解析很难,但简单的单词查找是很容易实现的,做一个简化版的grep也是很容易的事,C语言实现也能在10行内做到;
  sort程序是排序用的,这个实现设计到算法,学生有兴趣可以自己实现,没兴趣的话了解下就好;
  uniq程序是将重复的行归并到单独一行的程序,比如连续8行的内容都一样,都是s,则将此8行s归并为一行s。这个用C语言实现也是非常的容易,大约也在10行左右。
  wc(word count的简称)程序用来统计文本文档的字符数,行数,以及单词数。这个任务很简单,很容易用C语言实现,如果只统计行数,则大约10行可以实现。
  tail程序为打印文档的末尾若干行,行数由参数指定,这个任务也非常简单,在学生的能力范围内。
  除了这7个程序,UNIX工具包还有很多其他的有趣的简单命令,如head, yes, sed, tac等,这些命令组合到一起,就成了超级工具,几乎能够解决所有的文本处理问题。
  三、编程趣味的启示
  由此可见,使用C语言编程,只需要写一个个的小程序便可,使小程序之间协作完成复杂的任务,从中很能够感受到趣味和强大。在gcc下编写C程序,将和玩游戏一样的有趣。
  UNIX工具包中像这样的小程序非常多,学生一边可以玩味这些程序,一边可以自己实现这样的程序,或者自己干脆创新一个小程序,这个过程相当有趣。通过对命令行的玩味,要占用掉学生不少时间,但这是值得的,能较好的促进之后C语言的学习。
  以上是对C语言学习与教学方式变革的一些初步思考,如何完善,还有待于进一步的研究与改进。
其他文献
[摘 要]《孙子兵法》虽为古代兵法,但构建的军事理论体系,其揭示的军事规律,蕴涵的军事,管理思想,已广泛应用于现代经营管理、体育竞赛等领域,尤其对足球教练员的管理指挥艺术有重要的理论指导和实践应用价值。本文论述了《孙子兵法》主要思想与足球教练员的管理指挥艺术间的密切关系及其实际运用,并对足球教练员提出建议,旨在为足球教练员提供理论借鉴,以期利于足球竞技运动水平的提高。  [关键词]《孙子兵法》;
期刊
[摘 要]建筑工程概预算是高等院校工程管理专业重要的专业课程之一,随着社会对人才需求的转变,特别是从学生工作岗位群出发的改革方向,教学工作也应作相应的调整。针对这种情况,就当前专业的建筑工程概预算的课程结构、教学实施、实训环节、考试考核办法等作了一些探索性的思考和研究。  [关键词]概预算课程 改革方向 思考  高等院校是培养人才的摇篮;素质教育的目的要求学生具有一定的理论知识,强化动手
期刊
[摘 要] 边界网关协议BGP4+是保证下一代互联网网络安全基础的中重要的域间路由协议,它是在BGP4的基础上加入了对IPv6的支持,对它的测试研究有助于IPv6网络的顺利部署。本文针对下一代边界网关协议BGP4+进行了一致性测试研究。文章分析了BGP4+的工作机制,对一致性测试研究中使用的测试方法进行了介绍,然后详细的介绍了BGP4+协议的测试实践过程。  [关键词] BGP4+ 协议一致
期刊
[摘 要] 本文结合宁夏地区少儿图书馆工作的研究,分析了少儿图书馆在构建和谐社会中的地位和作用,提出了少儿图书馆读者服务工作模式的创新思路,对少儿读者服务工作进行了探讨。  [关键词] 和谐社会 读者服务 工作创新  少年儿童图书馆是我国图书馆事业的重要组成部分,是以广大少年儿童为服务对象的重要的社会教育机构。建立少年儿童图书馆,组织和引导广大少年儿童多读书,读好书,是促进下一代健康成长必
期刊
摘要:2011年中央一号文件聚焦水利事业,山东省、临沂市先后出台了一号文件予以贯彻落实。7月份中央又召开了水利工作会议,将水利事业发展提到前所未有的高度。为深入贯彻落实中央一号文及中央水利工作会议精神,临沂市兰山区结合自身实际,进一步确定了全区水利改革发展的新目标和新任务,制定实施了一系列保障措施。  主题词:水利事业 改革发展 策略 浅析    1新形势下水利事业改革发展的重要战略地位  
期刊
摘要:本文通过对南华西街及漱珠涌历史街区的调研分析,提出改造意见:延续原有的街坊结构与街巷肌理,保证街巷空间界面的连续性,保持原有空间尺度,适当加入现代元素,恢复水巷空间,开发多义性的空间。  关键词:广州 南华西街 漱珠涌   南华西街位于广州市海珠区西北部,东面与海幢街交界,东南面与龙凤街接壤、西北濒临珠江。总面积约1.1平方公里。辖区内有5条主马路,分别为:南华西、滨江西、同福西、洪
期刊
内容摘要:地方立法是我国立法体制中重要的组成部分,在我国的法制建设起了重要作用。随着社会、时代的进步发展,“开门立法”让公众广泛的参与到立法过程中来已经成为民主法制建设中不可逆转的历史潮流。  关键词:公众参与 地方立法 问题 完善  地方立法是我国人民当家作主的重要形式,公众广泛参与地方立法是社会主义民主的集中体现,也是地方立法二十多年来的一条重要经验。   从社会学的角度讲,公众参与是
期刊
[摘要] 目的 探讨心理干预在减轻ICU医护人员心理状态中的作用。方法 随机抽取滨州医学院附属医院ICU20名ICU护士及10名ICU医生,各随机分为两组,即干预组与对照组。干预组进行心理干预,对照组无干预措施。使用SCL-90症状自评量表和Zung 抑郁自评量表( SDS)和焦虑自评量表( SAS)进行心理测试。心理干预前后均进行SCL-90的测试。结果 ICU医护人员的SAS和SDS评分均
期刊
[摘 要]高等职业教育是实施以就业为导向,按岗位设专业、以职业岗位能力为本位的教育理念。高职体育课程的设置和教学模式也应围绕这一教育理念进行相应的改革。应根据学生所学专业的职业岗位特点和未来职业岗位时学生体能胜任力的需求,让学生选择与职业相关的体育运动项目进行锻炼,以达到职业岗位对体能胜任力的要求,为河南经济的快速发展服务。  [关键词]就业为导向;高职体育;教学改革  前言  高职教育的培养目
期刊
摘 要:临沂市兰山区商品批发城闻名全国,其排名位居全国前三、江北第一。当然,水产品批发市场也十分繁荣,在振兴市场经济,提高经营户收入,丰富人们“菜篮子”方面做出了突出贡献。但是,在水产质量及市场管理方面也存在一些问题和不足。本文根据市场调研情况,结合当前新形势、新情况,针对存在的问题提出了一些切实可行的对策和建议。  关键词:水产品 质量 市场管理 对策浅析  1 水产品市场现状  临沂市
期刊