C语言程序设计教案

  • 格式:doc
  • 大小:123.00 KB
  • 文档页数:33

C语言程序设计教案课程名称:C语言程序设计总学时:51(其中讲课学时:36,上机学时:15)课程类型:必修课程专业:06气候教材:《C程序设计》(第三版),谭浩强,清华大学出版社,2005.教学参考书:1. C语言程序设计教程,谭浩强,高等教育出版社2.C高级实用程序设计,王士元,清华大学出版社教学目的和要求:本课程作为非计算机专业的基础课,旨在使学生通过本课程的学习不仅要掌握C语言的基础知识,而且更重要的是掌握进行程序设计的基本方法,提高学生编程的能力。

具体要求如下:1.熟悉并理解程序设计的基本概念和基本方法。

理解程序设计的基本思想和思维方法,了解C程序的基本结构,各种语法成分的作用、语法结构及运用方式。

2.培养运用C语言基本知识编写简单的程序,解决问题的基本能力。

3.综合运用多个知识点的内容进行简单的应用程序开发,考察综合解决问题的能力。

总第一讲第一章 C语言概述(2学时,共一讲)本讲教学目的:1.了解C语言程序特点和产生的历史背景。

2.熟悉C语言程序的结构、编译环境和上机调试的过程。

内容纲要:1.C语言出现的历史背景2.C语言的特点3.C语言程序介绍4.C语言的上机步骤本讲教学重点与难点:1.C语言的特点与格式2.C语言的上机调试的步骤教学方法、实施步骤及时间分配:采用多媒体进行教学,具体教学步骤安排如下:1.引入新课————————————————————————————5’自我介绍、课程安排与要求。

2.新课教学———————————————————————————90’介绍C语言发展的历史介绍C语言的特点介绍简单C语言程序的结构介绍C语言上机调试的步骤3.总结、布置作业及预习内容————————————————————5’第二章程序的灵魂——算法(2学时,共一讲)本讲教学目的:1.掌握算法的内涵、特性与表示方法。

2.熟悉结构化程序设计方法。

内容纲要:1. 算法的概念2. 算法的特性3. 算法的表示4.结构化程序设计方法本讲教学重点与难点:1.算法的内涵2.结构化程序设计方法教学方法、实施步骤及时间分配:采用多媒体进行教学,具体教学步骤安排如下:1.回顾上一节课主要内容,引入新课—————————————————5’2.新课教学———————————————————————————90’3.总结、布置作业及预习内容—————————————————————5’第三章数据的类型、运算符与表达式(4学时,共二讲)第一讲本讲教学目的:1. 使学生了解数据类型的概念2.使学生掌握整型数据,实型数据,字符型数据的数据存储形式和定义、使用方法内容纲要:1.C的数据类型数据类型的概念、C语言中数据类型的分类。

2.常量和变量各种表示形式的整数、实数、字符和字符(串)常量,符号常量的定义和使用。

变量的定义和初始化。

本讲教学重点与难点:1.C语言的数据类型2.不同数据类型的使用范围3.数据的隐式转换问题教学方法、实施步骤及时间分配:由于本节内容语法点比较多,所以在教学中结合多个小程序,在练习中掌握各知识点。

采用多媒体进行教学,具体教学步骤和时间分配安排如下:1. 回顾上一节课主要内容,引入新课—————————————————5’2.新课教学———————————————————————————90’3.总结、布置作业及预习内容————————————————————5’总第四讲第三章数据的类型、运算符与表达式第二讲本讲教学目的:1. 使学生掌握算术运算符与表达式的使用,赋值、逗号运算符和表达式的使用2. 使学生掌握各类数据类型间的混合运算的规则3. 使学生了解几种位运算符的运算规则内容纲要:1.运算符与表达式运算符的优先级和结合性,表达式的运算规则,包括:算术运算符和算术表达式,赋值运算符和赋值表达式,逗号运算符和逗号表达式,不同类型的数据在计算和赋值时的类型转换规则。

2. 位运算按位与、按位或、按位异或、取反、左移、右移,位运算赋值,不同长度的数据进行位运算的原则。

本讲教学重点与难点:1.C语言中的运算符和表达式2.位运算3.赋值运算符和赋值表达式教学方法、实施步骤及时间分配:由于本节内容语法点比较多,所以在教学中结合多个小程序,在练习中掌握各知识点。

采用多媒体进行教学,具体教学步骤和时间分配安排如下:1. 回顾上一节课主要内容,引入新课—————————————————5’2.新课教学—————————————————————————-——90’(1)运算符与表达式(2)位运算3. 总结、布置作业及预习内容———————————————————5’总第五讲第四章顺序程序设计(2学时,共一讲)本讲教学目的:1.使学生掌握程序的三种基本结构;2.使学生掌握格式控制符的含义和作用;3.使学生会运用赋值语句、输出、输入函数编制简单的程序。

内容纲要:1.三种基本的程序结构顺序结构的特点,选择结构的特点,循环结构的特点。

2.C语句概述C语言的语句分类。

3.赋值语句4.字符数据的输入输出5.格式输入输出格式输入/输出函数的调用方法和功能,格式控制符的含义和作用。

6.顺序结构程序设计举例本讲教学重点与难点:1.顺序结构的程序流程2.格式化输入输出在实际编程中的正确应用教学方法、实施步骤及时间分配:通过程序设计操练,熟悉编程基础。

通过程序扩展,进行对比学习。

采用多媒体进行教学,具体教学步骤和时间分配安排如下:1. 回顾上一节课主要内容,引入新课—————————————————5’2.新课教学———————————————————————————90’3.总结、布置作业及预习内容———————————————————5’总第六讲第五章选择结构程序设计(2学时,共一讲)本讲教学目的:1. 使学生掌握关系运算符的优先级顺序、关系表达式的值的计算;2.使学生掌握逻辑运算符的优先级顺序、逻辑表达式的值的计算;3.使学生掌握条件运算符的使用方法;掌握利用if语句和switch语句进行选择结构程序设计的基本方法。

内容纲要:1.关系运算符和关系表达式关系运算符及其优先级,关系表达式的构成和运算规则。

2.逻辑运算符和逻辑表达式逻辑运算符及其优先级,逻辑表达式的构成和运算规则。

3.if 语句if语句的三种形式,if语句的嵌套,条件运算符和条件表达式。

4.switch语句用switch语句实现多分支选择结构。

5.选择结构程序举例本讲教学重点与难点:1.关系运算符和关系表达式2.在程序中正确使用if语句构成条件判断3.条件语句的嵌套教学方法、实施步骤及时间分配:从简单的问题着手,先要求学生自己编写简单程序。

引入条件语句,同时在程序中讲解相关的语法知识点,提升高度。

采用多媒体进行教学,具体教学步骤和时间分配安排如下:1. 回顾上一节课主要内容,引入新课—————————————————5’2.新课教学———————————————————————————90’3.总结、布置作业及预习内容—————————————————————5’总第七讲第六章循环控制(3学时,共1.5讲)本讲教学目的:1. 使学生掌握while语句,do-while语句,for语句的特点和循环结构程序设计的基本方法;2. 使学生熟悉循环的嵌套使用。

内容纲要:1.while 语句使用while 语句实现当型循环的程序设计方法。

2.do-while语句使用do-while语句实现直到型循环的程序设计方法。

3.for语句使用for语句实现次数型循环结构的程序设计。

4.循环嵌套本讲教学重点与难点:1.for 语句在循环结构中的应用2.While、do while语句在循环结构中的应用3.多层循环嵌套教学方法、实施步骤及时间分配:从简单的问题着手,先要求学生自己编写简单程序。

引入循环语句,同时在程序中讲解相关的语法知识点,提升高度。

采用多媒体进行教学,具体教学步骤和时间分配安排如下:1. 回顾上一节课主要内容,引入新课—————————————————5’2.新课教学———————————————————————————90’3.总结、布置作业及预习内容—————————————————————5’第七章数组(4学时,共二讲)总第八讲第六章循环控制(1学时)、第七章数组(1学时)本讲教学目的:1. 掌握break语句和continue语句用法;2. 使学生掌握循环编程的方法;内容纲要:1.break语句和continue语句break和continue语句功能和使用方法。

2.循环结构程序举例3.一维数组的定义和引用一维数组的定义和初始化,,一维数组元素的引用,一维数组的程序举例。

本讲教学重点与难点:1.break语句和continue语句2.循环结构程序编程方法3.一维数组的定义和引用教学方法、实施步骤及时间分配:从简单的问题着手,先要求学生自己编写简单程序。

引入循环语句,同时在程序中讲解相关的语法知识点,提升高度。

采用多媒体进行教学,具体教学步骤和时间分配安排如下:1. 回顾上一节课主要内容,引入新课—————————————————5’2.新课教学———————————————————————————90’3.总结、布置作业及预习内容—————————————————————5’第七章数组(4学时,共二讲)总第九讲第七章数组(2学时)本讲教学目的:1. 使学生掌握一维数组、二维数组的定义和引用2.使学生掌握一维数组、二维数组的初始化3.使学生掌握字符数组的定义,引用和初始化4.使学生熟悉字符数组的输入输出内容纲要:二维数组的定义和引用:1.二维数组的定义和初始化;2.二维数组元素的引用;3.二维数组的程序举例。

本讲教学重点与难点:1.数组的排序;2.二维数组概念的理解3.“冒泡法”排序教学方法、实施步骤及时间分配:采用实例引入和编程半成品法。

通过一个简单的实例引入数组的应用,示范数组的定义、输入操作之后,引导学生自己作出输出解,从中讲解有关数组的知识点,培养学生的编程能力。

采用多媒体进行教学,具体教学步骤和时间分配安排如下:1. 回顾上一节课主要内容,引入新课—————————————————5’2.新课教学———————————————————————————90’3.总结、布置作业及预习内容—————————————————————5’第八章函数(4学时,共二讲)总第十讲第七章数组(1学时)、第八章函数(1学时)本讲教学目的:1. 使学生掌握掌握字符处理函数puts, gets, strcat, strcpy, strcmp,strlen 的使用;2.使学生了解函数strlwr,strupr的功能;3. 使学生了解函数的概念和分类;4. 使学生掌握函数定义的形式,函数的形参和实参的概念,函数的返回值和函数的调用。