C语言教学设计.docx
- 文档编号:9835202
- 上传时间:2023-02-06
- 格式:DOCX
- 页数:15
- 大小:21.52KB
C语言教学设计.docx
《C语言教学设计.docx》由会员分享,可在线阅读,更多相关《C语言教学设计.docx(15页珍藏版)》请在冰豆网上搜索。
C语言教学设计
C语言教学设计
任课教师教学专业教学班级XX学院课程教学设计(1-2学时)教学内容(章节、专题)第一章程序设计与C语言第二章程序的灵魂算法程序设计语言、C语言、算法教学目标与要求对程序设计语言和C语言有初步的了解。
了解程序设计的全过程和算法的构成要素教学重点§
1、3自己设计C程序§
2、4怎样表示一个算法教学难点§
2、4怎样表示一个算法:
流程图、三种基本结构、N-S流程图、伪代码选用教学素材与设备教材:
C程序设计(第二版),谭浩强,清华大学出版社设备:
微型计算机(装win2000,VC++
6、0编程环境)、投影机、扩音设备教学过程(内容提纲、教与学的方法)
一、简述程序设计语言的发展、C语言在程序设计语言中的地位
二、在Windows下运行VC++
6、0的方法、C程序的编辑、运行、存盘的方法
三、在已经掌握了VB程序设计的情况下,介绍简单的C程序的设计方法,强调C与VB相同和不同的地方,强调C自身的特点
四、提出程序设计的全过程和算法的概念,介绍用N-S图描述算法
五、举例说明用逐步细化方法设计程序的过程例
1、7三个数取大数(分解策略)例
1、8百钱买百鸡(递推策略)教与学的方法:
1、循序渐进
2、与VB对照
3、启发、提问作业:
第1章:
1、4第2章:
7、8XX学院课程教学设计(3-4学时)教学内容(章节、专题)第三章数据类型、运算符与表达式§
3、1-§
3、4数据类型;基本数据类型;常量和变量;整型数据;实型数据教学目标与要求了解C语言描述数据的方式。
了解基本类型数据:
字符型(char、unsignedchar)、整型(int、unsignedint、long、unsignedlong)实型(float、double)了解常量和变量教学重点基本数据类型教学难点数据的存储空间长度及数据取值范围、带符号的数据类型与无符号数据类型转义字符选用教学素材与设备教材:
C程序设计(第二版),谭浩强,清华大学出版社设备:
微型计算机(装win2000,VC++
6、0编程环境)、投影机、扩音设备教学过程(内容提纲、教与学的方法)
一、阐述丰富的数据类型可以组织成丰富的数据结构
二、以圆周率的值不同表现形式引出浮点数
三、字符型数据的表示和存储方式
四、数据的存储空间长度和数据取值范围
五、带符号的数据类型和无符号数据类型六、直接常量和符号常量、各种类型常量的表示七、变量和对变量的赋值、变量的定义和初始化八、标识符及命名规则教与学的方法:
1、通过剖析int型和float型数据的存储方式,弄清其余类型数据的存储方式,以及各自的取值范围和精度
2、强调C语言的独特的表示方法,如转义字符、形如b=a=3+5的赋值方法作业:
习题三:
3、6XX学院课程教学设计(5-6学时)教学内容(章节、专题)第3章数据类型、运算符与表达式§
3、5-§
3、10字符型数据;算术运算、关系运算与逻辑运算;不同数据类型间的转换;数据的输入和输出:
printf函数、scanf函数、getchar函数与putchar函数教学目标与要求掌握C语言的算术运算、关系运算和逻辑运算的规则,了解三种情况下的数据类型转换,掌握最基本的输入输出函数教学重点关系运算与逻辑运算,各种运算之间的优先级别教学难点各种运算之间的优先级别不同数据类型间的转换选用教学素材与设备教材:
C程序设计(第二版),谭浩强,清华大学出版社设备:
微型计算机(装win2000,VC++
6、0编程环境)、投影机、扩音设备教学过程(内容提纲、教与学的方法)
一、数据、运算符与表达式的关系,5个双元算术运算符
二、自反算术运算符,自加和自减运算
三、关系运算和逻辑运算、条件运算
四、各种运算之间的优先级别指出与QB的不同之处:
1、*、/、%的优先级别相同(见附录3),而在QB中,*、/优先与\、\优先于mod
2、&&与||的优先级别相同(见附录3),而在QB中,and优先于or
五、涉及数据类型转换的几个概念六、不同类型数据的隐式转换和显式转换七、printf函数的一般形式printf(格式控制参数,输出项1,输出项2,…)格式控制参数的描述(六部分,中间无空格)格式字符及其对应的输出格式其它格式控制参数八、scanf函数的一般形式scanf(格式控制参数,地址1,地址2,…)九、getchar函数与putchar函数在执行getchar函数时,虽然是读入一个字符,但并不是从键盘按下一个字符就被读入送给一字符变量,而是等到输入完一行按回车键后,才将该行的字符输入缓冲区,然后getchar函数从缓冲区中取一个字符给一个字符变量教与学的方法:
用投影机演示。
作业:
第3章:
9、
11、12XX学院课程教学设计(7-8学时)教学内容(章节、专题)第4章顺序结构程序结构第5章选择结构程序设计对C语言中的顺序结构进行简单介绍,然后详细介绍选择型程序设计。
教学目标与要求学会C程序的顺序结构;掌握选择选择结构的三种语句:
if…else结构,if…elseif结构,switch结构。
教学重点三种语句在各种条件下对应的流程教学难点Switch语句的语法和流程选用教学素材与设备教材:
C程序设计(第二版),谭浩强,清华大学出版社设备:
微型计算机(装win2000,VC++
6、0编程环境)、投影机、扩音设备教学过程(内容提纲、教与学的方法)
一、顺序结构程序实例
二、形成流程控制结构的语句
三、限定转向语句
四、goto语句
五、复合语句六、if…else结构的应用例求一个数的最大值例三个数中取大数例求一元二次方程ax2+bx+c=0的根(正确的缩进格式)七、elseif结构的应用八、switch结构的应用例测试是数字、空白还是其它字符的函数例联想猜词游戏教与学的方法:
除演示课本例题外,利用几种结构的互相替代来说明它们功能的异同作业:
第4章:
1、2、3、5、9第5章:
1、2、3、5XX学院课程教学设计(9-10学时)教学内容(章节、专题)第6章循环控制
6、1到
6、9教学目标与要求掌握C语言的三种循环结构:
while结构do…while结构for结构教学重点While结构的应用三种循环结构的流程教学难点有代表性的例题:
求最大公约数验证素数选用教学素材与设备教材:
C程序设计(第二版),谭浩强,清华大学出版社设备:
微型计算机(装win2000,VC++
6、0编程环境)、投影机、扩音设备教学过程(内容提纲、教与学的方法)
一、介绍穷举和迭代算法循环控制的两种方法:
计数法和标志法穷举例:
录取新生问题、搬砖问题迭代例:
人口增长问题、兔子繁殖问题
二、一元方程的迭代解法:
1、二分迭代法
2、牛顿迭代法
三、while结构的应用例搬砖问题例爱因斯坦的阶梯问题例用辗转相除法求两个正整数的最大公约数例用牛顿迭代法计算一个正实数的平方根
四、dowhile结构的应用(改写例
3、14)
五、for结构的应用语法:
for(初始化表达式;条件表达式;修正表达式)循环体语句例打印九九表例验证素数例打印Fibonacci数列例用梯形法求数值积分教与学的方法:
在编程解决数学问题时一定要弄清数学模型。
彻底弄懂求最大公约数和验证素数的方法和相应程序作业:
习题六:
4,6,8,12XX学院课程教学设计(11-12学时)教学内容(章节、专题)第七章数组§
7、1-§
7、2一维数组二维数组和多维数组教学目标与要求学会使用最重要的构造类型数据数组。
数组是处理批量数据教学重点排序和折半查找教学难点实参为二维数组,形参是一维数组的处理方法和元素的对应关系选用教学素材与设备教材:
C程序设计(第二版),谭浩强,清华大学出版社设备:
微型计算机(装win2000,VC++
6、0编程环境)、投影机、扩音设备教学过程(内容提纲、教与学的方法)
一、一维数组的定义类型标识符数组名[元素个数];
二、一维数组的初始化staticinta[5]={1,3,5,7,9};静态或外部数组不进行初始化,默认0或空字符inta[5]={1,3,5,7,9};自动数组不进行初始化,初始值不可预料
三、数组元素的引用C语言不检查下标是否出界
四、数组作为函数参数数组名作参数,采用的是地址传递
五、一维数组应用举例例对n个数排序(由小到大)起泡法排序例查找方法介绍折半查找法六、二维数组和多维数组的定义和引用七、二维数组程序举例例实参为二维数组,形参是一维数组的处理方法和元素的对应关系教与学的方法对于已经在VB中解决了的编程问题可以略去数学模型的分析。
着重介绍C程序中出现的新问题作业:
第7章:
5,7XX学院课程教学设计(13-14学时)教学内容(章节、专题)第七章数组§
7、3字符数组和字符串教学目标与要求掌握C语言中字符串的处理方法教学重点字符串和字符数组的关系。
字符串运算函数教学难点字符串和字符数组的关系选用教学素材与设备教材:
C程序设计(第二版),谭浩强,清华大学出版社设备:
微型计算机(装win2000,VC++
6、0编程环境)、投影机、扩音设备教学过程(内容提纲、教与学的方法)
一、字符串和字符串的存储方式字符数组和字符串的含义和区别:
字符串放在字符数组中,但字符数组和字符串可以不等长。
字符串以”\0”作为结束标志
二、字符数组的初始化
三、字符串的输入scanfgets
四、字符串的输出printfputs
五、字符串运算函数strcpystrcatstrcmp六、二维的字符串数组七、字符串数组应用举例作业:
第7章:
10XX学院课程教学设计(15-16学时)教学内容(章节、专题)第7章函数§
8、1~§
8、6函数定义,函数参数,函数的调用教学目标与要求了解函数式的程序结构,会编写和调用函数,了解函数之间是如何传送和返回数据的教学重点函数的传值调用教学难点函数的传值调用选用教学素材与设备教材:
C程序设计(第二版),谭浩强,清华大学出版社设备:
微型计算机(装win2000,VC++
6、0编程环境)、投影机、扩音设备教学过程(内容提纲、教与学的方法)
一、C程序结构(一个菜单程序)
二、函数定义
1、函数(值)类型
2、函数名
3、形式参数的数目、类型
4、函数体内容
三、函数声明格式:
类型标识符函数名(类型标识符形参,类型标识符形参,…);
四、函数的传值调用特点:
函数中对形参变量的操作不会影响到函数中的实参变量
五、函数的嵌套调用六、函数的递归调用例TowerofHanoi教与学的方法分析典型例题作业:
第8章:
16、18XX学院课程教学设计(17-18学时)教学内容(章节、专题)第八章函数(§
8、7-§
8、11)第九章预处理命令变量的存储属性编译预处理教学目标与要求在编制大型程序时,变量的作用域非常重要。
本节课介绍变量的存储属性,以便正确合理地使用变量。
编译预处理是C语言的一个重要特点,要求会使用教学重点变量的存储属性教学难点从作用域角度、从变量存储位置的角度、从变量的生存期来理解变量的存储类别选用教学素材与设备教材:
C程序设计(第二版),谭浩强,清华大学出版社设备:
微型计算机(装win2000,VC++
6、0编程环境)、投影机、扩音设备教学过程(内容提纲、教与学的方法)
一、动态变量
1、自动变量[auto]数据类型变量名[=初值表达式],…;自动变量是局部变量;未进行初始化时,自动变量的值是不变的;对同一函数的两次调用之间,自动变量的值是不保留的函数的形参也是一种自动变量
2、寄存器变量
二、静态变量static数据类型变量名[=初值表达式],…;静态变量的存储空间在程序的整个运行期间是固定的;静态变量的初始化是在编译时进行;静态局部变量的值具有可继承性;静态局部变量的值只能在本函数(或分程序)中使用
三、外部变量定义在函数之外的变量是外部变量,外部变量是全局变量,其作用域从定义的位置开始到文件的结束。
1、当外部变量前加static时,即为静态外部变量,只允许本文件使用而不允许其它文件使用
2、当外部变量前加extern时,即扩充了外部变量的作用域,同样也可将外部变量的作用域扩充到其它文件
四、外部变量的副作用
五、存储类别小结(表
4、1)六、编译预处理#define宏替换#include文件包含教与学的方法重点分析例
4、15和例
4、16作业:
习题四
4、12~
4、16XX学院课程教学设计(19-20学时)教学内容(章节、专题)第章指针(§
10、1-§
10、3)指针的概念指针变量的定义和引用指针作为函数参数一维和二维数组的指针表示法教学目标与要求指针是C语言中的一个重要概念,正确而熟练地掌握了指针的概念和指针的使用就能设计出复杂的数据结构和高效的程序教学重点指针的概念指针与数组教学难点二维数组的指针表示法选用教学素材与设备教材:
C程序设计(第二版),谭浩强,清华大学出版社设备:
微型计算机(装win2000,VC++
6、0编程环境)、投影机、扩音设备教学过程(内容提纲、教与学的方法)
一、指针的概念所谓“指针“就是地址。
一个变量的指针就是指改变量的地址。
存放地址的变量,就是指针变量
二、指针变量的定义和引用int*p,i=3;p=&i;
三、指针作为函数参数用指针(地址)作参数,可以实现“通过被调用的函数改变主调函数中变量的值“的目的
四、一维数组的指针表示方法a[i]下标法*(a+i)
地址法a[0]或*a为数组的第一个元素
五、二维数组的指针表示法a[i][j]的地址为*(a+i)+j值为*(*(a+i)+j)教与学的方法本节内容比较抽象,宜通过表格或图示说明指针所指向的地址和数组元素的对应关系作业:
第10章:
2,4XX学院课程教学设计(21-22学时)教学内容(章节、专题)第六章指针§
10、4-§
10、5数组指针作函数参数指针与字符串指针与函数教学目标与要求指针是C语言中的一个重要概念,正确而熟练地掌握了指针的概念和指针的使用就能设计出复杂的数据结构和高效的程序教学重点指针与字符串教学难点指针与字符串选用教学素材与设备教材:
C程序设计(第二版),谭浩强,清华大学出版社设备:
微型计算机(装win2000,VC++
6、0编程环境)、投影机、扩音设备教学过程(内容提纲、教与学的方法)
一、数组指针作函数参数实参和形参的对应关系可以有以下几种数组名数组名数组名指针变量指针变量数组名指针变量指针变量
二、指针与字符串通过定义一个指向字符串的字符指针处理字符串例用字符指针指向一个字符串例在一行字符中删去指定的字符例利用库函数在一字符串中寻找一个指定字符的位置
三、指针与函数函数的入口地址称为函数的指针,可以定义一个指向函数的指针变量类型标识符(*指针变量名)()可以用指向函数的指针变量作为被调用函数的实参,由于该指针变量是指向某一函数的,因此先后使指针变量指向不同的函数,就可以在被调用函数中能调用不同的函数教与学的方法本节内容比较抽象,宜通过表格或图示说明指针所指向的地址和数组元素的对应关系XX学院课程教学设计(23-24学时)教学内容(章节、专题)第六章指针§
10、5,
10、7返回指针值的函数指针数组指向指针的指针教学目标与要求指针是C语言中的一个重要概念,正确而熟练地掌握了指针的概念和指针的使用就能设计出复杂的数据结构和高效的程序教学重点指针数组教学难点指向指针的指针选用教学素材与设备教材:
C程序设计(第二版),谭浩强,清华大学出版社设备:
微型计算机(装win2000,VC++
6、0编程环境)、投影机、扩音设备教学过程(内容提纲、教与学的方法)
一、返回指针值的函数定义这种函数的例子int*fun(a,b)
许多库函数都是返回指针的
二、指针数组每个元素都是指针型的,则它就是指针数组char*name[5]数组name的元素是指向字符的指针指针数组主要于字符串操作,例如字符串的查找和排序,因为交换地址要比交换字符串中的字符所费的时间少
三、指向指针的指针类型标识符**指针变量名例:
用双重指针输出二维数组元素教与学的方法本节内容比较抽象,宜通过表格或图示说明指针所指向的地址和数组元素的对应关系作业:
第10章:
18XX学院课程教学设计(25-26学时)教学内容(章节、专题)第六章指针§
10、6,§
10、8main函数中的参数指针数据小结教学目标与要求学会使用带参数的main函数对七种类型的指针数据进行小结,进一步掌握指针变量的应用教学重点指针数据小结教学难点main函数中的参数的传递方式选用教学素材与设备教材:
C程序设计(第二版),谭浩强,清华大学出版社设备:
微型计算机(装win2000,VC++
6、0编程环境)、投影机、扩音设备教学过程(内容提纲、教与学的方法)
一、main函数中的参数main(argc,argv)
intargcchar*argv[]或main(intargc,char*argv[])
运行cfile、exe时的参数传递方式参数在命令行打入,例如cfileComputerC_Language则argc的值为3(字符串个数)argv[0]指向第一个字符串argv[1]指向第二个字符串argv[2]指向第三个字符串
二、常用的指针类型变量归纳定义形式p的含义int*p指向整型数据的指针int(*p)[n]指向含有n个元素的一维数组的指针int(*p)()
指向返回整型数据函数的指针int*p[n]指针数组,含有n个元素,每个元素指向一个整型数据int*p()
返回值是指针的函数,该指针指向整型数据int**p指向一个指向整型数据的指针的指针int(**p)[n]指向一个指针,被指向的指针指向一个一维数组,该数组含有n个整型数据
三、指向void类型的指针void*p在给p赋值时,必须进行强制类型转换,使之指向一个具体的类型的变量XX学院课程教学设计(27-28学时)教学内容(章节、专题)第一章结构体与共同体§
11、1-§
11、5结构体类型数据概述结构体变量的定义和引用结构体数组教学目标与要求要求掌握结构体变量的初步使用,用以处理属于不同类型的数据的组合教学重点结构体数组教学难点结构体数组选用教学素材与设备教材:
C程序设计(第二版),谭浩强,清华大学出版社设备:
微型计算机(装win2000,VC++
6、0编程环境)、投影机、扩音设备教学过程(内容提纲、教与学的方法)
一、结构体类型数据概述
二、定义结构体变量的方法struct结构体名{成员表列;}
[变量名表列];struct结构体名变量名表列
三、结构体变量的初始化只有结构体变量为外部变量或静态局部变量时才能对之初始化在首次出现的变量名后加:
={各成员初值表列}
四、结构体变量的引用变量名、成员名例:
student、name允许把一个结构体变量作为一个整体赋给另一个具有相同类型的结构体变量
五、结构体变量的输入和数出不允许把一个结构体变量作为一个整体进行输入和输出的操作六、结构体数组的定义和初始化七、结构体数组的引用输入时,用gets接收字符串,用转换函数转换为相应的类型,再赋给数组元素的相应成员作业:
第11章:
1,2,5XX学院课程教学设计(29-30学时)教学内容(章节、专题)第一章结构体与共同体§
11、6-§
11、7结构体变量作为函数参数以及返回结构体类型值的函数指向结构体变量的指针以及使用指向结构体变量的指针作为函数参数动态存储分配链表教学目标与要求要求掌握结构体变量的进一步使用:
用指向结构体变量的指针作函数参数的方法教学重点指向结构体变量的指针以及使用指向结构体变量的指针作为函数参数教学难点动态存储分配链表选用教学素材与设备教材:
C程序设计(第二版),谭浩强,清华大学出版社设备:
微型计算机(装win2000,VC++
6、0编程环境)、投影机、扩音设备教学过程(内容提纲、教与学的方法)
一、结构体变量作为函数参数数据传递是“值传递”
二、返回结构体类型值的函数
三、指向结构体变量的指针指向结构体变量的指针就是这个结构体变量所占内存单元段的起始地址
四、指向结构体数组的指针指向结构体数组的起始地址
五、用指向结构体数组的指针作函数参数六、动态存储分配和链表的概念七、用包含指针项的结构体变量构成节点八、用于动态存储分配的函数malloc和free等函数九、链表应用举例例用链表存放学生数据运行程序,用E增加新结点,用L显示所有结点的数据XX学院课程教学设计(31-32学时)教学内容(章节、专题)第一章结构体与共同体§
11、8-§
11、10共同体类型数据枚举类型数据用TYPEDEF定义类型教学目标与要求掌握共同体类型数据和枚举类型数据,掌握用TYPEDEF定义类型教学重点共同体类型数据教学难点共同体类型数据选用教学素材与设备教材:
C程序设计(第二版),谭浩强,清华大学出版社设备:
微型计算机(装win2000,VC++
6、0编程环境)、投影机、扩音设备教学过程(内容提纲、教与学的方法)
一、共同体的概念与结构体的相同与不同
二、共同体变量的引用
三、共同体变量的应用
1、在数据处理问题中的应用
2、便于不同类型间的转换
四、枚举类型的数据
五、用TYPEDEF定义类型
1、先按定义变量的方法写出定义体(如chara[20];)
2、将变量名换成新类型名(如charNAME[20];)
3、在最前面加上typedef(如typedefcharNAME[20];)
4、然后可以用新类型名去定义变量(如NAMEc,d;)作业:
第11章:
8XX学院课程教学设计(33-34学时)教学内容(章节、专题)第二章位运算§
12、1-§
12、3位运算概念按位与、或、异或、取反运算符左移、右移运算符位运算应用举例位段教学目标与要求C语言把低级语言中的位运算功能包括进来。
掌握C语言的位运算功能,可以实现原来由低级语言实现的一些功能教学重点按位与、或、异或、取反运算符左移、右移运算符教学难点位运算应用举例选用教学素材与设备教材:
C程序设计教程(谭浩强)授课设备:
电脑(win98/2000/xp)、投影机、扩音设备实验设备:
电脑(数学系计算机实验室)教学过程(内容提纲、教与学的方法)
一、位运算概述对C中的int和char类型的数据的一种操作
1、按位与运算符a&b是将a和b中各个位都分别对应进行“与”运算
2、按位或运算符a|b是将a和b中各个位都分别对应进行“或”运算
3、按位异或运算符a^b将a和b中各个位都分别对应进行“异或”运算
4、按位取反运算~a是将a的所有位都取其反值
5、左移运算符a<
8、位段的概念和定义一种特殊形式的结构体结构中的成员。
能使用户方便地访问一个字节中的有关位
9、位段的引用方法与引用结构体变量中的成员相同作业:
第12章:
1,2XX学院课程教学设计(35-36学时)教学内容(章节、专题)第九章文件§
13、1-§
13、4文件概述文件的打开与关闭文件的读写教学目标与要求对文件的操作是高级语言的一种重要功能,是输入输出的操作对象,要求掌握对文件的基本操作教学重点文
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 教学 设计