C语言是一门应用最广泛的基础高级编程语言,有很多语言都是由它发展而来的,所以学习好C语言之后再学习任何一种编程语言都会轻松上手。
1 熟记基本知识点
学习C语言和学习任何一种语言的方法基本一样。我们婴儿期间咿呀学语时,从一个字开始学,然后两个,接着更多,最后我们能成句,成段,到出口成章。学习C语言的时候也一样,有些最基本的内容必须要记下来。
1.1 关键字
关键字是由C语言规定的具有特定意义的字符串。它们是写C语言的基础,如果关键字不记下来,那编程是寸步难行。
1.2 运算符
C语言中的运算符和表达式与我们数学上的运算符和表达式有相同的,也有不同的。我们在学习的时候就注意记住并弄清楚那些不同的地方。基本的语法表达式及执行过程。选择结构中的if语句和switch语句。循环语句中的for语句、while语句和do-while语句。这部分就好比是你会了许多词,然后得把这些词组成一些句子,语法的作用就是告诉你怎样说好一句话,表达清楚的意思。
1.3 常用库函数
在这里最重要有两个函数:输入函数scanf()和输出函数printf()。一个程序如果没有输入,那无论运行多少次结果都一样,那也就失去了写程序的目的了。同样一个程序如果没有输出,那运行程序有什么意义呢?当然输出的形式比较多。在初学C语言的时候主要是从屏幕上输出结果。所以这两个函数的使用方法也必须要掌握。这两个函数已经定义在stdio.h这个头文件中,不用我们自己写,它们不是C语言中的语句,所以在使用这两个函数时在源程序顶部一定要加上#include 。这是为了让我们在执行程序的时候,让计算机知道scanf()和printf()这两个函数怎么用。
掌握上面的必须要记下来的内容,相当于我们开始学说话时先听别人说,我们自己跟着学一些最基本的日常语言。这时我们就可以从一些简单的程序开始读,能把每一个程序的运行结果能自己读程序准确地执行出来,那样我们就可以开始来编写程序了。
2 掌握程序的基本结构
编写程序一定要注意程序的结构性。学习写程序,不能开始就写代码。许多人在动手写程序的时候感到无从下笔。原因主要是:看到一个题目不知道如何去分析,它怎么才能变成一个程序呢?这是初学者在编写程序的主要问题。我在教学中采用了一种分步式的方法。
2.1 看到一个题目的时候先别想着编程序,用一个具体的实例想想不用程序你是如何解决这个问题的
例如输入三个数,输出最小值。我们用3,8,6三个数来考虑,我们一看就知道3是最小的。可是我们这一看中其实并不简单,其中有判断。我们先看第一个数3,然后已经记在我们头脑中了,再看第二个数8,3比8小,那我们还是记住3,再比较第3个数6,最后确定3是最小的。我们现在就是要把我们头脑中很快闪过的这些判断过程想清楚。
2.2 我们要弄清楚一个程序由哪些部分组成
这就好比我们写一篇文章也有一些结构。一个C程序也有其一般结构,我把它归纳成下面格式。
#include
main()
{
定义变量int,float,char,double
输入数据键盘输入scanf()
直接赋值例如x=3
处理数据if-elseswitchforwhiledo-while
输入数据printf()
}
第一行代码表示把标准的输入输出头文件包含在这个程序中。第二行代码是C程序的主函数,每个C程序中必须有且仅有一个main()函数。然后是函数的一对“{}”。
定义变量的意思好比买一块地,有了这块地就可以在上面盖房、种庄稼之类的。但是为了便于统一管理,比如城市已经规划好了,你在郊区买的地就只能种庄稼,在市中心买的,就只能盖房,这就是变量类型的含义了。用上面求最小值的例子。我们在三个数中求最小值。这三个是什么数,是整数还是小数?这就必须用变量类型来说明。对于上例应该定义三个整型变量用来存放三个整数,还要定义一个整型变量用来存放最小值。如:int a,b,c,min这行代码的作用其实是要了一块内存,然后在这块内存里存东西。因为我需要一个整数,所以就用int这个关键字来声明(相当于用这块地干什么)。那么变量a,b,c是什么呢?你买了一块地,总要知道这块地在哪是吧?不然就白买了,变量就是这样一个作用。我们需要把数据存在计算机中,什么样的数就定义什么样的类型,需要存几个数就定义几个变量。
输入数据有两种方法。第一种从键盘输入,就需要用到scanf()这个函数第二种是直接赋值。
处理数据是对于初学者来说最难的一部分,也就是把我们刚才分析过程转换成语句。这需要学好C语言的三种程序结构。
(1)顺序结构
顺序结构的程序设计是最简单的,只要按照解决问题的顺序写出相应的语句就行,它的执行顺序是自上而下,依次执行。顺序结构可以独立使用构成一个简单的完整程序,不过大多数情况下顺序结构都是作为程序的一部分,与其它结构一起构成一个复杂的程序,例如分支结构中的复合语句、循环结构中的循环体等。
(2)选择结构
对于要先做判断再选择的问题就要使用分支结构。选择结构的执行是依据一定的条件选择执行路径,而不是严格按照语句出现的物理顺序。选择结构的程序设计方法的关键在于构造合适的分支条件和分析程序流程,根据条件的结果选择对应的分支语句。选择结构适合于带有逻辑或关系比较等条件判断的计算,设计这类程序时往往都要先绘制其程序流程图,然后根据程序流程写出源程序,这样做把程序设计分析与语言分开,使得问题简单化,易于理解。程序流程图是根据解题分析所绘制的程序执行流程图。
例如上例中,把我们头脑中很快闪过的这些判断过程画成流程图即图1:
由上面的流程图再写出对应的语句就比较容易了。如下所示:
min=a
if(min>b) min=b
if(min>c) min=c
学习分支结构不要被分支嵌套所迷惑,只要正确绘制出流程图,弄清各分支所要执行的部分,嵌套结构也就不难了。嵌套只不过是分支中又包括分支语句而已,不是新知识,只要对双分支的理解清楚,分支嵌套是不难的。下面我介绍几种基本的分支结构。
①if(条件)
{ 分支体
}
这种分支结构中的分支体可以是一条语句,此时“{ }”可以省略,也可以是多条语句即复合语句。它有两条分支路径可选,一是当条件为真,执行分支体,否则跳过分支体,这时分支体就不会执行。如:要计算x的绝对值,根据绝对值定义,我们知道,当x>=0时,其绝对值不变,而x<0时其绝对值是为x的反号,因此程序段为:if(x<0) x=-x
②if(条件)
{分支1}
else
{分支2}
这是典型的分支结构,如果条件成立,执行分支1,否则执行分支2,分支1和分支2都可以是1条或若干条语句构成。如:求某年的年号是否是闰年。
分析:因为当某年号能被4整除但不能被4整除但不能被100整除,则这一年是闰年或者这一年号能被400整除也是闰年。即year%4==0&&year%100!=0||year%400==0
其程序段如下:
if(year%4==0&&year%100!=0||year%400==0)
printf(“%d is leap year!”,year)
else
printf(“%d is not leap year!”,year)
}
③嵌套分支语句:其语句格式为:
if(条件1) {分支1}
else if(条件2) {分支2}
else if(条件3) {分支3}
……
else if(条件n) {分支n}
else {分支n+1}
嵌套分支语句虽可解决多个入口和出口的问题,但超过3重嵌套后,语句结构变得非常复杂,对于程序的阅读和理解都极为不便,建议嵌套在3重以内,超过3重可以用switch语句。
④switch开关语句:该语句也是多分支选择语句,到底执行哪一块,取决于开关设置,也就是表达式的值与常量表达式相匹配的那一路,它不同if…else 语句,它的所有分支都是并列的,程序执行时,由第一分支开始查找,如果相匹配,执行其后的块,接着执行第2分支,第3分支……的块,直到遇到break语句如果不匹配,查找下一个分支是否匹配。这个语句在应用时要特别注意开关条件的合理设置以及break语句的合理应用。
(3)循环结构
循环结构可以减少源程序重复书写的工作量,用来描述重复执行某段算法的问题,这是程序设计中最能发挥计算机特长的程序结构,C语言中提供三种循环,即while循环、do while循环和for循环。三种循环可以用来处理同一问题,一般情况下它们可以互相代替换,另外还有一种goto循环语句,因为强制改变程序的顺序经常会给程序的运行带来不可预料的错误,所以不提倡使用。
常用的三种循环结构学习的重点在于弄清它们相同与不同之处,以便在不同场合下使用,这就要清楚三种循环的格式和执行顺序,将每种循环的流程图理解透彻后就会明白如何替换使用,就能更好地理解它们的作用。在分析循环结构的语句时要开清楚,什么时候开始循环(即循环的初始值)什么时候结束循环(即循环的终止条件)循环的时候都做哪些 *** 作(即循环体的执行部分)特别要注意在循环体内应包含趋于结束的语句(即循环变量值的改变),否则就可能成了一个死循环,这是初学者的一个常见错误。
在学完这三个循环后,应明确它们的异同点:用while和do…while循环时,循环变量的初始化的 *** 作应在循环体之前,而for循环一般在语句1中进行的while 循环和for循环都是先判断表达式,后执行循环体,而do…while循环是先执行循环体后判断表达式,也就是说do…while的循环体最少被执行一次,而while 循环和for就可能一次都不执行。
顺序结构、分支结构和循环结构并不彼此孤立的,在循环中可以有分支、顺序结构,分支中也可以有循环、顺序结构,其实不管哪种结构,我们均可广义的把它们看成一个语句。在实际编程过程中常将这三种结构相互结合以实现各种算法,设计出相应程序,但是要编程的问题较大,编写出的程序就往往很长、结构重复多,造成可读性差,难以理解,解决这个问题的方法是将C程序设计成模块化结构。输出数据是每一个程序必须包含的部分。在C程序中的输出通常是从显示屏上输出最后的结果,使用printf()这个函数。
3 掌握一些简单常用的算法
编程其实一大部分工作就是分析问题,找到解决问题的方法,再以相应的编程语言写出代码。这就好比我们学习写作文段落的时候都有一些经典的好词好句,可以使文章添彩。同样程序虽然可以实现各种功能,但最基本的一些算法并不是特别多,我们掌握一些简单的算法,在掌握这些基本算法后,根据不同的问题,再灵活应用。如百钱买百鸡的问题,就是用100元钱买100只鸡,公鸡5元一只,母鸡3元一只,小鸡1元三只。这种问题用数学方法可以列出方程:
x+y+z=100
5*x+3*y+z/3=100
按数学方法三个未知数两个方程无解,实际上是可以解的,如果把公鸡,母鸡和小鸡可能的只数全部代入到方程中检验就可以得到最后结果。这种方法叫穷举法。如果我们用手算那可能要花上半天的功夫,但让计算机来算就只需要1秒种。使用算法后分析和处理问题都会简单很多。当我们能熟练地掌握了简单算法后就能实现一些比较复杂的编程问题了。
任何程序只要有思维,有想法,那么实现程序时就不会觉得无从下手。而要学习这种思维方法就是多做题,多读程序,学习别人好的思维方法,多想想一个程序还可不可以有另外一种方法来实现它。这样久而久之,自然会形成一种自己的思维方法。因此我认为不管学什么语言都是这样。
4 培养良好的编程习惯
培养良好的编程习惯要从第一行代码开始,这也是学好C语言的重要因素。例如编写程序时用缩进的方式、写注释、程序写到一定的阶段时要做一下测试等。这些工作可以帮我们在调试程序时有很大的帮助。程序代码实现后,错误是难免的,所以也要锻炼自己的调试查错能力,而良好的编程习惯可以使我们在调试时减小工作量和提高调试效率,也有助于形成自己的编程风格。
C语言教学探讨
注重编程细节,培养编程技巧
C语言的规则颇多,编写C程序得严格按照其规则进行程序设计,对初学者而言,常常马虎大意,所编写的程序不能正常编译和执行结果,从而打消学生的学习积极性。因此在教学初期,教师必须强调C的许多细节问题,让学生的这种不良习惯扼杀于“萌芽”状态。如学生常常在写程序时出现以下问题:
3.1 字母大小写问题
C语言程序严格区分字母的大、小写,此规则一定给学生讲清楚,让其记住那些特例。如用科学计数法表示浮点数中的“E”,弄清该计数法的规则,其中的字母“E”可以不区分大、小写;再如表示16进制数的符号“0x”,其中字母“x”也可不区分大、小写等等,在教学过程中,对该类问题进行总结、归纳让学生一次就掌握并记住。
3.2 标点符号问题
学生在录入程序时,往往忽略标点符号。问题主要表现在:
(1)忘记录入标点,C语言中,一条语句的结束需要用符号“”与另一语句隔开,对初学的学生,他们通常会忽略掉这个细节问题,这需要教师在讲授中明确地指出,让学生弄清楚。另外,强调不同标点符号的作用和区别,如“”和“,”等等。
(2)标点录入错误,在录入程序时,很多学生录入的标点是不正确的。如分号“;”和“”是有区别的,前者为中文下的标点符号,而后者才是程序中需要的。必须给学生强调程序中所需要的标点符号都应该是英文状态下的。
3.3 容易混淆的符号
字母符号“o”,“O”与数字符号“0”;字母符号“l”与数字符号“1”;字母符号“z”与数字符号“2”的区别等等。
对于少数学生,教师虽然强调了很多的细节,但还是不能接受,这便通过程序的调试来让他们明白问题的严重性,通过他们自己对程序的调试来纠正问题的所在,这需要教师耐心地为学生指导。如程序xx.c:
#include <stdio.h>
void main()
{
int a=10
printf("a=%d\n",a)
}
编译时出现以下问题:xx.c(5) : error C2146: syntax error : missing '' before identifier 'printf',给学生讲解提示,让学生通过提示明白问题所在,即该程序第5行的printf语句前缺少“”,这是学生自己通过实践证明了问题的所在,使之深受体会。通过程序调试的方法不仅可以为学生解决错误,同时也增强了学生调试程序的能力,从而提高编程的经验和技巧。
4 明确教学目标,任务驱动学习
教师深入分析教学大纲, 在全面了解学生的数学基础知识状况的前提下, 根据大纲制定好教学计划,做好每次教学任务计划,明确教学目标,选择适当的练习作业,督促学生不断深入学习。
在制定计划的过程中要针对学生的数学知识基础, 将教材中涉及到的学生未掌握的数学知识类例题进行更换, 避免因数学的方面的问题形成教学障碍, 在课时允许的条件下也可在教学前为学生补充一定的数学方面相关知识。
设计“循环”语句教案时,可以先给学生讲清楚学习循环语句的用处及优点,介绍学习重点、难点,要求掌握一些程序设计的算法,让他们明确该语句的重要性。如实现求等差数列s=1+2+3+…+n的和时,主要介绍使用循环语句求解,并要求学生掌握其求解方法,并按照此方法推广,以掌握算法思想,然后再通过作业的任务编写垒加算法的相关程序,如求s=1!+2!+3!+…+n!等,学生通过自己的练习不断总结编写循环程序的经验,体会循环的思想,使得他们对循环语句有更深的理解和认识,从而达到较好的教学效果。
5 改进教学方法,实现教学相长
传统教学模式的教学方式是:用大量的时间讲定义、语法、概念、语句,对学生的要求是注重接受、理解、记忆,讲课方式是老师讲、学生听。学生掌握的知识比较抽象、机械、静止、片面和孤立,他们不知道如何灵活地综合运用这些知识去解决实际问题。基础知识固然重要,但利用基础知识解决实际问题能力的培养是高等教育更为重要的目的。如何使当前的大学生具备扎实基础知识的同时,又具备解决实际问题、批判性思维和创造性思维,发展合作能力与自主学习能力,是目前急待解决的问题,也是人们进行教学改革的思路。
注重问题求解方法,掌握算法思想。如实现求等差数列s=1+2+3+…+n的和时,该数列的求解方法有多种。除了使用循环语句求解外,还可以通过公式s=(1+n)*n/2进行求,也可以使用函数的递归调用进行求解。通过多种方法的介绍,不仅可以巩固学生的基础知识,又能培养学生的创造性思维。
在教学中一定要做到培养学生学习兴趣,让学生体验成功乐趣,改变学习方式,促进教学互动。
6 知识转变能力培养,注重实践课教学
计算机科学是一门经验学科与理论学科相结合的课程,在学习时,不仅要掌握理论知识,而且实践 *** 作的经验的积累也非常重要。C语言变成实践经验的积累是不断从编写程序、调试程序和运行程序结果的过程中总结得出,由此,教师在讲授C语言课程时,不能忽视实践课的教学,尤其是学生上机辅导课的教学。
往往,很多教师认为,上机辅导课就是让学生自由练习,及时为有疑问的学生解决问题。实际上这种教学辅导方式是不合理的,应该在以下方面进行改进:
1)学生上机应有明确的练习目标,提高编程效率
在每学期的教学调查中,同学们总会提到这样的问题:上机课不知道该干什么;写程序无从下手;编程很难等。这就要求我们教师在上机课程中要有目的有意识的给同学安排上机的任务。应该从以下几点来进行上机课程:
(1)结合上课的理论知识,确定上机课要完成的目标。
(2)引入相关的程序实例,逐步分析解决该程序的思路和相关的程序代码。让学生了解如何下手去编写程序。
(3)根据引入的程序实例再扩展开,让同学们自己动手完成相关的程序代码。
(4)评讲相关的程序代码,并引出新的程序,让学生自己独立的完成。
(5)课程随时的课堂答疑。
2)激发学生的学习兴趣
学生学习的最关键的因素是兴趣,一定要注意提高学生学习的兴趣,如何提高是一个很关键的问题。首先要充分的肯定学生,即便是一点点值得肯定的地方也要肯定。其次多评价学生做的作业,让学生有一定的满足感。最后多让枯燥的程序与实际的生活联系起来。这样就可以大大的提高学生的学习兴趣。
7 小结
以上就是在学习和教授过程中,对C语言程序设计教学课程的心得体会,希望对广大的同仁能有一定的参考价值
C语言快速学习技巧(原创)默认分类 2010-03-14 12:09:53 阅读46 评论0 字号:大中小
从最基本的流程学起,从最基本的语句学起。在学习的过程中,特别注意每个函数的作用,多想想这个函数能怎样用,用在哪里,能起到什么另外的效果!要学会活用!程序,对数学,特别是逻辑的要求把比较高。写好程序,首先对整个程序的流程有缜密的思考,要求周到,准确,先思考,不要急着写程序!!这一点请注意!也就是说先算法,先研究程序的结构,是用什么来实现的,循环?分支?等等。然后再用语言来实现!语言只是编写程序的工具。所以学语言,先学会程序化的思想。在将算法翻译成语言的时候,再结合实际情况,逐步求精,有目的的修改,达到最优化。我们学院的C语言,很有特色,英文版,考试也是。我想说的就是,外文版的这本书,它在引领一个不懂编程的人,逐步养成程序、流程、逻辑的思想,是非常优秀的一本书。如果能字字句句阅读,将会很清楚领会到程序的思想。然而,书太厚,生词太多,时间太短。我的建议是,看某一本中文版的书,一本不够,看两本。先尽快学会程序的思想,也就是用程序来想问题,这样,就会编程了。然后,考试前几周,背一背生词、关键词,就可以考试了。如果你坚持要读外文版,可以,但要跳读!然后,还要看你是想只是应付期末考试,还是想学好编程。应付期末考,需要注意书中的重点,也就是考点,这样就够了。比如说字符型变量加指针,这样就够了,不需要更高级的指针的知识。而你如果想真正学好程序(我不说C语言是因为我说过C语言只是编写程序的工具之一),肯定是要打好基础的!任何一个细节,都是不能放过的!而且,这样的人往往会很郁闷~因为我们程序真正要求的,考试一般不会涉及到,因为比较难!(不会指针的人,永远不要说他会C语言!)而考试的内容,恰恰是最无聊的东西,比如格式化输出printf函数的第一个参数,太繁了,记都记不住。如果学的深的话,只需要知道有这么一个函数,有这么一个功能。而要用的时候,查书就行。可是对考试来说,显然不行。所以要看看你是哪一种~掌握一些简单的算法 编程其实一大部分工作就是分析问题,找到解决问题的方法,再以相应的编程语言写出代码。这就要求掌握算法,根据我们的《C程序设计》教学大纲中,只要求我们掌握一些简单的算法,在掌握这些基本算法后,要完成对问题的分析就容易了。如两个数的交换、三个数的比较、选择法排序和冒泡法排序,这就要求我们要清楚这些算法的内在含义,其中选择法排序和冒泡法排序稍难,但只要明白排序的具体过程,对代码的理解就不难了。如用选择法对10个不同整数排序(从小到大),选择法排序思路:设有10个元素a[1]~a[10],将a[1]与a[2]~a[10]比较,若a[1]比a[2]~a[10]都小,则不进行交换,即无任何 *** 作;若a[2]~a[10] 中有一个比a[1]小,则将其中最大的一个(假设为a[i])与a[1]交换,此时a[1]中存放了10个中最小的数。第二轮将a[2]与a[3]~a[10]比较,将剩下9个数中的最小者a[i]与a[2]交换,此时a[2] 中存放的10个数中第2小的数;依此类推,共进行9轮比较,a[1]到a[10]就已按从小到大的顺序存放。即每一轮都找出剩下数中的最小一个,代码如下: for(i=1i<=9i++) for(j=i+1j<=10j++) if(a[i]>a[j] {temp=a[i]a[i]=a[j]a[j]=temp} 结语:当我们把握好上述几方面后,只要同学们能克服畏难、厌学、上课能专心听讲,做好练习与上机调试,其实C语言并不难学.
《C语言程序设计》说课教案授课班级:07应用电子
授课课时:2课时
授课地点:计算机实验室
课题 制作数字电子时钟―――循环嵌套
一、教学目标
1、通过本次课教学,学生能进一步理解顺序、分支和循环三种基本结构,特别是While、Do-While、for三种循环循环语句的使用;
2、掌握循环嵌套概念;
3、掌握多种循环程序设计方法并根据任务要求 “制作数字电子时钟”;
4、通过本次任务,了解gotoxy()和Clrscr()函数的作用,并掌握这两个函数在实际应用程序中的使用方法。
5、技能目标:培养学生逻辑思维能力、综合运用知识的能力和自主学习能力;
二、教材分析
选用教材为李志球、刘昊编著的《C语言程序设计教程》(第二版),该教材由电子工业出版社出版,教材特点如下:
1、在内容上体现科学性、时代性、实用性,编排上面向应用,理论与实践有机结合;
2、采用任务驱动、项目教学等教学手段,全书围绕项目“学生成绩管理系统”作为案例,贯穿整个课程进行难点讲解,以实际应用作为突破口,使学生能够真实体验到知识的实际应用,提高兴趣,促进理解;教学与项目开发融为一体,浅显易懂,符合高职学生认知规律。
3、实验实训环节结合教学内容,实验项目丰富。课程设计中案例学生熟悉。
本节课教学内容参考教材第4章的4.4节:循环嵌套。
三、学生分析
07应用电子是普招类(高中毕业生)学生,它们高中期间文化基础较扎实,但计算机专业知识薄弱,C语言程序设计是他们学习的第一门计算机语言类课程,开始学习时较困难,但入门提高较快。本次课的教学内容中循环嵌套概念他们很容易理解,简单的多重循环编程对他们不难,但循环嵌套在实际应用中的编程较为困难,如本次课的任务“制作数字电子时钟”牵涉许多知识,如屏幕定位、输入初始时间等。
另外,高职学生对于上机实际 *** 作要比学习理论知识更为有兴趣;简单的实验项目都能完成,但解决实际应用问题的能力也较差。因此,在教学中通过演示让学生有感性认识,提高学习兴趣;通过提出问题让学生讨论议一议,主动思考如何解决;通过一个教学任务让学生动手做一做。
四、教学重点、难点及解决办法
1、本次课教学重点
1)循环嵌套概念;
2)gotoxy()和Clrscr()函数使用方法;
3)循环嵌套结构程序设计方法及实际应用。
在教学过程的叙述中,要抓住教学的重点、最能体现教学理念的内容和最能展示教学艺术的环节,作较为详细的叙述。
2、本次课教学难点
1)循环嵌套编程
2)算法分析及程序结构
3)编程完成“制作数字电子时钟”
3、难点解决办法
1)通过演示让学生有感性认识,并从for语句基本语法入手,逐步引入循环嵌套概念,弱化实用性不强的细节;
2)围绕任务“制作数字电子时钟”程进行难点讲解,以实际应用作为突破口,使学生能理解循环嵌套在实际中的应用,提高学习兴趣;
3)针对难点设置上机实际 *** 作内容,进一步掌握循环嵌套程序设计方法。
4)在实验实训过程中布置任务项目,通过实践环节进一步理解和掌握重点难点,达到学习目的。
五、教学理念、方法及手段
本次课采用理(论)实(践)一体化教学理念通过任务驱动(项目教学)、讲练结合等教学手段。
1、任务驱动:通过“制作数字电子时钟”这一任务,掌握循环嵌套程序设计认方法。并掌握相应知识点,突出重点,分解难点。
2、讲练结合:授课地点为计算机实验室,采用边讲边练的教学互动形式。教学过程中,适当安排学生在计算机上进行进行实际程序设计,通过运行调试自己设计的程序,让学生亲自观察和体验程序设计的成功感受,加深知识的理解。
六、教学设计(时间分配)
1、任务提出,演示成果程序,明确目标,提出要求。(2分钟)
(1)演示成果程序,在屏幕固定位置显示“制作数字电子时钟”。
(2)任务分析:完成本次课的任务所需知识―――三种基本程序设计结构。
2、知识回顾(2分钟)
循环结构概念、三种循环语句(while、do-while、for)、当型和直到型循环、重点语句for语句应用、注意事项。
3、上机实训1(2分钟)
简单程序:用for语句编程,实现在屏幕上显示0、1、2……59。
(上机技能训练的 *** 作、指导、辅导过程,以学生实际 *** 作动手为主,教师进行辅导指导、师生共同探讨完成,应充分体现学生的主体地位)
思考提问:如何让0-59重复变化,以接近实际生活中秒的变化情况。
4、导入新课(6分钟)
(1)通过练习1,分析在屏幕上显示秒的变化程序中存在的问题。一是数字“0-59”以滚动卷屏方式显示;二是每个数字显示速度太快,如何实现以实际一秒时间显示一个数。
第一个问题使用gotoxy()函数或clrscr()函数解决;第二个问题在程序中每显示一秒后都设置一个时间延迟,时间延迟用方法空循环结构实现,它的位置在循环内屏幕每显示一个数值后。通过讲解解决第二个问题的程序结构,引入本次课新知识―――循环嵌套概念。
for(s=0s<=59s++)
{printf("\%2d",s)
for (i=1i<=200000000i++)}
(2)循环嵌套概念、结构和程序设计时注意事项。
5、上机实训2(5分钟)
使用循环嵌套结构编程,在屏幕固定位置能以分秒变化的时钟:
10:11
编程和上机 *** 作时要理解两点:一是gotoxy()函数的使用,二是空循环实现延时循环终值的调试,以接近实际生活中时间变化。
本部分内容所用到知识是本次课的核心,是基本的能力目标,所以教学时要以重点内容处理。
6、程序设计讲解(4分钟)
编程完成本次课任务,制作一个带有时、分、秒变化的数字电子时钟。(四重循环)。
(1)算法分析
(2)定义变量及类型
(3)程序结构设计
(3)源程序核心结构编程
7、上机实训3(5分钟)
(1)调试程序时要注意观察程序运行情况,调整空循环变量i的终值,尽量与实际运转时间一致。计算机运行速度越快,则这个数值越大。
(2)本程序需运行24小时才能结束,如果要停止程序运行,可以按Ctrl-C或连续按两次Ctrl-Break强制中断程序运行。
(3)修改变量i类型,将它定义为整形后再次运行程序,观察运行结果,分析程序出错原因,提醒以后编程时注意。
8、提出问题,任务完善―――源程序提高与扩展 之一(4分钟)
前面的程序每次运行都从0点0分0秒开始,不能从当前实际时间开始运行。解决问题的办法可以在程序第一次循环开始时输入一次当前实际时间。为了只在开始运行时设置一次初始时间,可以引入一个逻辑变量first,其初始值为0 ,输入初始时间后,将其值置为非0。在后面程序运行中,通过if语句控制不再需要输入初始时间。
9、上机实训4(5分钟)
上机修改程序,使数字电子钟能从指定时间(输入初始时间)开始运转。
10、思考和作业(5分钟)
(1)源程序提高与扩展 之二:本程序只能运行24小时,请同学们将程序进一步改进,使它能显示年、月、日、星期、时、分、秒等数据的电子钟。
(2)“九九乘法表”。
10、课堂小结及作业(5分钟)
11、Question &Answer(1-2分钟)
七、学法指导
1、鼓励学生自主探索和合作交流。引导学生自主地从事观察、分析、交流等活动,使学生形成对计算机语言知识有效的学习策略。
2、鼓励与提倡解决问题的多样性,引导学生在与他人的交流中去选择合适的策略,丰富自己的思维方式,获得成功的体验和不同的发展。
3、引导学生将所学计算机知识应用到其他学科中去,使学生觉得计算机有很用,同时也培养了学生逻辑思维能力。
.docBubble {z-index: 500}#baidu-top-tip .close{
background:url(http://img.baidu.com/img/iknow/docshare/img/close_bg.png) no-repeat 0 -1px!important
}
#doc .ic-pptx {
background:url(http://wenku.baidu.com/static/widget/common/module_static/module_static_z20976ac6.png) no-repeat -1098px 0
}
.bottom-topic .topic-docList-item .doc-value,
.bottom-topic .topic-docList-item .doc-rate-count,
.bottom-topic .topic-docList-item .doc-page-num{
display:none!important
}
.user-bar .mn-lk, .ui-crumbs li{background-image:url("http://img.baidu.com/img/iknow/docshare/img/module_static_z69a01da9.png")}
.user-bar .mn-lk{background-position: right 6px}
.ui-crumbs li{background-position: right -5px}
div#hd .top-search-box {
position : relative
}
.reader-tools-bar-wrap .reader-download{
overflow:visible!important
}
.reader-tools-bar-wrap .reader-download span{
top:-6px!important
right:-90px!important
height:35px!important
}
a1362883107我的主页帐号设置退出二级(136)|个人中心我的文库我的贡献我的课程我的任务||私信(0)|百度首页
新闻网页贴吧知道音乐图片视频地图百科文库 帮助 全部DOCPPTTXTPDFXLS百度文库教育专区高等教育工学上传文档
.wk-book-media-b {
width:92px
height:117px
}
文档信息chong4751贡献于2012-12-154.0分(4人评价)我要评价캧*总体评价:请帮我们完善下面的评价,这会帮到更多的用户:丰富度:阅读体验:点击标签,留下你对这篇文档的印象五个以上用户留下相同印象即可显示在页面中。最新专业适合入门内容过时好多错误文不对题确认提交大家印象:还没有用户留下印象呢,点击“我要评价”留下您的印象吧。贡献者等级:出口成章 六级格式:doc关键词:计算机科学与技术 1/2同系列文档新学期教师工作计划及教...专题幼班教师寄语小学教师开学发言稿秋季初中开学典礼校长讲话...高一英语上册unit1教案c++程序设计教案c++程序设计教学进度表c++程序设计实验指导1/2相关文档推荐C++程序设计教学计划2页1财富值visual c++ 程序设计教学计...7页5财富值10-11学年第1学期_面向对象...10页免费《面向对象程序设计》教学...11页免费C++教学计划(091002)3页1财富值C++程序设计实验教学大纲5页免费喜欢此文档的还喜欢c语言程序设计文件加密解密...23页免费计算机网络课后答案 杨晓...34页5财富值数据结构教学计划编制课程...12页2财富值C语言课程设计实验报告13页免费计算机组成原理试题和答案5页1财富值如要投诉或提出意见建议,请到
百度文库投诉中心反馈。 举报文档c++程序设计教学计划99人阅读隐藏>>分享到:嵌入播放器:普通尺寸(450*500pix)较大尺寸(630*500pix)预览复制本课图谱科学六年级上苏教版第四单元 探索宇宙第五单元 设计与制作期中考试1. 设计你在这里2. 把梦想变成现实相关专题九月开学季,老师你们准备好了吗?幼儿园开学典礼教师发言稿人评论页2011秋季小学生开学典礼教师代表发言稿人评论页秋季开学典礼教师代表发言稿人评论页查看全部鏂囨。>>你可能喜欢文件加密解密谭浩强c++程序设计visual c++...c++程序设计报告c++程序设计基础c++程序设计试题c++程序设计教程c++程序设计课后答...实验五文件数据加密与解密3页免费xp系统文件加密与解密方法10页免费C#加密解密文件5页免费c语言程序设计文件加密解密23页免费用VB实现文本文件加密解密的方法2页免费更多与“文件加密解密”相关的文档>>《c++程序设计》谭浩强课后习题答案44页免费c++面向对像程序设计 谭浩强78页免费c++程序设计谭浩强课后习题答案(完整版)275页2财富值《c++程序设计》谭浩强_答案42页1财富值《c++程序设计》谭浩强_答案41页免费更多与“谭浩强c++程序设计”相关的文档>>visual c++程序设计的上机 *** 作的答案53页免费visual c++图形程序设计基础29页免费visual c++程序设计解析与实训课后答案101页2财富值visual c++ 程序设计实验指导38页5财富值visual c++可视化程序设计42页免费更多与“visual c++ 程序设计”相关的文档>>c++(MFC)程序设计实践报告 (2)25页免费c++程序设计报告消去法4页1财富值c++(MFC)程序设计实践报告16页2财富值c++程序设计课程实践报告10页免费北邮计算机c++小学期程序设计实验报告 全27页1财富值更多与“c++程序设计报告”相关的文档>>c++程序设计基础实例教程31页1财富值c++程序设计基础答案(第3版) 周霭如 林伟健编...133页2财富值第 2 章 c++程序设计基础52页免费c++1程序设计基础41页免费c++天津大学出版社程序设计与结构基础(非简明版)...20页免费更多与“c++程序设计基础”相关的文档>>c++,面向对象程序设计考试试题115页免费c++面向对象程序设计试题和答案11页免费2009年1月份c++程序设计试题11页免费c++面向对象程序设计试题和答案29页1财富值c++,面向对象程序设计考试试题25页10财富值更多与“c++程序设计试题”相关的文档>>c++程序设计教程98页5财富值c++程序设计基础实例教程31页1财富值C++语言程序设计(第3版)清华大学教程c++768页2财富值c++程序设计教程第7章47页1财富值C++语言程序设计(第3版)清华大学教程c++471页2财富值更多与“c++程序设计教程”相关的文档>>自考c++程序设计课后答案参考[全面、完整]48页免费《c++程序设计》谭浩强课后习题答案44页免费c++程序设计谭浩强课后习题答案(完整版)275页2财富值自考c++程序设计课后答案参考39页免费c++程序设计课后习题第6章答案3页免费更多与“c++程序设计课后答案”相关的文档>>©2013 Baidu使用百度前必读 | 文库协议
#bdshare{width:155px}dl#bdshare{width:320px}.bds_tools div.sns_qzone{background:url(http://bdimg.share.baidu.com/static/images/is.png) 0 -75px no-repeatdisplay:blockwidth:21pxheight:25pxfloat:leftcursor:pointer}.bds_tools_32 div.sns_qzone{background:url(http://bdimg.share.baidu.com/static/images/is_32.png) 0 -75px no-repeatwidth:37pxheight:37pxdisplay:blockfloat:leftmargin-right:3pxtext-indent:-100emcursor:pointer}
关闭
海南软件职业技术学院教务处
复制 | 分享
文字已复制
分享至:×
5 财富值/10您上一次阅读到此页,点击这里返回第一页
海南软件职业技术学院教务处 密级:内部文件 教务处监制 第 1 共 页 共 10 页 海南软件职业技术学院课程教学计划 1、 任课教师根据教学大纲和所选教材制定总体教学培养目标: 通过C++程序设计课程的学习我们希望达到如下目标: 1. 修养目标 认识计算机程序概念 了解程序设计思想 2. 知识目标 掌握C++语言基本元素(数据类型、运算符、表达式) 掌握C++语言基本语句 掌握C++语言基本控制结构 掌握C++语言自定义类型、子程序、递归 掌握C++语言面向对象特征类 掌握C++语言基本I/O 掌握C++语言模板、异常处理 3. 技术能力目标 具备使用C++语言解决简单问题的能力 学会使用面向对象技术分析问题、建模等能力 2、 任课教师根据教学大纲和所选教材制定每章实施方案 (包括: 培养目标、 教学内容、 教学要求、课时规划、重点、难点、解决方法) ; 第一章 C++编程体系概述 1.1 编程语言的产生 1.2 编程语言的体系划分 1.3 程序设计方法 1.4 C++语言编程体系 1.5 C++程序结构初步 1.6 使用C++语言编写简单代码 教学要求: 1、了解计算机编程语言的产生、体系划分 2、了解程序设计方法 3、了解C++程序结构 4、学会使用Visual C++ 编写简单的C++程序 第二章 C++语法基础 2.1 C++数据类型 2.2 C++的基本输入输出格式 2.3 C++的表达式与运算符 2.4 C++的控制语句 九月开学季,老师你们准备好了吗?幼教开学准备小学教师教案小学教师工作计...初中教师教案初中教师工作计...海南软件职业技术学院教务处 密级:内部文件 教务处监制 第 2 共 页 共 10 页 教学要求: 1、了解C++数据类型 2、掌握C++的基本输入输出格式 3、学会使用C++的表达式和运算符 4、熟练掌握C++的控制语句 第三章 指针与数组 3.1 存储方式 3.2 指针类型 3.3 应用类型 3.4 数组类型 3.5 结构类型 3.6 字符类型 教学要求: 1、了解C++语言存储结构 2、掌握指针的概念、基本应用 3、了解应用类型及其用法 4、掌握数组类型、结构类型的定义、使用方法 5、学会使用字符数组、以及字符串处理函数 第四章 函数 4.1 函数的基本概念 4.2 函数参数的缺省 4.3 函数参数的传递 4.4 函数的嵌套与递归 4.5 内联函数 4.6 函数的重载 4.7 作用域和生命期 教学要求: 1、掌握函数的概念以及特点 2、学会使用带默认参数的函数形式 3、掌握函数的嵌套、递归用法 4、了解内联函数 5、熟练掌握函数重载 6、了解作用域和生命期 第五章 异常处理 5.1 异常的基本概念 5.2 异常的实现 教学要求: 1、了解异常的基本概念 海南软件职业技术学院教务处 密级:内部文件 教务处监制 第 3 共 页 共 10 页 2、掌握异常的实现 第六章 泛型算法初步 6.1 泛型算法的必要性 6.2 泛型算法的基本概念 教学要求: 1、了解泛型算法的基本概念 2、掌握泛型算法的基本应用 第七章 类的基本概念 7.1 类的定义 7.2 构造函数和析构函数 7.3 类中的this指针 7.4 类中的const修饰符 7.5 堆与拷贝构造函数 教学要求: 1、掌握类的概念、定义 2、掌握构造函数、析构函数 3、了解this指针、const修饰符 4、掌握拷贝构造函数 第八章 静态成员与友元 8.1静态成员 8.2 友元 教学要求: 1、了解静态成员的概念、使用方法 2、学会使用友元、定义友元函数、友元类 第九章 运算符重载 9.1 运算符重载的概念 9.2 单目运算符重载 9.3 双目运算符重载 9.4 赋值预算符重载 9.5 类型转换 教学要求: 1、理解运算符重载的概念 2、掌握单目、双目、预算符重载的方法 3、学会使用赋值预算符的重载 4、了解类型转换 第十章 继承 10.1 继承的基本概念 10.2 基类和派生类的关系 海南软件职业技术学院教务处 密级:内部文件 教务处监制 第 4 共 页 共 10 页 10.3 protoected关键字详解 10.4 保护继承和私有继承 10.5 其他代码重用的方式 教学要求: 1、了解继承的基本概念 2、了解基类和派生类的关系 3、学会使用公有继承、私有继承和保护继承 第十一章 多重继承和多态性 11.1 多继承 11.2 虚函数 11.3 多态性 11.4 纯虚函数与抽象类 11.5 虚析构函数 教学要求: 1、了解多重继承的基本概念及多重继承下的二义性 2、熟悉虚拟继承的用处及实现方法 3、熟练掌握虚函数的使用及多态性的实现方法 4、掌握编译时多态和运行时多态的特点和用法 5、熟悉纯虚函数及抽象类的概念 6、了解虚析构函数的必要性及如何使用虚析构函数 第十二章 程序结构与C++的输入输出 12.1 C++的程序结构 12.2 C++流的概念 12.3 三种输出 *** 作 12.4 四种输入 *** 作 12.5 文件的输入输出 教学要求: 1、熟练使用C++语言的多程序结构 2、熟悉程序间共享变量和函数的方法 3、掌握C++语言的3种基本流 4、熟练使用3种输出 *** 作 5、熟练使用4种输入 *** 作符 6、掌握文件的输入和输出 第十三章 模板 13.1 模板的基本概念 13.2 函数模板 13.3 类模板 教学要求: 海南软件职业技术学院教务处 密级:内部文件 教务处监制 第 5 共 页 共 10 页 1、了解使用模板的必要性 2、熟悉模板分类 3、熟练掌握函数模板的定义和使用,以及如何使用函数模板重载 4、熟练掌握类模版的定义和使用 第十四章 C++编码助手 14.1 编码助手概述与安装 14.2 使用编码助手 教学要求: 1、熟悉编码助手提供的功能 2、熟练使用编码助手实现:自动拼写检查、自动代码检查、自动对齐、选择代码的颜 色及使用代码框架。 第十五章 C++编码规范 15.1 C++文件的程序结构 15.2 命名规则与可读性 15.3 单元代码的规范 15.4 提高可测试性和程序效率 教学要求: 1、理解C++编码规范的作用和意义 2、了解C++程序的排版方式及各种注释的添加方法 3、熟悉各种命名规则及如何提高程序的可读性 3、 填写教学进度表(分为:理论和实验两部分) : 周次 章节 内容 课时数 1 第一章 C++编程体系概述 1 2 第二章 C++ 语法基础 2 3~4 第三章 指针和数组 4 5 第四章 函数 2 6 第五章 异常处理 2 7~8 第六章 泛型算法初步 4 9~10 第七章 类的基本概念 4 11 第八章 静态成员与友元 2 12~13 第九章 运算符重载 4 14 第十章 继承 2 14 第十一章 多重继承和多态性 2 15~16 第十二章 程序结构与C++输入输出 4 17~18 第十三章 模板 4 1 第十四章 C++ 编码助手 1 1 第十五章 C++ 编码规范 2 合计:18周 40学时
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)