“C语言程序设计”课程教学大纲英文名称:Clanguageprogramdesigning课程编号:106004课程类型:C1学时/课内实践学时:48/0学分:3适用对象:计算机、自动化、通信、电子专业本科生先修课程:无使用教材及参考书:教材:C程序设计(第四版),谭浩强主编,清华大学出版社参考书:C程序设计习题解答与上机指导(第四版),谭浩强主编,清华大学出版社一、课程的性质、教学目的和任务:C语言是国内外广泛使用的一种计算机语言,它以其丰富灵活的控制和数据结构,简洁而高效的语句表达、清晰的程序结构、良好的移植性、较小的时空开销,已被广泛的应用于系统软件和应用软件的开发中。本课程是计算机、自动化、通信、电子类专业的一门专业基础课。课程的主要任务是引导学生进入计算机程序设计的广阔空间、培养学生的逻辑思维能力、抽象能力和基本的计算机程序设计能力。本课程以C语言为载体,使学生对计算机程序设计有一个初步的正确的认识,学会阅读用计算机程序设计语言编写的简单应用程序,掌握结构化程序设计的基本方法和用计算机解决实际问题的基本步骤,训练学生的逻辑思维能力,培养其严谨的思维方式和良好的程序设计风格,为进一步学习其它专业基础课程和专业课程打下良好的基础。二、课程内容和基本要求第一章程序设计和C语言1.教学内容:1.1什么是计算机程序1.2什么是计算机语言1.3C语言的发展及其特点1.4最简单的C语言程序1.5运行C程序的步骤与方法1.6程序设计的任务2.教学目的及要求:1)了解C语言的历史、特点2)掌握C语言的运行环境,初步了解运行一个C语言程序的过程3.教学重点及难点:1)C语言的特点2)C程序的上机步骤第二章算法--程序的灵魂1.教学内容:2.1什么是算法2.2简单的算法举例2.3算法的特性2.4怎样表示一个算法2.5结构化程序设计方法2.教学目的及要求:1)掌握算法的概念和特点2)掌握用流程图、N-S流程图、伪代码表示算法3)理解结构化程序设计方法的概念3.教学重点及难点:用流程图、N-S流程图、伪代码表示算法第三章最简单的C程序设计——顺序程序设计1.教学内容:3.1顺序程序设计举例3.2数据的表现形式及其运算3.3C语句3.4数据的输入输出2.教学目的及要求:1)掌握基本数据类型的存储和表示方式,以及不同类型数据转换原则与方法2)掌握运算符和表达式的使用方法3)掌握语句的概念和使用方法4)掌握数据输入输出函数的使用,并能够编写简单的顺序结构程序3.教学重点及难点:1)基本数据类型的存储和表示方式2)不同类型数据转换原则与方法3)运算符和表达式的运用4)语句的使用5)输入输出函数的使用第四章选择结构程序设计1.教学内容:4.1选择结构和条件判断4.2用if语句实现选择结构4.3关系运算符和关系表达式4.4逻辑运算符和逻辑表达式4.5条件运算符和条件表达式4.6选择结构的嵌套4.7用switch语句实现多分支选择结构4.8选择结构程序综合举例2.教学目的及要求:1)掌握关系运算符和关系表达式、逻辑运算符和逻辑表达式、条件运算符和条件表达式的使用方法2)能够运用if语句、switch语句实现选择结构,掌握if语句的嵌套3.教学重点及难点:1)字三种运算符和表达式的使用2)if语句及if语句的嵌套第五章循环结构程序设计1.教学内容:5.1为什么需要循环控制5.2用while语句实现循环5.3用do---while语句实现循环5.4用for语句实现循环5.5循环的嵌套5.6几种循环的比较5.7改变循环执行的状态5.8循环程序举例2.教学目的及要求:1)熟练掌握三种循环语句的运用2)掌握循环的嵌套3)掌握break和continue语句的运用3.教学重点及难点:1)三种循环语句的使用2)循环的嵌套第六章利用数组处理批量数据1.教学内容:6.1怎样定义和引用一维数组6.2怎样定义和引用二维数组6.3字符数组2.教学目的及要求:1)掌握一维数组和二维数组的概念、初始化和引用2)掌握字符数组和字符串的应用3)学会使用字符串处理函数3.教学重点及难点:1)数组的初始化、引用2)字符串的处理第七章用函数实现模块化程序设计1.教学内容:7.1为什么要用函数7.2怎样定义函数7.3调用函数7.4对被调用函数的声明和函数原型7.5函数的嵌套调用7.6函数的递归调用7.7数组作为函数参数7.8局部变量和全局变量7.9变量的存储方式和生存期7.10关于变量的声明和定义7.11内部函数和外部函数2.教学目的及要求:1)掌握函数的定义和调用方法2)掌握函数的嵌套和递归调用3)了解变量的存储类别和作用域3.教学重点及难点:1)函数的定义和调用2)函数的嵌套调用第八章善于利用指针1.教学内容:8.1指针是什么8.2指针变量8.3通过指针引用数组8.4通过指针引用字符串8.5指向函数的指针8.6返回指针值的函数8.7指针数组和多重指针8.8动态内存分配与指向它的指针变量8.9有关指针的小结2.教学目的及要求:1)掌握指针、指针变量的区别2)掌握数组、指针、指针数组的关系3)了解指向函数的指针、返回指针值的函数、指针数组3.教学重点及难点:1)指针的定义、引用2)指针变量3)指针与数组的关系4)指针与函数的关系第九章用户自己建立数据类型1.教学内容:9.1定义和使用结构体变量9.2使用结构体数组9.3结构体指针9.4用指针处理链表9.5共用体类型9.6使用枚举类型9.7用typedef声明新类型名2.教学目的及要求:1)掌握结构体、共用体、枚举类型的定义和使用方法,类型和变量的区别2)掌握有关链表的操作3.教学重点及难点:1)结构体定义和使用方法2)链表的操作第十章对文件的输入输出1.教学内容:10.1C文件的有关基本知识10.2打开与关闭文件10.3顺序读写数据文件10.4随机读写数据文件10.5文件读写的出错检测2.教学目的及要求:1)掌握文件的定义与分类,文件名的表示,文件的打开与关闭2)了解顺序/随即读写数据文件的方法3)解如何对文件进行读写出错检测3.教学重点及难点:文件的打开、关闭、读写三、课程教学基本要求1.课堂讲授:教学方法采用课堂讲授与课件配合使用,使用多媒体教学方式,使学生掌握基本概念和基本操作。2.作业:每章节可布置课后习题4~5道题。3.考核方式:本课程为考试课程,考核采用闭卷形式。在总成绩中,平时成绩占30%,考试成绩占70%。四、实践教学环节无五、学时分配章节学时分配合计讲课习题课实验课上机课讨论课其他12222234154415521364157628862896281022合计381048六、教学内容更新说明无更新制定者:审定者:批准者:校对者:制定日期:2012年5月6日