第一课
主要内容:C语言的特点与作用、程序的实质、VC开发环境的使用、写程序的方式方法及规范。
Exam1:演示Hello程序。讲解预编译行、头文件(找出头文件的位置)、main()函数、scanf、printf、while语句、IDE环境介绍、程序运行的整个过程(产生obj、exe文件)。
学生完成:1001
Exam2(SMU1002):输入一个整数N,请你计算1+2+…+N
演示编程的整个过程。
数据表达(int n,sum;)à算法(sum=(1+n)*n/2)à代码à调试、运行。
学生完成:1002、1003
点评:格式、调试。
数据处理、科学计算
主要内容:用while(scanf("%d",&n)!=EOF){}处理不定的多个数据、freopen()介绍、赋值语句、输出语句格式、TC使用。用文件输入、输出数据。
Exame(SMU1005):给出一串的数,请你求出它们的和。
学生1005、1006
循环思想初步
主要内容:for语句、编程的整个过程、流程图
Exam(SMU1007)计算n!。n!=n*(n-1)*(n-2)*……*1。
学生1002、1007。
条件语句
主要内容:if、else if、嵌套
Exam(SMU1004)找出两个数中的最大数。
学生1004、1008、1011、1018(先做再讲,能几道就几道,但不能空)
循环语句
主要内容:for、while、do{}while、三种语句的比较、流程图、i++、i--、++i、--i。
Exam1038 列出不大于n的数
注:此课要讲透,用流程图解说,同一个问题用三种不同的
循环实现。
条件语句的深入
主要内容:1. a>b:a,b 2. switch case 3. ASCII码
Exam1 1027给出一百分制成绩,要求输出成绩等级‘A’,‘D’,‘C’,‘D’,‘E’。90分以上为‘A’,80~89分为‘B’,70~79分为‘C’,60~69分为‘D’,60分以下为‘E’。如果输入别的字符,则“error”.
Exam2 1004 找出两个数中的最大数。
一维数组(开始放慢脚步、并注意点评学生的答题)
主要内容:数组的定义、下标的含义,数组与循环。
Exam1
学生 1096、1077、1137(以后做)
二维数组
主要内容:数组的定义、下标的含义,数组与循环。特别是嵌套循环。
例题与练习:1065、1066、1073、1074、1057、1075(难可放在后面)
注意:这一段学生的问题较多,要及时处理。对数据的输入、输出的处理也要理清。可以让学生多演示。此时的Debug是教学生如何检查下标越界。
函数初步
主要内容:字符函数、memset()与string.h、math.h的内部函数、特别是随机函数。
例题与练习:1072、1081
注:此部分函数较多,对典型的一些函数进行示范,其它由学生自学完成。这里可以布置学生一次自行设计的作业。
自定义函数
主要内容:如何自定义函数、局部变量与全局变量、变量的生存期。
例题与练习:用前面做过的最大公约数、最小公倍数、1110
注:函数较为抽象,学生间的差异较大。教师要讲透,一步步带。特别要使学生明白形参与实参的关系和使用。
指针初步
主要内容:指针的定义和引用、指针变量与引用的变量间的关系。
示范:通过输出语句揭示指针是变量的地址。
Exam 1011 三角形的面积
带学生看例题 P230 三个数的排序。
注:对学生一时不好理解的内容要注重让学生掌握学习方法,如带学生学会看书等。
指针与数组、数组的应用
主要内容:数组名是数组的首地址、如何定义与引用。
用指针输出矩阵。与学生讨论,有几种不同的方法。
数组的应用:1132、1137
注:指针的内容较为抽象,可以分多次进行,并与前面的问题结合,也就是讲评学生的问题时,用指针处理。
递归
讲:求n!。
练:1128、1082、1131、1017、1142。外1134
注:要讲清楚递归是将问题转化成更小的类似的子问题,递归的出口,参数的调用等。
注:递归的套路明显,学生对函数的递归容易掌握,但以后在深搜中应用复杂,因此要打好基础,逐步提高。
逻辑与程序
1146、1147、1148等
注:这个内容学生不好掌握,可放在提高的场合处理。
自定义结构
把整体作为一个数据,就是自定义的结构
如平面上的点(x,y),定义为
.struct point{
.int x,y;
};
.struct point p1,*p2;//定义两个点,p2是指针变量
.p1.x = 3 ;//对点p1中的x赋值
.p2->x = 3 ;// 对点p2中的x赋值
1105、1106、1136
注:此内容是学线性表的基础,要多带几题。
枚举
主要内容:枚举类型enum、枚举方法
教法:带学生看P325取球的你码。
练:1149(变更问题写代码—模仿)
二分法
主要内容:二分法求根、二分法查找。
1153、1165
注:此问题思想及为重要,代码有点复杂,可以画流程图让学生完成写代码。
链表
主要内容:链表的结构、结构变量的使用。
1178、1179、1180、1181、1182
文件
主要内容:文件的格式、读取等。
指导课程设计。其实是一次处理文件数据的作业。
复习
复习要对知识进行归纳总结,对学生有明确的要求。
…………
后期学生做的题目问题较广,出现的问题较多。课堂处理可以让学生当小老师、每课达标一题。适当要插入一些讲评与处理问题的课。