1
C语言程序设计
  
       
           课 程 简 介
                                    
      
        C语言程序设计是高等院校计算机专业及相关专业重要的专业基础课,其目的是培养学生的程序设计理念、掌握程序设计的基本方法,为后续课程(数据结构、面向对象程序设计、操作系统、编译原理和软件工程等)打下坚实的基础。
        C语言程序设计是一门实践性很强的课程,学生从一开始,普遍给予很高的热情。对于把目标定位在提高实践应用能力的淮海工学院计算机科学系来说,更应该从一开始就很下功夫,尽可能早的让学生对程序设计产生浓厚的兴趣。与其他院校相比,本课题组的绝大部分成员虽年青但有活力,更重要的是有着丰富的工作经历和很强的动手能力,对该门课程有很深的感悟,能很好的把教学与实践应用结合在一起。
        C语言程序设计的前期课程通常有计算机导论(或计算机文化基础)。目前,各大专院校的教学内容都是基于Windows 98/2000/XP操作系统,但讲授到C语言程序设计课程时,又大多以Turbo C为环境,即退回到了DOS操作系统环境下,这样造成两个层次的脱节。有一部分学校使用的教材是基于Turbo C环境的,而学生上机实验环境又采用Visual C++等,虽然两者类似,但毕竟有较大差异,不便于提高学生的动手能力。因此在讲授该课程时,我们对传统的讲授方法进行了改进,完全以Visual C++为环境讲授C语言程序设计的基本思想、方法和解决实际问题的技巧,并比较了Turbo C和Visual C++之间的一些差异,兼顾了以Turbo C为学习环境的读者。
        我们在多年讲授和使用C语言编程的基础上,深切感受到学习C语言程序设计不仅要掌握C语言的语法要点和编程规范,更重要的是要领会结构化程序设计思想,综合运用C语言知识开发大型程序,为此,我们在原有讲授的基础上,增加了"软件开发过程的内容",希望通过课程设计,用一个较大规模的实例掌握运用软件工程的思想进行程序开发的一般过程。

 

课程历史沿革

       我校开设《C语言程序设计》课程的历史较悠久,最先开始于原数理科学系的计算机软件专业,目前我院计算机工程学院、电子工程学院、理学院、测绘学院、机械学院以及东港学院等多个本科专业均把《C语言程序设计》作为专业基础必修课或专业选修课程。该课程对学生专业兴趣的培养和程序设计能力的形成极为重要,课程的建设颇受人们重视。该课程的建设经历了以下四个阶段:

1、2000年以前

       我校只有专科的计算机专业,《C语言程序设计》课程属数理科学系,当时计算机专业的师资力量比较薄弱,还不足以成立系,教学经验优待提高,教学方法以传统教学方式为主,教学手段开始尝试多媒体投影教学,当时主要采用纸质手写教案和Word文档的电子教案。

2、20007月~20027

       学校成立了计算机科学系,计算机系对《C语言程序设计》课程的教学内容与体系进行了认真的研究和优化,积极开展教材和教学参考资料的建设工作。选用高等教育出版社谭浩强教授编写的《C语言程序设计》教材,课堂教学积极采用多媒体等先进的教学手段授课,研制开发了C语言程序设计》,不仅提高了学生学习计算机课程的兴趣,同时也改善了教学效果。 

3、20028月~200612

       2002年,学校先后与原化工高专实现合并,计算机系也吸收了一批优秀教师,教学队伍得到进一步壮大。为了进一步改进教学方法、提高教学水平,2002年在对《C语言程序设计》进行教学研究与探讨的基础上,将课程学时由以前的48学时调整到64学时,同时增加了为期一周的《C语言程序设计》课程设计。经过课程小组积极努力,该课程于20054月成功申报计算机系一类精品课程,在课程建设上得到了一定的资金支持。课程组教师充分发挥自身技术优势、网络技术和多媒体技术在教学中的辅助作用,架构了一整套功能较为完善的网络教学平台,实现了学生对该课程的学习不受时间、地点的限制,扩大了师生交流平台。

4、200612月~至今

        200612月,《C语言程序设计》被立项为淮海工学院精品课程建设项目,我们在原先课程小组的基础上,进一步完善师资力量,对课堂教学内容和教学方法进行了更为深入的研究,根据专业人才培养需要与软件技术的发展,我们及时对专业培养目标及教学体系进行了调整。在原有课时的基础上,增加了20学时的课外集中上机辅导,保证学生在按教学计划进行学习的之余,有足够的实践以及与教师交流的机会。课程组还对原先的教学网站资源重新进行整合,设计制作了C语言程序设计》标准教案,对课程教学内容、目标、重点、难点、考点、教学方法、教改方案及实施要点、创新能力培养方法及要点、教学资源、习题、实验项目等进行了统一设计和规定,积极采用采用了现代化的教学手段,开发了多媒体课件,建立具有较高质量的试(卷)题库,完善教学文件,探索教学方法,讲究教学质量,提高了学生学习兴趣,改善了教学效果。在完成了网络教学平台向数字化教学平台的迁移后,《C语言程序设计》已成为院教学平台近百门课程中浏览量最大的一门课程

 教学内容
 
1、课程内容体系结构

     《C语言程序设计》课程是计算机科学与技术、软件工程、网络工程等信息类专业重要的专业基础课,内容丰富,体系庞大。作为专业学生接触的第一个程序设计语言的课程,对学生学习《VC++程序设计》、《数据结构》、《操作系统》、《图形学与数字图像处理》、《计算机网络》、《计算机系统安全》等后续课程,以及完成《C语言课程设计》、《数据结构课程设计》、《软件系统综合课程设计》、《毕业设计》等实践教学任务都有重要的影响,因此,必须从整个培养体系中优化、完善课程的内容体系,确定课程的内容体系,结构如下:

模块

内容

知识点

学时

1

C语言概述

C语言的特点、基本结构、C程序的运行过程、 C程序的语法规则、C程序的开发过程

2

2

数据类型及其运算

标识符的定义、C语言的数据类型、  C语言的基本数据类型、各种修饰符与基本数据类型的组合方式、各种数据类型表示的数值范围以及数据所占内存空间的大小、常量、变量、运算符与表达式、算术表达式中数据间的混合运算与类型转换、数据类型的隐含转换和强制转换、 赋值运算符与赋值表达式、条件运算符和条件表达式

8

3

程序设计结构

程序的三种基本控制结构、顺序执行语句、表达式语句、函数调用语句、复合语句和空语句、格式化输出函数printf()的使用方法、格式化输入函数scanf()的使用方法、单字符输入函数getchar()和输出函数putchar()的使用方法、关系运算符及其优先次序、逻辑运算及其优先次序、if语句的各种格式、if语句的嵌套使用、switch语句的使用方法、break语句在switch语句中的应用、while语句的使用格式和注意事项、do-while语句的使用格式和注意事项、for语句的使用格式和注意事项、breakcontinue语句在循环语句中的应用、循环结构的嵌套、使用goto语句实现循环结构、穷举法程序设计方法、迭代程序设计方法

8

4

数组

一维数组的定义、引用和初始化、一维数组的应用:查找方法(顺序查找、二分查找)和排序方法(冒泡排序、直接插入排序和直接选择排序)、二维数组的定义、引用和初始化、字符数组的定义、引用和初始化、字符串数组的定义、引用、初始化和赋值操作

8

5

函数

函数的定义与调用方法、函数的返回值与函数类型、被调函数的声明方法、外部函数和内部函数的概念和定义方法、内部变量和外部变量、内部变量的存储类型(自动内部变量、寄存器内部变量、静态内部变量)、外部变量的存储类型(静态外部变量和非静态外部变量)、函数的数据传递(传值调用、传址调用和通过外部变量传递数据)、数组作为函数参数、递归函数运行过程和设计方法

10

6

指针

指针变量的定义、指针运算符(取地址运算符“&”和取内容运算符“*”)、指针变量的初始化、指针变量的各种运算、指针变量与一维数组、指向多维数组元素和指向分数组的指针、字符串指针变量、字符串的表示和引用、指针数组的定义和使用、多级指针变量的使用方法、指针型函数设计方法、指向函数的指针变量的应用、命令行参数的应用方法

8

7

编译预处理

无参宏定义方法、带参宏定义方法、条件编译的使用、文件包含的使用

2

8

结构体

结构体类型声明、结构体变量的定义、引用和初始化、结构体变量作为函数参数、结构体数组的定义和引用、结构体指针变量的定义和使用、结构体数组指针的定义和使用、结构体指针变量作为函数参数、结构体数组作为函数参数、单链表的概念、建立和各种运算的实现过程、用户定义类型typedef

10

9

文件

文件的概念、文件的分类、文件缓冲区、流和文件指针、文件打开和关闭函数、文件的顺序读写函数(fgetc()fputc()fgets()fputs()fscanf()fprintf())、文件的随机读写函数(ffread()fwrite())、文件定位操作函数(ftell()fseek()rewind())、文件检测函数(feof()

6

10

软件开发过程

了解软件工程的基本概念、了解软件开发步骤

2

2、教学内容组织方式与目的

1C语言基础知识:重点讲解C语言的基本数据类型、C语言的流程控制语句,使学生学会和掌握简单的程序设计的基本思路与技术。由于学生是初次接触程序设计,这部分内容主要以理论讲解为主,强化和补充实验教学,让学生体验、领会和初步形成程序设计的概念与思想。教学中采用多媒体教学手段与传统板书手段相结合方式,既有足够的信息量,又有新知识的形成、积累和消化过程,有利于学生接受和掌握。

2)函数:这部分主要讲解函数的概念、函数的调用、函数的执行与返回、递归函数的设计及其运行轨迹的分析。函数是C语言中支持结构化、模块化程序设计的重要设施,这部分是课程的内容之一,一定要强调自顶向下、逐步细化的模块化程序设计概念和思想,函数是实现模块的最好设施。另外,在程序设计思想上,一些复杂的问题可以采用递归方式解决,而且在《数据结构》、《操作系统》等许多课程中都会大量使用递归算法,因此,必须讲清递归设计的基本思路,分析递归函数的执行轨迹,让学生真正掌握递归技术。教学中,新知识讲解可以传统板书为主,函数知识、结构化与模块化的程序思想循序渐进地推行,便于学生领会;以多媒体教学手段为辅,递归函数执行轨迹的分析、一些中大型程序的案例剖析,可帮助学生消化和巩固。

3)构造数据结构类型:这部分主要介绍数组、结构体、共用体、指针、链表、文件等用户自定义数据结构类型的定义、整体及其各个分量的操作,更重要的是培养学生数据建模的概念与意识,实际应用问题一般总是经过建模分析、寻求解答算法的过程。教学过程中采用多媒体教学手段为主、传统板书为辅的方法,重在展开数学模型的设计与构建、操作与应用,以充足的应用案例信息帮助学生理解和掌握。

4)软件工程初步知识:这部分主要介绍应用软件开发的一般过程,教育学生不要一见到题目就写程序,而应该先分析应用需求,再进行总体设计(数据模型、系统结构),然后再编程和调试,最后还需要测试。教学中可采用板书提纲、多媒体展示应用案例的开发过程,帮助学生理解和掌握软件工程规范与方法。

       由于C语言是学生接触到的第一种设计语言,学生往往因为没有程序设计的经验和意识,一般都感到抽象、难学,书中例题能看懂,可拿到题目却无从下手。教学过程中,采用多媒体技术与传统板书相结合的教学手段,利用智能教学平台辅助教学、作业和交流,强调基础知识的讲解,同时必须保证足够的习题课和大量的实验课,帮助学生理解和掌握,启发、鼓励学生自觉地参与学习,保持高昂的专业学习兴趣,培养学生的程序设计能力、编程与调试能力,为专业学习打下良好的基础。


 
电话:0518-5895383 传真:0518-5895386 电子邮件:sj_lfg@hotmail.com
凌风科技版权所有 Copyright 2001-2017 study.hhit.edu.cn All rights reserved
友情提醒:未经许可禁止复制或建立镜像