C语言是一种成熟的结构化程序设计语言,它具有高级程序设计语言的优点,同时面向硬件的底层编程能力很强,在硬件驱动程序开发和嵌入式应用程序设计等方面应用较广。
《C语言程序设计任务驱动教程》以“C语言程序主要应用场合与所处理数据的特征”为主线系统地设计教学单元,全书分为9个教学单元:简单数学运算编程、日常数据处理编程、批量数据处理编程、字符数据处理编程、构造数据处理编程、文件内容处理编程、趣味数学运算编程、经典算法实现编程、硬件与嵌入式编程。
《C语言程序设计任务驱动教程》注重教学方法的改革与创新,以完成系列渐进式的程序编写任务为主线,在程序编写过程中理解与掌握C语言的语法知识,领悟编程技巧和方法,在训练编程技能过程中掌握知识和形成能力,将学习知识、训练技能、养成态度、提高能力有机结合,每一个教学单元设置了7个教学环节:教学导航、引例剖析、编程实战、知识探究、小试牛刀、单元小结、单元习题。以“引例剖析→编程实战→小试牛刀”三个层次进行编程训练,让学生在反复动手实践中,学会运用所学知识去解决实际问题。
本书强调动脑、动手,强调“做中学、做中会”。每个教学单元的语法知识条理化,程序编写渐进化,通过“知识标签”将实例程序与程序设计中运用的知识点链接起来,形成了行之有效的理论实践一体化教学解决方案。
本书可以作为本科及职业院校计算机各专业和非计算机专业“C语言程序设计”课程的教材,也可以作为程序设计的培训教材以及自学教材。
C语言是一种成熟的结构化程序设计语言,它具有高级程序设计语言的优点,其结构严谨、数据类型完整、语句简练灵活、运算符丰富。同时面向硬件的底层编程能力很强,在硬件驱动程序开发和嵌入式应用程序设计等方面应用较广。
以前面向过程的程序设计语言有多种,如今大都退出程序开发的舞台,唯有C语言仍然雄风犹在,但其主要应用领域有所变化。除了基础语言特征外,在底层硬件嵌入式开发方面C语言程序设计有其优势。由于C语言的主要应用领域发生了变化,C语言程序设计方面的教材不能一成不变,应顺势改变,突出C语言新的应用,简化其语法复杂性,降低其学习难度,增加其实用性。传统的C语言程序设计教材主要以传授陈述性知识,即理论知识为主体,通常以“提出概念、解释概念、举例说明”方式组织教学,教材章节的编排主要以学习语法知识为主线,列举实例验证与说明语法知识,在理解语法知识过程中学习编程。本书作者重新审视C语言的实际应用领域,关注C语言的基础性,也关注C语言的实用性,同时将近年来的教学改革成果运用到本教材中,力求开发一本有特色的C语言程序设计教材。
本书具有以下特色和创新。
(1) 以“C语言程序主要应用场合与所处理数据的特征”为主线系统性设计教学单元。
C语言程序主要应用于数据处理、数学运算、算法实现和硬件控制,数据处理的主要类型分为简单数据、批量数据、字符数据、构造数据和文件内容等,综合考虑C语言程序应用场合和数据处理类型设计教学单元,本书分为9个教学单元。单元1通过简单数学运算程序的编写,主要认识C语言程序的基本结构和主要特点,熟悉C语言的基本概念,学习数据类型以及数据类型的转换、常量和变量、运算符、算术表达式、赋值表达式和赋值语句、输入与输出语句、顺序结构等C语言的基础语法知识。单元2通过日常数据处理程序的编写,主要学习关系运算符和关系表达式、逻辑运算符和逻辑表达式、选择结构、循环结构,初步认识嵌套结构。单元3通过批量数据处理程序的编写,主要学习整型、实型数组。单元4通过字符数据处理程序的编写,主要学习字符数组(字符串)。单元5通过构造数据处理C语言程序的编写,主要学习结构体类型。单元6通过文件内容处理程序的编写,主要学习文件操作。单元7通过趣味数学运算程序的编写,主要学习递归,综合运用C语言解决实际问题。单元8通过经典算法实现程序的编写,主要学习算法以及算法的程序实现。单元9通过硬件与嵌入式程序的编写,主要学习位运算,认识嵌入式程序的设计方法。另外,函数和指针没有单列,根据需要由浅入深地分散到各单元中进行介绍与运用。
(2) 以完成系列渐进式的程序编写任务为主线,在编写程序过程中领悟与应用语法知识,在训练编程技能过程中掌握知识和形成能力。
将数据输入与输出、数据存储、数据处理、程序的模块化设计、指针运用等理论知识通过实际程序分析设计来领悟和掌握,在完成实际程序设计过程中熟悉C语言的应用,理解复杂的语法知识,训练程序设计能力。将学习知识、训练技能、养成态度、提高能力有机结合,每一个教学单元设置了7个教学环节: 教学导航、引例剖析、编程实战、知识探究、小试牛刀、单元小结、单元习题。以“引例剖析→编程实战→小试牛刀”三个层次进行编程训练,让学生在反复动手实践过程中,学会运用所学知识去解决实际问题。
(3) 创新教学方法,为理论实践一体化教学提供了一种新的解决方案,强调动脑、动手,强调“做中学、做中会”。
程序设计不是听会的,也不是看会的,而是练会的。写在纸上的程序,看上去是正确的,可是一上机操作,却发现漏洞不少,上机运行能得出正确的结果是检验程序正确性的标准。只有让学生动手,才会有成就感,进而对程序设计课程产生浓厚的兴趣,才会主动学习。课堂教学应让学生多动手、动脑,更多地上机实践。学生只有在编写大量程序之后,才能获得真知灼见,直至感到运用自如。
每个教学单元的语法知识讲究条理化,程序编写注重渐进化,通过“知识标签”将实例程序与程序设计中运用的知识点链接起来,形成了行之有效的理论实践一体化教学解决方案。让学生在课堂上学到一些知识点、一些具体的语法规则固然重要,但是更重要的是,要训练学生解决实际问题的方法,在教学过程中培养学生的思维能力,把训练编程思路放在主体地位,提高学生分析问题和解决问题的能力,实现“学会了”和“会学了”的教学目标。
(4) 强化良好编程习惯的培养。
本书所有的程序都注重规范性、可读性,有好的示范作用,引导学生在程序编写过程中养成良好的编程习惯,因为良好的编程习惯、严谨的设计思路、认真的工作态度,能使学生终身受益。
本书由陈承欢教授编著,湖南铁道职业技术学院的颜谦和、冯向科、林东升、刘荣胜,新疆大学的热依曼·吐尔逊,湖南工业职业技术学院的刘曼春,济源职业技术学院的陈平,四川航天职业技术学院的郭华,四川工业科技学院的唐小玲、吕莉,长沙职业技术学院的殷正坤,安徽水利水电职业技术学院的方跃胜,山东城市建设职业学院的贾芳,日照职业技术学院的费琳琳,淄博市技师学院的翟群等老师参与了部分章节的编写工作。
由于编者水平有限,书中的疏漏之处敬请专家与读者批评指正,编者的QQ为1574819688。本书免费提供电子教案、源代码等相关教学资源。
编者
2015年2月