《C语言学习特点、难点和方法(精品).ppt》由会员分享,可在线阅读,更多相关《C语言学习特点、难点和方法(精品).ppt(27页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、C C学习的特点、学习的特点、难点和对策难点和对策计算机语言的语言特性n n计算机语言也是计算机语言也是计算机语言也是计算机语言也是语言语言语言语言,和我们日常所用的自然语,和我们日常所用的自然语,和我们日常所用的自然语,和我们日常所用的自然语言,例如汉语和英语有着相似的地方。有着言,例如汉语和英语有着相似的地方。有着言,例如汉语和英语有着相似的地方。有着言,例如汉语和英语有着相似的地方。有着词法词法词法词法、句法句法句法句法(语法)和(语法)和(语法)和(语法)和文法文法文法文法。n n而且这些词法和语法还是以英语形式存在的。学而且这些词法和语法还是以英语形式存在的。学而且这些词法和语法还是
2、以英语形式存在的。学而且这些词法和语法还是以英语形式存在的。学习的结果都是要用语言写出文章(程序)。文章习的结果都是要用语言写出文章(程序)。文章习的结果都是要用语言写出文章(程序)。文章习的结果都是要用语言写出文章(程序)。文章(程序)都有着代表了自己特色的模式和结构。(程序)都有着代表了自己特色的模式和结构。(程序)都有着代表了自己特色的模式和结构。(程序)都有着代表了自己特色的模式和结构。n n使用自然语言,需要人有想象力,有形象思维的使用自然语言,需要人有想象力,有形象思维的使用自然语言,需要人有想象力,有形象思维的使用自然语言,需要人有想象力,有形象思维的能力。使用计算机语言,也需要
3、人有想象力,有能力。使用计算机语言,也需要人有想象力,有能力。使用计算机语言,也需要人有想象力,有能力。使用计算机语言,也需要人有想象力,有形象思维形象思维形象思维形象思维的能力。的能力。的能力。的能力。计算机语言思维方式特性n n计算机的思维来源于数学,但是又不等同于数计算机的思维来源于数学,但是又不等同于数计算机的思维来源于数学,但是又不等同于数计算机的思维来源于数学,但是又不等同于数学。数学的思维是学。数学的思维是学。数学的思维是学。数学的思维是抽象抽象抽象抽象的,它是建立在的,它是建立在的,它是建立在的,它是建立在公理、公理、公理、公理、定义、定理定义、定理定义、定理定义、定理以及独特
4、的推导方式上的。例如高以及独特的推导方式上的。例如高以及独特的推导方式上的。例如高以及独特的推导方式上的。例如高等数学的基础是等数学的基础是等数学的基础是等数学的基础是连续连续连续连续,推导方式是从现有条件,推导方式是从现有条件,推导方式是从现有条件,推导方式是从现有条件出发,根据定义或定理,经过若干步骤推导出出发,根据定义或定理,经过若干步骤推导出出发,根据定义或定理,经过若干步骤推导出出发,根据定义或定理,经过若干步骤推导出结果。结果。结果。结果。n n计算机的思维也是抽象的,但是它不依据定义计算机的思维也是抽象的,但是它不依据定义计算机的思维也是抽象的,但是它不依据定义计算机的思维也是抽
5、象的,但是它不依据定义和定理,它的思维的对象也不是象数学那么连和定理,它的思维的对象也不是象数学那么连和定理,它的思维的对象也不是象数学那么连和定理,它的思维的对象也不是象数学那么连续,它的思维是基于续,它的思维是基于续,它的思维是基于续,它的思维是基于算法算法算法算法的。算法则来自于的。算法则来自于的。算法则来自于的。算法则来自于经经经经验和逻辑验和逻辑验和逻辑验和逻辑。思维对象是离散的。思维对象是离散的。思维对象是离散的。思维对象是离散的。C语言的个性nC C语言和其它计算机语言相比,又具有很语言和其它计算机语言相比,又具有很多自己的特点。例如它有丰富的多自己的特点。例如它有丰富的数据类数
6、据类型型,有连微软也说不清楚的,有连微软也说不清楚的+、-,有,有强有力的强有力的指针指针,有功能强大又神秘莫测,有功能强大又神秘莫测的的编译器编译器。C C的学习难度之的学习难度之1 1幕太多幕太多n nC C语言和其他很多计算机语言不一样,语言和其他很多计算机语言不一样,C C有太多和程式逻辑息息相关的动作是编有太多和程式逻辑息息相关的动作是编译器为我们加上去的,使我们惯于译器为我们加上去的,使我们惯于循序循序思考思考的工程脑袋不知所措。的工程脑袋不知所措。n换句话说换句话说 C C 编译器为我们加码。如编译器为我们加码。如果不识清这一节,学习果不识清这一节,学习C C有如雾里看花,有如雾
7、里看花,雾非雾,花非花。雾非雾,花非花。C C学习的第学习的第2 2个难度个难度思考模式的移转思考模式的移转 n别说自己设计程序了,光使用别人的程别说自己设计程序了,光使用别人的程序,就都是一种序,就都是一种思考模式思考模式和和行为模式行为模式的的移转。也就是说,移转。也就是说,你不能只会使用自己你不能只会使用自己的思维模式,的思维模式,你需要会理解别人的思维你需要会理解别人的思维模式,把你的思路转移到别人的思路上模式,把你的思路转移到别人的思路上去。你不能简单的使用对待数学的方法去。你不能简单的使用对待数学的方法或者对待语文的方法来思考或者对待语文的方法来思考C C的编程。的编程。C C学习
8、的第学习的第3 3个难度个难度学习模式的转换学习模式的转换 n大学教学是大学教学是启发式,跳跃式启发式,跳跃式,不会什,不会什么都讲到。尤其是计算机语言这样的么都讲到。尤其是计算机语言这样的课程,教学的课程,教学的跨度和宽度跨度和宽度是非常大的。是非常大的。这就使得刚入大学门的学生一下子不这就使得刚入大学门的学生一下子不能适应。能适应。n大学里学生和老师接触较少,学习的大学里学生和老师接触较少,学习的量和质被监督的甚少。量和质被监督的甚少。C C特点的结论特点的结论n计算机语言是集计算机语言是集数学数学、语文语文、外语外语和和计算计算机机的特点于一身的东西。的特点于一身的东西。nC C语言是计
9、算机语言中一个比较难学,但语言是计算机语言中一个比较难学,但是学会了又很好使用的语言。是学会了又很好使用的语言。nC C语言的学习,即需要象学习外语那样死语言的学习,即需要象学习外语那样死记硬背,还需要对文学作品的感受记硬背,还需要对文学作品的感受形象形象思维思维,又需要象学习数学那样进行,又需要象学习数学那样进行严密逻严密逻辑辑的推理。的推理。C能学好吗?n既然既然C C有这么多让我们头痛的特点,那有这么多让我们头痛的特点,那我们还能学好它吗?我们怎样才能学好我们还能学好它吗?我们怎样才能学好它呢?答案是肯定的。它呢?答案是肯定的。n要想学好要想学好C C,首先需要解决一些一般性,首先需要解
10、决一些一般性的学习问题。这就是的学习问题。这就是学习形态理念学习形态理念。学习有三种形态 n不学不学:无语:无语n勤学勤学:刻苦用功:刻苦用功n好学好学:深知学习意义:深知学习意义n乐学乐学:学习是一种乐趣,乐趣就在:学习是一种乐趣,乐趣就在学习之中学习之中学习形态的形成n无论是哪一种学习形态,人都不是天无论是哪一种学习形态,人都不是天生就那样的。人需要经过后天的训练,生就那样的。人需要经过后天的训练,可能还是艰苦的训练才能适应。学习可能还是艰苦的训练才能适应。学习C C,勤学勤学能让你过关(及格);能让你过关(及格);好学好学能让你能让你中或良,中或良,乐学乐学则可以让你优,甚至可以则可以让
11、你优,甚至可以成为专家!成为专家!某大学生学习C的经验n n某大学生在大一时,整整一年的艰苦学习只某大学生在大一时,整整一年的艰苦学习只是使得是使得C C勉强过关勉强过关,但是在大三时对,但是在大三时对C C来了兴来了兴趣,在不到三个月的时间内,基本上是每天趣,在不到三个月的时间内,基本上是每天攻读八小时攻读八小时VCVC,包括看书和上机。那时他觉,包括看书和上机。那时他觉得精力充沛,得精力充沛,兴趣昂然,兴趣昂然,兴趣昂然,兴趣昂然,受的起没完没了的受的起没完没了的失败和痛苦失败和痛苦,终于在某一天入门了。接下来,终于在某一天入门了。接下来的努力,使他编写出了很多许多高质量的程的努力,使他编
12、写出了很多许多高质量的程序。在此之前,编写这样的程序是无法想象序。在此之前,编写这样的程序是无法想象的。的。学习学习C C容易产生的一些问题容易产生的一些问题n有些人勤奋有些人勤奋n有些人懒惰有些人懒惰n有些人浮躁有些人浮躁n有些人始终搞不清楚有些人始终搞不清楚C Cn有些人在讨论到底学习什么计算机语言有些人在讨论到底学习什么计算机语言好。好。n我们来看下面的一些对我们来看下面的一些对C C的讨论吧。的讨论吧。1 1 1 1、不要被、不要被、不要被、不要被VCVCVCVC、BCBCBCBC、MCMCMCMC、TCTCTCTC等词汇所迷惑等词汇所迷惑等词汇所迷惑等词汇所迷惑它们都它们都它们都它们
13、都是集成开发环境,而我们要学的是一门语言;是集成开发环境,而我们要学的是一门语言;是集成开发环境,而我们要学的是一门语言;是集成开发环境,而我们要学的是一门语言;2 2 2 2、不要放过任何一个看上去很简单的小编程问题、不要放过任何一个看上去很简单的小编程问题、不要放过任何一个看上去很简单的小编程问题、不要放过任何一个看上去很简单的小编程问题他们往往并不那么简单,或者可以引伸出很多知识他们往往并不那么简单,或者可以引伸出很多知识他们往往并不那么简单,或者可以引伸出很多知识他们往往并不那么简单,或者可以引伸出很多知识点;点;点;点;3 3 3 3、浮躁的人容易说、浮躁的人容易说、浮躁的人容易说、
14、浮躁的人容易说:XX:XX:XX:XX语言不行了,应该学语言不行了,应该学语言不行了,应该学语言不行了,应该学YYYYYYYY;是你自己不行了吧!?是你自己不行了吧!?是你自己不行了吧!?是你自己不行了吧!?4 4 4 4、浮躁的人容易问、浮躁的人容易问、浮躁的人容易问、浮躁的人容易问:我到底该学什么;我到底该学什么;我到底该学什么;我到底该学什么;别问,学就别问,学就别问,学就别问,学就对了;对了;对了;对了;5 5 5 5、浮躁的人容易问、浮躁的人容易问、浮躁的人容易问、浮躁的人容易问:XX:XX:XX:XX有钱途吗;有钱途吗;有钱途吗;有钱途吗;建议你去抢银行;建议你去抢银行;建议你去抢
15、银行;建议你去抢银行;6 6、浮躁的人容易说、浮躁的人容易说:我要中文版!我英文不我要中文版!我英文不行!行!不行?学呀!不行?学呀!7 7、浮躁的人容易问、浮躁的人容易问:XX:XX和和YYYY哪个好;哪个好;告告诉你吧,都好诉你吧,都好只要你学就行;只要你学就行;8 8、浮躁的人分两种、浮躁的人分两种:a):a)只观望而不学的人;只观望而不学的人;b)b)只学而不坚持的人;只学而不坚持的人;9 9、把时髦的技术挂在嘴边,还不如把过时的、把时髦的技术挂在嘴边,还不如把过时的技术记在心里;技术记在心里;1010、学习编程最好的方法之一就是阅读源代码;、学习编程最好的方法之一就是阅读源代码;11
16、11、在任何时刻都不要认为自己手中的书已经足、在任何时刻都不要认为自己手中的书已经足够了;够了;1212、看得懂的书,请仔细看;看不懂的书,请硬、看得懂的书,请仔细看;看不懂的书,请硬着头皮看;着头皮看;1313、别指望看第一遍书就能记住和掌握什么、别指望看第一遍书就能记住和掌握什么请看第二遍、第三遍;请看第二遍、第三遍;1414、和别人一起讨论有意义的、和别人一起讨论有意义的C C知识点,而不是争知识点,而不是争吵吵XXXX行不行或者行不行或者YYYY与与ZZZZ哪个好;哪个好;编程的秘诀1 1、学习编程的秘诀是、学习编程的秘诀是:编程,编程,再编程;编程,编程,再编程;2 2、请把书上的程
17、序例子亲手输入到电脑上实践,、请把书上的程序例子亲手输入到电脑上实践,即使配套光盘中有源代码;即使配套光盘中有源代码;3 3、把在书中看到的有意义的例子扩充;、把在书中看到的有意义的例子扩充;4 4、经常回顾自己以前写过的程序,并尝试重写,、经常回顾自己以前写过的程序,并尝试重写,把自己学到的新知识运用进去;把自己学到的新知识运用进去;5 5、不要漏掉书中任何一个练习题、不要漏掉书中任何一个练习题请全部做请全部做完并记录下解题思路;完并记录下解题思路;学习C的技术层面n当你已经解除了浮躁心理,已经了解当你已经解除了浮躁心理,已经了解C C的的特点了,当你已经决心要学好特点了,当你已经决心要学好
18、C C了,了,一句一句话,你已经解决了主观问题了,我们话,你已经解决了主观问题了,我们就就可以开始讨论学习的技术层面的问题了。可以开始讨论学习的技术层面的问题了。C语言基础部分的重要性n学习任何一门计算机语言,学习任何一门计算机语言,首先都要学首先都要学习其词法和句法。这习其词法和句法。这是学好是学好C C的基础。的基础。n这一部分首先需要的是死记硬背。然后这一部分首先需要的是死记硬背。然后才是理解。才是理解。记住了就是懂!记住了就是懂!nC C的语法贯穿于的语法贯穿于C C的全部内容。的全部内容。nC C大部分的语法都是一种硬性的规定,似大部分的语法都是一种硬性的规定,似乎不是一种连贯性的系
19、列。乎不是一种连贯性的系列。C语言的类型系统n一门语言的最本质的东西就是其一门语言的最本质的东西就是其类型类型系统系统,C C也是如此。任何语言都有自己的也是如此。任何语言都有自己的独特的类型系统,学习独特的类型系统,学习C C的首要任务就是的首要任务就是学习它的类型系统。首先需要彻底明白学习它的类型系统。首先需要彻底明白数据类型数据类型这个概念。这样你的思路就清这个概念。这样你的思路就清楚了,你就从每一种楚了,你就从每一种C C支持的数据类型入支持的数据类型入手学习。手学习。学习C语言终极成果n学习学习C C语言,最终的结果是语言,最终的结果是编制程序编制程序,最,最大的收获是大的收获是思维
20、模式思维模式的转换。的转换。n学习学习C C编程,编程,最重要的都是要掌握其设计最重要的都是要掌握其设计理念和设计思想。理念和设计思想。概念上的东西永远是概念上的东西永远是决定一切的,就像我们在作系统设计时,决定一切的,就像我们在作系统设计时,最重要和最困难的部分总是整体概念设最重要和最困难的部分总是整体概念设计一样,计一样,有了理念上的基础,实现起来有了理念上的基础,实现起来则是水到渠成则是水到渠成。学好C 的技术措施1 1、重视词法重视词法、句法的记忆和理解。要深入理解、句法的记忆和理解。要深入理解C C的数据类型以及使用。的数据类型以及使用。2 2、记忆素材记忆素材。需要记住许多。需要记
21、住许多经典的程序段经典的程序段,例,例如选择排序或者改良了的选择排序。这些是如选择排序或者改良了的选择排序。这些是你编程的你编程的基本素材基本素材。为此,你需要阅学习并。为此,你需要阅学习并记忆大量的程序代码。学习是要用脑子来进记忆大量的程序代码。学习是要用脑子来进行的,而不仅仅是用眼睛。要想记住这些程行的,而不仅仅是用眼睛。要想记住这些程序段,靠序段,靠死记硬背死记硬背用处是不大的。只有在用处是不大的。只有在强强制思维制思维的基础上才能记住。的基础上才能记住。3 3、善于模仿善于模仿。对于一个要编程的问题,首先你。对于一个要编程的问题,首先你可以从你所记忆的素材中搜索,找到与此问可以从你所记
22、忆的素材中搜索,找到与此问题类似的素材,题类似的素材,并加以改造以适应该问题并加以改造以适应该问题。4 4、灵感和创新灵感和创新。并不是所有的编程问题都有素。并不是所有的编程问题都有素材储备的。此时要靠我们的灵感了。在很多材储备的。此时要靠我们的灵感了。在很多时候都过于依赖灵感,特别是在创新的时候。时候都过于依赖灵感,特别是在创新的时候。我们在书本上或者网页中游走,我们在书本上或者网页中游走,看着方方面看着方方面面的文章,哪儿能够碰撞出火花,就在哪儿面的文章,哪儿能够碰撞出火花,就在哪儿更新。更新。没有灵感也不意味着就可以放松。人没有灵感也不意味着就可以放松。人更多的时候是靠积累,厚积薄发,为
23、突破做更多的时候是靠积累,厚积薄发,为突破做准备。准备。5 5、在上课前请认真、在上课前请认真预习预习C C,没有预习你不,没有预习你不要指望能学好要指望能学好C C。6 6、课堂要、课堂要认真听课认真听课,不能看书或做别的。,不能看书或做别的。因为听老师的讲解是因为听老师的讲解是任何其他学习方式任何其他学习方式所不能代替所不能代替的。的。7 7、课后的作业如何完成非常重要。要在、课后的作业如何完成非常重要。要在弄懂的基础上写作业。弄懂的基础上写作业。如需学习他人的如需学习他人的作业,作业,则必须遵循则必须遵循“看时不写,写时不看时不写,写时不看看”的准则。的准则。8 8、实验实验是学习是学习
24、C C至关重要的一个环节。实验的目至关重要的一个环节。实验的目的一是调试自己编写的程序,二是通过设计程序的一是调试自己编写的程序,二是通过设计程序段或修改一个程序段,来深入理解(了解)段或修改一个程序段,来深入理解(了解)C C语法(或算法)的特征和规律。语法(或算法)的特征和规律。严格实验步骤严格实验步骤可以让人得到极大的收获。严格的可以让人得到极大的收获。严格的实验步骤指的是:实验步骤指的是:实验(编程)的第一步就是实验(编程)的第一步就是全面正确理解题目;全面正确理解题目;在理解题目的基础上写出在理解题目的基础上写出程序草稿;程序草稿;在电脑上调试编写好的程序草稿,在电脑上调试编写好的程
25、序草稿,找出错误(或改进算法),使得程序能够完成预找出错误(或改进算法),使得程序能够完成预期的工作;期的工作;对实验的过程和结果进行小结,提对实验的过程和结果进行小结,提炼出本次实验的收获。炼出本次实验的收获。9 9、周期性进行自我总结周期性进行自我总结,做做笔记,很,做做笔记,很多明白的知识长时间不用也会忘记的。多明白的知识长时间不用也会忘记的。1010、请对自己有个学习的方向性,注意、请对自己有个学习的方向性,注意自自己的开发编程思想己的开发编程思想1111、请、请不断和别人进行交流不断和别人进行交流,封闭的人是,封闭的人是容易落后的。容易落后的。一般性的学习方法一般性的学习方法 1 1
26、 1 1、树状结构、树状结构、树状结构、树状结构。最初,树状结构从大轮廓理顺。这最初,树状结构从大轮廓理顺。这最初,树状结构从大轮廓理顺。这最初,树状结构从大轮廓理顺。这可以看书的目录。可以看书的目录。可以看书的目录。可以看书的目录。2 2 2 2、网状联系、网状联系、网状联系、网状联系。在学习的时候,应该有这种观念:。在学习的时候,应该有这种观念:。在学习的时候,应该有这种观念:。在学习的时候,应该有这种观念:任何学习的内容,都是相互联系,相互作用的。任何学习的内容,都是相互联系,相互作用的。任何学习的内容,都是相互联系,相互作用的。任何学习的内容,都是相互联系,相互作用的。而任何出题都不过
27、是这些关系的形式转化(变形)而任何出题都不过是这些关系的形式转化(变形)而任何出题都不过是这些关系的形式转化(变形)而任何出题都不过是这些关系的形式转化(变形)、叠加而已。、叠加而已。、叠加而已。、叠加而已。3 3 3 3、由点及面、由点及面、由点及面、由点及面。由于各部分间存在着联系,由每一。由于各部分间存在着联系,由每一。由于各部分间存在着联系,由每一。由于各部分间存在着联系,由每一个部分都可以拉起树状结构。每一个部分都可以个部分都可以拉起树状结构。每一个部分都可以个部分都可以拉起树状结构。每一个部分都可以个部分都可以拉起树状结构。每一个部分都可以是中心,都可以是基础,都可以充分有效地发散是中心,都可以是基础,都可以充分有效地发散是中心,都可以是基础,都可以充分有效地发散是中心,都可以是基础,都可以充分有效地发散开。开。开。开。