C语言教学日志

C语言教学日志
C语言教学日志

授课时间:年月日,星期第节

考勤情况:应到人,实到人,请假人,

旷课人,迟到人,早退人。

授课章节与内容

第一章C语言概述

课堂教学思考与总结

从知识学习和思维方式培养着手,常问“为什么”和“怎样做”入手,启发学生思考为什么要学习C语言的程序设计课程,进而介绍该课程的地位和作用,说明其重要性;继而简要说明课程要求其学习方法;同时结合程序、算法、语法等基本概念的解释,展开对计算机系统、语言发展史,龙其是C语言发展历史、程序的编辑、编译及执行过程分析;通过课件内容展示和编程实例分析,使学生初步了解C语言的特点、组成;通过演示程序运行过程,使学生初步掌握VC++环境下C语言程序编辑运行方法;通过分析编写求2个整数最大值程序,引导学生思考如何编写求3个数最大值程序,重点放在算法指导上;结合上述程序结构及运行过程分析说明C程序的基本组成,加深对其特点的理解。

由于系统原因,未能按课件逐一讲解,且程序无错情况下出编译挂起情况,影响了程序直观演示效果。

备注

总36页,第1页

授课时间:年月日,星期第节

考勤情况:应到人,实到人,请假人,

旷课人,迟到人,早退人。

授课章节与内容

第一章C语言概述

上机指导——VC++运行环境、简单C程序的编辑、编译、连接及执行

课堂教学思考与总结

从输出“同学们好!”程序和简单求两个整数和、求两个整数最大值程序的编辑、编译、执行过程,分析C程序的基本构成,着重分析说明#include的作用、函数定义及函数体构成,使学生初步了解函数声明部分包含对所调用函数、所使用变量的声明,而执行部分是具体算法功能的实现。同时,对语句格式、程序注释、函数返回值、基本的格式控制符及程序出错信息进行简要分析说明。

在教学过程中,注重举一反三、联想教学方法,通过求两个数最大值编程讨论,引导学生顺利完成求三个整数最大值、求四个数最大值程序的编写。

通过指导学生编程与调试,使学生初步掌握编辑、编译、运行程序的方法,并对该课程的学习产生一定的兴趣,收到了良好的教学效果。

备注

总36页,第2页

授课时间:年月日,星期第节

考勤情况:应到人,实到人,请假人,

旷课人,迟到人,早退人。

授课章节与内容

第二章数据类型、运算符与表达式

C语言的数据类型、常量与变量、字符型、整型、浮点型数据的存储形式

课堂教学思考与总结

从类型的字面解释(是由各类特殊的事物或现象抽象出的共通点)入手,说明数据类型是对计算机所能够处理数据对象的抽象分类,包括整型、实型、字符型等基本类型,并根据其处理对象的特点,在基本数据类型的基础上引入构造类型(结构体、共用体类型)和指针类型;通过展示数据类型图使学生对C语言的数据类型有大概的了解。

本节教学打破了教材讲授顺序,将数值型(整型、浮点型)、字符型(单字符、转义字符)、字符串和符号常量集中讲授,并注意分析其特点,对整型常量的表示方式(二进制、八进制、十六进制、十进制)及各类进制间的转换方式进行了简要说明;通过分析1个字节存储ASCII的编码方式,提出用1个字节存储整型数据的存储方式及范围?引出数据存储采用补码形式存储及补码的概念,分析-127在内存中的存储形式,进而说明用1个字节存储整型数据的范围是-128~127(-27~27-1),由此类比出用4个字节存储整数的范围是(-231~231-1),对超出该范围的数据采用浮点型存储,并简要介绍其存储形式及范围。最后通过程序演示各种基本类型数据在VC++环境下所占用的字节数。

由于计算机鼠标故障,课件演示及程序运行出现些问题,影响了正常教学进度和教学效果。

备注

总36页,第3页

教学日志

授课时间:年月日,星期第节

考勤情况:应到人,实到人,请假人,

旷课人,迟到人,早退人。

授课章节与内容

第二章数据类型、运算符与表达式

上机指导------C语言的数据类型、常量与变量、字符型、整型、浮点型数据的存储形式课堂教学思考与总结

通过实例集中讲授字符型、整型、单精度型、双精度型变量的定义,说明sizeof()运算符的功能,并由此运算符在VC++环境下测试上述各基本类型数据所占用的字节数,编程演示字符型数据在内存中是以其ASCII码形式存放的,进而说明字符型数据能够与整型数据进行算术运算,说明对于字符型数据不仅可以按字符格式输出,亦可以按整型数据输出其ASCII码值,同时,通过对整型数据存储数据范围的测试,使学生对数据的存储方式及数据溢出情况有较清晰的了解。

讲授及指导过程中,注重理论讲授和上机编程演示相结合,注重师生互动,以问题、案例为导向,启发学生思考,激发了学生的求知欲和学习兴趣。

存在问题:学生在自行编程中,对函数的定义、函数的声明易出现混淆,对函数调用过程理解不够深入;另学生程序调试中,不能读懂出错信息,难以理解出错原因,以致程序出错后无从下手,需针对出错信息及原因加强指导。

备注

总36页,第4页

授课时间:年月日,星期第节

考勤情况:应到人,实到人,请假人,

旷课人,迟到人,早退人。

授课章节与内容

第二章数据类型、运算符与表达式

字符及字符串常量、各类数值型数据间的混合运算、算术运算符及算术表达式

课堂教学思考与总结

通过复习总结加深学生对各类基本型数据存储方式的理解,并通过课件展示-10在计算机内存中存储方式,着重分析单字符型常型和字符串常量的区别,展示并讲授转义字符的表示形式、功能及作用,并通过案例演示之,加深了学生对几种特殊转义字型功能的理解。

在讲授数值型数据间混合运算、运算符及表达式的过程中,注重规律的总结和实例说明,注重运算符的分类、运算符的优先组及结合性,并结合运算符及优先级附录表查阅,使学生较清晰理解数值型数据混合运算,自动向高字节的数据类型转换;表达式中含多种运算符时,按其优先级顺序执行。

特别地,对“/”运算当两个运算量均为整形数据时,其结果自动取整;对“%”运算其两侧运算量必为整型数据;对“&&”运算符左侧运算量若为“假”时,不再考虑右侧运算符,同样,对“||”运算符左侧的值为“真”时,则不必考虑其右侧运算量的值。

备注

总36页,第5页

授课时间:年月日,星期第节

考勤情况:应到人,实到人,请假人,

旷课人,迟到人,早退人。

授课章节与内容

第二章数据类型、运算符与表达式

上机指导------实验项目B

课堂教学思考与总结

通过实验项目B中的5个验证性实验,使学生初步掌握C语言的数据类型,熟悉如何定义一个整型、字符型和实型的变量,以及对它们赋值的方法,掌握不同的类型数据之间赋值的规律,学会使用C语言的有关算术运算符,以及包含这些运算符的表达式,学会使用各种算术运算符,特别是自加自减运算符,进一步熟悉C程序的编辑、编译、连接和运行的过程。

学生对程序编辑及运行方法能够较好掌握,但对错误处理,不能很好依出错信息进行分析出错原因,难以自主调试程序;另部分学生在编写并运行完一个程序后,未关闭工作区,而直接编辑运行另一个程序,至使在一个工作区中出现2个main函数,如下错误信息即是该类型错误。Linking...

example1-2.obj:error LNK2005:_main already defined in example1.obj

Debug/example1.exe:fatal error LNK1169:one or more multiply defined symbols found Error executing link.exe.

另指导学生进行网络教学平台使用进行在线测试。

备注

总36页,第6页

授课时间:年月日,星期第节

考勤情况:应到人,实到人,请假人,

旷课人,迟到人,早退人。

授课章节与内容

第三章最简单的C程序设计——顺序结构程序设计

算法概述、程序的三种基本结构、C语句概述及赋值语句和赋值表达式

课堂教学思考与总结

将第四章算法的概念,算法的表示方法放在该部分讲授,并结合求二个整数最大值的方法予以分析说明;通过介绍结构化程序的三种基本结构和C语句,使学生初步了解C语言三种结构及5类语句(控制语句、函数调用语句、表达式语句、空语句和复合语句),进而详细分析赋值表达式和赋值语句的构成,尤其是复合赋值表达式运算规则、赋值过程中类型转换方式,通过实例进行分析,加深了学生对数据存储方式和存储范围的理解。

教学过程中采用理论讲授与程序演示、课件演示相结合的方式,围绕问题展开教学,激发学生思维,提高其探索求知的意识。

要求学生课外自学字符输入输出和格式的输出输入部分内容,并完成课后第3题作业,并在下次上机时难证运行结果。

备注

总页,第7页

授课时间:

考勤情况:

授课章节与内容

第三章最简单的C程序设计——顺序结构程序设计上机指导——算法概述、程序的三种基本结构、C语句概述及赋值语句和赋值表达式

课堂教学思考与总结

大部分学生能够较顺利验证例3.1、例3.2程序,并对能对P.67第3题程序运行结果进行分析,有一定预习效果。

对较复杂输入输出格式,学生提的问题很多,采用探讨的方式集中分析讲授,培养学生联想、举一反三的探索意识和分析问题的能力。

本次课程学生积极性高、兴趣高、问题质量高。如针对P.68第4题的集中讲授,学生提出Scanf(“%d%d\n”,&a,&b);语句在执行时,如何从键盘上输入等。

引导学生自学、注重指导对一些基础好的学生来讲,不失为有效的方法,需针对教学内容,有目的的引导。

备注

总36页,第8页

授课时间:

考勤情况:

授课章节与内容

第三章最简单的C程序设计——顺序结构程序设计

数据输入输出的概念及在C语言中的实现、字符数据的输入输出、带格式的输入与输出课堂教学思考与总结

简要复习上节知识,并就交换两个整数的值算法写出其流程,并编写程序演示输出结果;由该程序的输出引出本节所授内容,进而介绍单字符输入getchar()和单字符输出函数putchar()的应用,并直接编程演示其功能及使用方法,通过师生互动交流讨论其不同的应用方式;采用类比方式讲授printf()和scanf()格式输出与输出函数的格式及功能,并着重讲授格式控制项及格式说明符功能与应用;最后通过三个实例,分析算法,编辑程序、演示并运行,使学生不仅掌握理念知识,亦对应用编程有深入的理解,提高了学生实际编程能力。

教学过程中有督导检查人员进入,录像需修剪。。

备注

总36页,第9页

授课时间:

考勤情况:

授课章节与内容

第三章最简单的C程序设计——顺序结构程序设计

上机指导——字符数据的输入与输出和输入与输出格式控制

课堂教学思考与总结

主要指导学生完成实验项目C和课后作业程序调试,主要训练学生掌握赋值语句的用法;掌握用putchar函数、getchar函数向终端输入、输出一个字符;熟悉运用printf函数、scanf函数完成数据的输出、输入功能。大部分学生能够较顺利地完成实验1-5的程序验证,但对复杂格式的输入与输出的应用不够熟练,尤其是对输入格式“*”的作用不能很好理解。为此对教材P.68第5题集中讲授。。

备注

总36页,第10页

授课时间:

考勤情况:

授课章节与内容

第三章选择结构程序设计

条件判断、用if语句实现选择结构(if语句的3种形式)

课堂教学思考与总结

通过三个案例(求分段函数的值、给定学生成绩判断其等级、依存款年利率的不同计算固定存款不同存期的利息问题)给学生思考,提出若解决该类问题,需对实际问题进行相应判断,需要掌握选择结构程序设计方法,引发学生的兴趣。进而通过课件展示并讲授关系运算和关系表达式、逻辑运算及逻辑表达式和if语句的三种形式,在讲授过程中,结合判断二个数的最大值问题和列举的案例,由浅入深进行if语句的应用说明和程序编写,理论和应用的有机结合,调动了学生学习积极性,再结合提问和学生练习,促使学生积极参与课堂教学,提高课堂教学效果。

在关系、逻辑表达的讲授过程中,注重了运算符的优先级及结合性;同时,对逻辑与运算和或运算,重点关注左侧运算量如分别为“假”和“真”时,不再进行右侧运算量的计算,而直接给定其运算结果分别为“假”和“真”。另注重对三种if格式及其表达式值的说明。

备注

总36页,第11页

授课时间:

考勤情况:

授课章节与内容

第四章选择结构程序设计

上机指导--条件判断、用if语句实现选择结构(if语句的3种形式)

课堂教学思考与总结

按着任务要求,完成例1、例2验证,完成课后3-6题编程。大多数同学对if语句的三种形式能够理解,能够较熟练掌握单分支和二分支编程问题,如求两个数的最大值,分段函数求值问题均能通过第一、二两种形式解决;但对多分支问题如给出一个百分制成绩,要求输出成绩级别、企业发放奖金等问题,使用第三种形式时,出现问题较多。问题1是分类中出现重复,问题2是对诸如条件“10≥x>1”的算法语言表述不对;问题2是if和else配对混乱。另个别同学在调用scanf()函数时,格式控制中添加“\n”或需输入值的变量前缺少“&”等。

再课后第7题多数同学不清楚算法,集中分析讲授。

备注

总36页,第12页

授课时间:

考勤情况:

授课章节与内容

第四章选择结构程序设计

If语句的嵌套、条件运算符和条件表达式、利用switch语句实现多分支选择结构

课堂教学思考与总结

通过对上次作业求分段函数的值、给定学生成绩判断其等级程序的分析,说明程序设计过程中需经常要用到if语句嵌套,进而说明if语句嵌套使用过程中的注意事项,介绍了对于二分支判断可以使用条件运算符,详细讲授了“?:”各部分表达式及执行过程。针对任务:如何编写四则运算程序,实现任意输入两个数及运算符,能够直接计算结果。与学生互动,引导学生思考后,请一名学生直接板书主要程序段,并对学生写的程序段给予评价,完善程序。提出:对多分支的程序if和else较多,不能合理进行if和else的配对就会导致错误,且程序的可读性较差。为此C提供了一种较为简洁的实现特定多分支类型的语句switch,进而讲授其格式、功能,并应用实例具体分析。然后引导学生完成用switch编写四则运算程序和依学生成绩分类实例。并分析“闰年”和“求一元二次方程的根”的算法。学生能够积极参与教学。但因计算机系统重新安装,没有安装VC++系统,至使无法演示程序。

备注

总36页,第13页

授课时间:

考勤情况:

授课章节与内容

第四章选择结构程序设计

用If语句实现选择结构、利用switch语句实现多分支选择结构

课堂教学思考与总结

本次上机的主要任务:(1)完成第四章测试;(2)完成第四章课后7、8、9题;(3)完成第四章实验,并撰写实验报告。

存在的主要问题:(1)对switch-case语句中break语句起到的作用理解不清楚;

(2)switch后面的表达式与case后面的常量表达式之间有何种关系?

(3)条件表达式的结合性;

(4)||或&&在什么情况下只需要计算前一项的值。

本次上机结束前对存在的问题进行了讲解:(1)break语句的作用是使程序在执行完一个case分支后,跳出switch结构,最后一个分支可以不加break语句;

(2)在执行switch-case语句时,switch后面的表达式的值与case后面的常量表达式的值进行匹配;

(3)条件运算符的结合方向为“自右置左”;

(4)对于||运算符,前一项表达式的值为真时,不计算后一项表达式的值;

对于&&运算符,前一项表达式的值为假时,不计算后一项表达式的值。

备注

总36页,第14页

授课时间:

考勤情况:

授课章节与内容

第五章循环结构程序设计

循环的概念、用while语句和do-while语句实现循环

课堂教学思考与总结

本次课的主要内容如下:

1、了解循环的概念。

2、用while语句和的do—while语句实现循环。在此要重点掌握循环结构的基本格式、

执行过程,以及循环结构结束的条件。

3、用while语句和的do—while语句实现循环循环时,二者的区别。

4、While语句程序举例,并改用do—while语句来实现,从而体会二者的区别与关系。

教学思考与总结:循环结构是程序设计中三大基本结构之一,是最重要的也是最难的一个结构。是进行程序设计基础,必须能够熟练运用该结构进行循环结构的程序设计。通过课上反映来看,学生初接触循环结构,有些同学还不太理解,特别是自己利用循环结构进行程序设计还有一定的差距,课下要结合上机多做练习。

备注

总36页,第15页

教学日志

授课时间:

考勤情况:

授课章节与内容

第五章循环结构程序设计

循环的概念、用while语句和do-while语句实现循环

课堂教学思考与总结

本次上机的主要任务:(1)从键盘上输入整数,整数的个数不确定,当输入的整数为0时,输入结束,然后求出输入整数的最大值,并输出;

(2)将课件中的例5.1-5.3改为do-while实现;

(3)完成第五章课后1、2、3题。

存在的问题:(1)无法判断循环结束的条件;

(2)没有注意循环的次数。

本次上机结束前对存在的问题进行了讲解:(1)结合课后第2题,讲解了如何判断循环结束的条件:要求输入一行字符,可以当输入某个特定的字符(例如回车或者空格)时,认为输入结束,即while((c=getchar())!=’32’),其中32为空格的ASCII。

(2)结合例5.2讲解循环的次数:要求输入20个学生的成绩,许多同学的循环条件为n=0,n<=20,此时输入了21个数据,应改为n=1,n<=20或者n=0,n<20。

备注

总36页,第16页

授课时间:

考勤情况:

授课章节与内容

第五章循环结构程序设计

用for语句实现循环以及循环结构的嵌套

课堂教学思考与总结

本次课为理论课,本次课的主要内容如下:

1、for语句的基本格式与执行过程。注意for语句的基本格式与while语句和do—while

语句的区别。

2、for语句的各种形式。掌握三种表达式的含义以及省略的情况下的等价形式

3、for语句程序举例

4、循环结构的嵌套

5、Break语句与continue语句的用法

教学思考与总结:for语句的格式较while和do—while语句比较复杂,要熟悉各种形式下的含义以及执行情况,必须能够熟练运用for语句进行循环结构的程序设计。本次课的难点是循环结构的嵌套,在循环结构的嵌套中,学生要重点掌握嵌套语句的各种形式以及执行过程,掌握哪些语句该放在内循环,哪些语句必须放在外循环。课下要进行大量的程序设计练习,逐步掌握程序设计的思想。

备注

总36页,第17页

授课时间:

考勤情况:

授课章节与内容

第五章循环结构程序设计

用for语句实现循环、循环的嵌套、用break语句和continue语句改变循环状态

课堂教学思考与总结

本次上机的主要任务:(1)完成第五章课后第4、6、10题,选作第7题。

存在的问题:做第4题时未注意数据的益处;

本次上机结束前对存在的问题进行了讲解:sum和temp不能定义为int或long型,因为在VC++环境中,int和long都占4个字节,数据的范围为-21亿~21亿,无法容纳求得的结果,而在VC++环境中,double类型占8个字节,可以完全接收求出的结果。

备注

总36页,第18页

授课时间:

考勤情况:

授课章节与内容

第五章循环结构程序设计

课堂教学思考与总结

本次课为习题课,通过前面基础知识的讲解,学生能够基本掌握,但是面对编程题目还是无从着手,通过本次习题课,希望能够让同学们掌握编程思路。部分习题课例题如下:

1.累计求和:求Sn=a+aa+aaa+…+aa…a之值,其中a是一个数字。例如:2+22+222+2222+22222(此时n=5),a,n的值由键盘输入。

2.数学问题:用迭代法求平方根.

3.求100—200之间的全部素数。

4.穷举算法:期末某班在一周六天内考三门课分别为x,y,z的考试,规定一天只能考一门,课程依次先考x,后考y,最后考z。最后一门课程最早安排在星期五考。用计算机安排考试,列出满足条件的所有方案和方案数。

5、猜数游戏

教学思考与总结:本次课为习题课,课上的例题都是经过精心挑选。选题原则:一、选择与知识紧密相连的例题。二、与身边生活有密切关系,同学们比较熟悉的问题。这样可以提高学生的编程兴趣。通过本次习题课,希望同学们能够掌握循环结构的常见算法。课下要继续进行编程练习。

备注

总36页,第19页

授课时间:

考勤情况:

授课章节与内容

第五章循环结构程序设计

课堂教学思考与总结

本次上机的主要任务:(1)完成第五章的实验,并撰写实验报告。

存在的问题:对于以下两个题,不知如何判断循环结束的条件

(1)从键盘输入若干个学生的学习成绩,然后统计出及格与不及格的人数分别是多少;

(2)爱因斯坦的阶梯问题。

本次上机结束前对存在的问题进行了讲解:(1)可以认为当输入的数据小于0或者大于100时输入结束,然后对输入的数据进行统计。马敬泽同学提出了一个比较有深度的问题:若输入不合理的数据后,再统计其后正确的数据,那么循环条件怎么设置?

(2)对于该问题,求出一个符合条件的最小值即可,当满足条件后可以用break语句跳出循环。

备注

总36页,第20页

相关主题
相关文档
最新文档