1、1C 语言程序设计教学大纲1 课程的基本描述课程名称: C 语言程序设计 C Programming课程编号: 5301A39 课程性质: 公共基础选修课 适用专业: 理工科各专业参考教材: 谭浩强. C 程序设计. 北京:清华大学出版社, 1999总 学 时: 32 学时 理论学时: 20 学时实验学时: 12 学时 课程设计: 无学 分: 2 学分 开课学期: 第二学期至第七学期前导课程: 计算机文化基础后续课程: 软件基础、数据库应用、C+2 教学定位2.1 能力培养目标本课程是非计算机专业的技术基础课。通过本课程的学习,使学生掌握高级语言程序设计的方法和技能,具有较强的计算机应用能力。
2、培养学生能用 C 语言编写一些小规模的应用程序解决实际问题,从而使学生进一步掌握程序设计的基本技巧,并具有程序设计、程序调试的能力,为后续课程和本专业应用打下较扎实的基础。22.2 课程的主要特点学生在进入本课程学习之前,应学过计算机文化基础这门课程的学习,为本课程奠定计算机基本操作和程序设计入门知识的基础。本课程主要从算法的描述入手,通过实例介绍了 C 语言的语法规则,最后利用高级语言程序设计思想去完成自己的算法以解决实际问题。本课程学习结束后,为软件基础和其他专业课的学习打下良好的专业理论基础,并为学生今后掌握一些以 C 语言为基础而发展起来的面向对象的程序设计技术打下基础。2.3 教学定
3、位本课程的定位点设定如下:1突出重点,注重实践能力的培养重点放在解题思路、算法设计、编程构思上。编程语言的语句只是表达工具,以较确切的案例在 C 语言环境下描述知识点,使学生当堂学懂。突出上机训练,在编写程序的过程中,使学生提高利用计算机这个智力工具来分析问题和解决问题的能力。2鼓励和引导探索式学习按照建构主义的学习理论,引导学生在解题编程的实践中探索其中带规律性的认识,将感性认识升华到理性高度,使学生能举一反三,培养学生自学能力和独立思考分析问题的能力。3 知识点与学时分配3.1 程序设计基本概念 程序设计语言的发展(了解)C 语言的特点及程序结构(了解)算法及描述(了解)C 程序编译、链接
4、和运行(了解)2 学时3.2 数据类型、运算符与表达式 1数据类型(掌握与应用)2常量与变量(掌握与应用)3运算符及表达式(掌握与应用)32 学时3.3 顺序程序设计1程序设计思想(了解)2输入函数与输出函数(掌握与应用)3程序举例2 学时3.4 选择结构程序设计1条件语句 if, ifelse, ifelseifelse(2 学时,掌握与应用)2多条件语句 switch(2 学时,掌握与应用)3选择结构的嵌套(2 学时,掌握与应用)4程序举例2 学时3.5 循环结构程序设计1三种循环语句 while, dowhile, for(掌握与应用)2循环的嵌套(掌握与应用)3continue 语句和
5、 break 语句(掌握与应用)4程序举例2 学时3.6 函数1函数的功能与定义(掌握与应用)2函数的类型说明与返回值(掌握与应用)3函数的调用、嵌套与参数传递(掌握与应用)4函数的作用域规则(掌握与应用)5C 语言的预处理(掌握与应用)6程序举例2 学时3.7 数组1一维数组的定义、存储方式、初始化及引用(掌握与应用)2二维数组的定义、存储方式、初始化及引用(掌握与应用)3字符数组定义、初始化和引用(掌握与应用)4字符串、字符串函数及数组(掌握与应用)45程序举例2 学时3.8 指针1指针与指针变量(掌握与应用)2指针变量的定义和引用(掌握与应用)3指针运算符与表达式(掌握与应用)4指针与数
6、组(掌握与应用)5指针与函数(了解)6指针与字符串(了解)7程序举例2 学时3.9 结构体与共用体1结构体类型变量的定义、初始化和引用(了解)2结构体数组的定义和引用(了解)3结构体指针的定义和引用(了解)4链表的建立、删除和插入(了解)5共用体类型变量的定义和引用(了解)6枚举类型(了解与应用)2 学时3.10 位运算1位运算符与位运算(了解)2位段(了解)1 学时3.11 文件1文件的概念与作用(了解与应用)2与文件有关的函数(了解)3程序举例1 学时54 讲授提示及方法4.1 程序设计基本概念重点:算法及其描述,C 语言的语法规则。难点:C 语言的语法规则。讲授提示与方法:强调算法在程序
7、设计中的意义,设计简单易懂的案例描述 C 语言的语法规则。4.2 数据类型、运算符与表达式重点:数据类型及不同类型数据之间的转换,常量与变量的表示,运算符的优先级及结合性。难点:描述数据类型所涉及到的数据在内存的存储形式。讲授提示与方法:强调数据类型及其在内存中的存储形式,以丰富的实例阐述常量与变量的应用以及运算符的优先级和结合性。4.3 顺序程序设计重点:程序设计的基本结构,基本 输入输出函数及应用。难点:函数的格式与输入输出格式。讲授提示与方法:结合 C 语言环境,以丰富的实例强调四种函数(scanf(), printf(), getchar(), putchar())在概念上与格式上的区
8、别。4.4 选择结构程序设计重点:四种条件控制语句(if, ifelse, ifelseifelse, switch)的区别与特点。难点:不同条件控制语句的应用及嵌套。讲授提示与方法:结合 C 语言环境,以恰当的实例阐述四种条件语句及它们之间的区别与应用环境。4.5 循环结构程序设计重点:三种循环控制语句(while, dowhile, for)。难点:控制循环的初始与终止条件,循环的嵌套。6讲授提示与方法:结合 C 语言环境,以恰当的实例阐述三种循环控制语句及它们之间的区别与应用环境。4.6 函数重点:标准函数与自定义函数的概述,函数类型的说明与返回值,函数的调用与参数传递,函数的作用域。难
9、点:函数的参数传递与递归,变量的作用域与存储类型。讲授提示与方法:结合 C 语言环境,以恰当的实例阐述函数的定义、函数调用与返回值、参数的传递、变量的作用域。4.7 数组重点:一维数组与二维数组的定义、存储方式、初始化和引用,数组的应用。难点:数组的存储方式与初始化。讲授提示与方法:结合 C 语言环境,用案例阐述数组的定义与存储,以及不同初始方式的运行结果,结合典型的排序与查找算法说明数组的应用。4.8 指针重点:指针与指针变量的概念,指针变量的定义与引用,指针运算符与表达式,指针与数组。难点:指针与数组,参数的传递。讲授提示与方法:结合 C 语言环境,以案例形式讲述指针变量的使用规则,使学生
10、重点掌握指针作为函数参数及返回指针值函数的作用和使用方法。4.9 结构体与共用体重点:结构的定义与应用。难点:结构体类型的概念。讲授提示与方法:结合 C 语言环境以案例形式介绍结构的定义与应用。4.10 位运算重点:位运算符与位运算。难点:逻辑运算方法。7讲授提示与方法:该部分作为选学内容,可以结合 C 语言环境以案例形式介绍。4.11 文件重点:常用文件的相关函数。难点:文件的打开与关闭的概念。讲授提示与方法:可以结合 C 语言环境以案例形式介绍。5 习题与实验设计5.1 习题设计由于本课程主要讲授的是算法和语法规则,因此本课程的习题主要以编写算法为主。通过学习各知识单元的语法规则与算法,本
11、着循序渐进的原则,由浅入深,由单一到综合,使学生能够逐步灵活运用所学的各种方法和技巧,分析和解决实际问题。1、 通过对基本数据类型的学习以及简单编程思想,可以快速地进行顺序程序的设计。2、 通过选择结构和循环结构程序设计的学习,能够对实际问题编写出较完整的程序。3、 通过对函数、数组及指针的学习,进一步掌握用 C 语言在解决实际问题时的不同方法与精髓。通过学生完成作业的情况,了解学生的知识理解和掌握情况,以及学生的算法设计的思维方式,针对存在的问题作进一步的讲解和启发,使学生对所学知识能够达到融会贯通。5.2 实验设计实验共 12 学时。本课程特别注重实践性,学生真正理解课堂知识,也必须经过实
12、验的环节。实验的内容设计,主要依据章节讲授顺序安排。实验一 熟悉 C 语言程序开发环境( 2 学时)了解所用计算机的基本操作方法,在 C 语言开发环境中如何编辑、编译、连接和运行一个 C 语言程序,初步了解 C 语言程序的结构特点。实验类型:验证实验二 数据描述、顺序结构程序设计(2 学时)1、掌握 C 语言数据类型,熟悉如何定义一个整型、字符型和实型的变量,以及对它8们赋值的方法;2、掌握不同的类型数据之间赋值的规律;3、掌握 C 浯言中使用最多的一种语句一赋值语句的使用方法;4、掌握各种类型数据的输入输出的方法能正确使用各种格式转换符。实验类型:设计 实验三 选择结构程序设计、循环结构程序
13、设计(2 学时)1、了解 C 语言表示逻辑量的方法(以 0 代表“假” ,以非 0 代表“真”);2、学会正确使用逻辑运算符和逻辑表达式、关系表达式和关系运算符;3、熟悉掌握用 while 语句,dowhile 语句和 for 语句实现循环的方法;4、掌握在程序设计中用循环的方法实现一些常用算法。实验类型:设计实验四 函数和编译预处理(2 学时)1、掌握定义函数的方法;2、掌握函数实参与形参的对应关系以及“值传递”的方式;3、掌握函数的嵌套调用和递归调用的方法;4、掌握全局变量和局部变量动态变量、静态变量的概念和使用方法。实验类型:设计实验五 数组(2 学时)1、掌握维数组和二维数组的定义、赋
14、值和输入输出的方法;2、掌握字符数组和字符串函数的使用。实验类型:设计实验六 指针(2 学时)1、掌握文件以及缓冲文件系统、文件指针的概念;2、学会使用文件打开、关闭、读、写等文件操作函数;3、学会用缓冲文件系统对文件进行简单的操作。实验类型:设计注:此处共列出 12 学时的实验。6 考核与成绩记载6.1 考核的方式及成绩的评定。期末考试总分 100 分,包括以下三部分成绩:(1)学期实验成绩 30 分出勤:1 分*6 次=6 分;实验作业:3*6 次=18 分;卫生、纪律各项:1 分*6 次=6 分; 注 1:实验成绩不满 18 分者,需要补交作业,成绩合格后方允许考试。(2)平时成绩 10 分出勤:5 分9提问、作业:5 分(3)期末上机考试:60 分题型包括:选择题、填空题、判断题、操作题等。 6.2 考题的设计考试题大体上可以分为三种类型,重点考察学生对基本概念、基本方法、基本技术的掌握和综合应用,通过机考自动完成。1 概念题型考查学生对基本知识点的掌握情况,基本形式有选择和填空。2 应用题型考查学生程序设计的完事性,程序填空。3 设计题型考查学生的程序设计能力,根据问题设计并编写程序。