《C语言程序设计》教案
单 位: 湖南理工职业技术学院 学院(教研室): 风能工程学院 工业机器人专业 授课教师: 周常欣 职 称: 助教
课程名称 教材 考核方式 C语言程序设计 C语言程序设计(第四版) 作者:谭浩强 清华大学出版社 考查课程。 总成绩:课堂参与占10%;试验报告占20%;期末考试占70%(闭卷考试:程序编写题目)。 C语言是近年来国内外得到迅速推广使用的一种计算机语言。C语言程序设计课程是计算机专业和信息管理专业的核心专业基础课,它功能丰富,表达能力强,使用灵活方便,应用面广,目标程序效率高,可移植性好,既具有高级语言的优点,又具有低级语言的优点。既适用于应用软件编写,又适用于系统软件的编写。在现代的工业机器人的众多语言中,大多编程风格以C语言非常类似,学生学好C语言,对将来的工作中,从事工业机器人现场编程是非常有帮助的。 课程的性质和任务 《语言程序设计》这门课是我校工业机器人、分布式发电与微电网专业的专业必修课。作为计算机系的数据结构、c++、单片机编程等课程的前导课程,也是一门实践性很强的课程,既要掌握概念,又要动手编程,还要上机调试运行。对工业机器人专业来说是一门必修的课程。 同时,这门课程也是“湖南省非计算机专业学生计算机应用能力水平考试”二级考试的主要语种之一。 课程的教学目标 本课程的教学目标是:通过理论和实践教学,使学生较好地掌握C语言各方面的知识,掌握基本的程序设计过程和技巧,具备初步的高级语言程序设计能力,并能熟练应用VC++6.0集成环境进行C语言的编写、编译与调试,能应用C语言解决一般编程问题的水平。 教 学 基 本 目 的 和 要 求 教 学 重 点 和 难 点 一、程序设计和C语言 重点:计算机程序、计算机语言、C语言编译软件的安装、最简单的C语言程序 二、算法:程序的灵魂 重点:简单的算法举例、算法的特性、用流程图表示算法。 三、顺序结构程序设计 重点: C语言的数据类型、C语句的种类、赋值语句、数据的输入输出及输入输出中最常用的控制格式。 四、选择结构程序设计 重点:关系运算符与逻辑运算符及其组成的具有逻辑值的表达式、二条分支语句的格式及基本应用、多分支的选择语句。 五、循环结构程序设计 重点:C构成循环的四种方法,尤其是后三种方法、break与continue语句的基本作用。 难点:while语句;do-while语句;for语句;循环的嵌套;break与continue语句。 六、数组 重点:一维数组、二维数组的定义与引用;字符数组的定义与引用、常用字符串处理函数及字符处理函数;数组的应用 难点:二维数组的定义与引用;字符数组;数组的应用 七、函数 重点:函数的定义;函数的参数和函数的值;函数的调用;函数的嵌套调用;函数的递归调用;数组作为函数参数;变量作用域;量存储类别; 难点:函数定义、函数调用、函数声明等基本基本概念;函数的嵌套调用与递归调用; 数组作为函数的参数、变量的存储类别与作用域。 八、指针 重点和难点:指针与地址的基本概念、指针与变量的关系;指针与数组;指针与字符串、指针数组与二级指针;指针的应用 九、建立自己的数据类型 重点和难点:定义和使用结构体变量、用指针处理链表、共用体类型 十、文件 重点:文件的基本知识、fopen、fclose函数打开与关闭文件、顺序读写数据文件、随机读写数据文件 难点:用二进制方式向文件读写一组数据。 十一、常见错误分析 重点和难点:文件的基本概念;文件的打开、关闭、常用读写方法。 十二、数组高级应用 重点:不定长数组与二维数组的应用 难点:不定长数组与二维数组的应用 十三、综合应用 重点:数组、if语句、 循环语句、函数知识的综合应用 难点:二维数组、指针 教材、 参考书 教材:《C程序设计》(第四版) 谭浩强著 清华大学出版社 2010年6月 参考书:《C程序设计语言》Kernighan&Ritchie 机械工业出版社 《C语言程序设计》教案
第 1-2课时
授课内容 第1章 C语言概述 教学目的 了解C历史,名称来源、C特点,掌握C程序基本结构;C语言的版本、C语言的关键字; 和要求 重点 难点 C语言的关键字; 引言 语言:人-人语言交流;聋哑人-手势语;人机-计算机语言 C语言是一种流行的计算机高级语言,C语言适合于编写系统软件,也可以编写应用程序。 讲授 一、语言出现的历史背景 (1)C语言的发展源于人们希望用高级语言编写操作系统。(C-BCPL第二字母) ALGOL60(高级语言)->CPL(硬件支持)- BCPC->B->C->标准C-> ANSI C -> ISO C (2) 语言既具有高级语言特性,又具有低级语言特性-中级语言。 二、C语言的特点 教 学 安 排 C语言既具有一般高级语言特性,又具有低级语言特性。8个特点。 1、C语言简洁、紧凑。 2、运算符丰富。 3、数据结构类型丰富。 4、具有结构化的控制语句。 5、语法限制不太严格,程序设计自由度大。 6、C语言允许直接访问物理地址,能实现汇编语言的大部分功能,可以直接对硬件进行操作。 7、生成目标代码质量高,程序执行效率高。 8、与汇编语言相比,用C语言写的程序可移植性好。 三、C语言的关键字 附录C(书本378页) 四、C语言的版本和关键字 auto、inline、restrict、_bool、_Complex、_Imaginary是后来扩充的,有些编译器也扩充了关键词。 五、Turbo C编译器的安装与使用 课后自我 总结分析 备注
《C语言程序设计》教案
第 3-4 课时
授课内容 第1章 VC++6.0、VS2015的安装和使用 教学目的 了解C语言常用的编译器;掌握VC++6.0、VS2015的下载与安装; 和要求 掌握VC++6.0、VS2015的使用 重点 难点 重点:VC++6.0、VS2015的使用 难点:VC++6.0、VS2015的使用 讲授 一、C语言常用的编译器 (1)32位的WINDOWS操作系统与64位的WINDOWS操作系统 (2)VC++6.0 (2)VS2015 二、文件夹与压缩包 1、文件夹 2、文件的压缩与解压 3、软件的下载 4、软件安装的一般流程 5、产品id号、序列号与破解补丁 三、VC++6.0、VS2015的下载与安装 7、生成目标代码质量高,程序执行效率高。 8、与汇编语言相比,用C语言写的程序可移植性好。 四、VC++6.0、VS2015的使用 教 学 安 排 VC++6.0、VS2015的使用 五、c4droid编译器的使用 1、基于安卓手机操作系统的C语言编译器 2、c4droid编译器的安装 3、c4droid编译器的使用 六、上机演示及实践操作 在win7电脑上示范VC++6.0、VS2015的编译器的安装和使用 课后自我 同学们对计算机基础知识比较缺乏,安装VC++6.0时,不知道如何解压,也不知道如何下总结分析 载和计算机操作系统版本匹配的VC++6.0或VS2015 备注
《C语言程序设计》教案
第 5-6 课时 授课内容 第2章 算法的基本概念和简单算法举例 教学目的 了解算法的基本概念、程序设计的一般流程、掌握书写简单的算法流程、了解算法的特性 和要求 重点 难点 掌握书写简单的算法流程。 引言(5分钟) 什么是算法?菜谱、拳谱、歌谱都是广义的算法。以湘潭去北京开会为例解释算法的优劣。 1+2+3+…100的常规算法和高斯的首尾相加快递算法 讲授 一、简单算法举例(37分钟) (1)求5!(10分钟) 常规求解方式的烦琐引出用循环方式求解的方法。 分析用循环方式求5!的C语言代码 (2)求1×3×4×5×7×9×11(10分钟) 询问同学此题与5!的异同,引每项是2n-1的通项,在上题的基础上改动少量代码可实现本题的C语言编程。 (3)求2000-2500年间的闰年(10分钟) 图示方式给学生解说闰年要满足的条件,引出要做多次判断的较复杂流程 提问:能被4整除,也能被100整除,是不是等同能被400整除这一认识误区 再次提问:2000年是不是闰年,为什么?2060年是不是闰年,为什么?检测学生是否了解闰年判断流程。 (4)素数的求法(7分钟) 根据素数的定义来循环判断是否能被一系列数整除,最后判断是不是素数,请学生尝试写出求解流程。 二、算法的特性(3分钟) 1、有穷性。2、确定性。3、0个或多少输入。4、1个或多个输出。5、有效性。 三、上机演示及实践操作 在讲课的同时切换软件界面调试代码 课后自我 总结分析 备注 教 学 安 排 通过提问可以了解同学们对知识的掌握程序,互动性的教学设计更有益于教学 《C语言程序设计》教案
第 7-8 课时 授课内容 第2章 算法的表示 教学目的 掌握用流程图表示算法;了解传统流程图的弊端;掌握N-S流程图表示方法。 和要求 重点 难点 重点:掌握用流程图表示算法;掌握N-S流程图表示方法 难点:掌握用流程图表示算法;掌握N-S流程图表示方法