C语言学习心得及报告
- 格式:doc
- 大小:37.50 KB
- 文档页数:10
c语言学习心得体会一:c语言学习心得体会c语言作为一种计算机的语言,我们学习它,有助于我们更好的了解计算机,与计算机进行交流,因此,c语言的学习对我们尤其重要。
在这个星期里,我们专业的学生在专业老师的带领下进行了c语言程序实践学习。
在这之前,我们已经对c语言这门课程学习了一个学期,对其有了一定的了解,但是也仅仅是停留在了解的范围,对里面的好多东西还是很陌生,的在运用起来的时候还是感到很棘手,毕竟,万事开头难嘛。
由于时间的关系,我们的这次实践课程老师并没有给我们详细的介绍,只是给我们简单的介绍了几个比较重要的实际操作。
包括了程序模块处理。
简单界面程序。
高级界面程序。
程序的添加修改。
用程序做一元线性回归处理以及用c语言程序来画粒度分布图等这几样比较重要的时间操作。
上机实验是学习程序设计语言必不可少的实践环节,特别是c语言灵活、简洁,更需要通过编程的实践来真正掌握它。
对于程序设计语言的学习目的,可以概括为学习语法规定、掌握程序设计方法、提高程序开发能力,这些都必须通过充分的实际上机操作才能完成。
c语言学习心得体会二:c语言学习心得体会(1116字)c语言是在国内外广泛使用的一种计算机语言。
其语言功能丰富、表达能力强、使用灵活方便、既具有高级语言的优点,又具有低级语言的许多特点,适合编写系统软件。
其功能强大,不仅用在计算机上广泛用在电子,机械等方面上,而且,所有的windows,unix,linux,mac,os/2,无一例外,哪一个不是c语言写的?很多新型的语言如,c++,java,c#,j#,perl... 都是衍生自c语言。
掌握了c语言,可以说你就掌握了很多门语言。
学习c程序这门课一年了,这是我们学的第一门专业课,在大学里c语言不但是计算机专业的必修课程而且也是非计算机专业学习计算机基础的一门必修课程。
所以作为我这个计算机专业的学生来说当然十分重要,老师在第一节课说过,c语言是计算机的基础,大多数软件都需要用c语言来编写,通过一个年的学习,使我由初步掌握简单的应试知识到完成高难度的深入编程,如我们在编写一个较大的程序时应该把它分开成几个小程序来看,这样会容易得多。
c语言实习心得体会范文在C语言实习期间,我深深感受到了理论知识与实践应用之间的差距,也感受到了自己在C语言编程方面的不足之处。
通过这段实习经历,我不仅学到了许多新的知识和技能,还培养了自己的动手实践能力和解决问题的能力。
<br>首先,在实习期间,我了解到了C语言的基础知识,包括变量、常量、运算符、数据类型等。
这些基础知识是我进一步学习和应用C语言的基础,也为后面的实践提供了基础。
同时,我也学习了C 语言的控制结构,包括顺序结构、选择结构和循环结构等。
这些结构的运用使我的程序更加灵活和高效,也使我在实践中能够更好地解决问题。
其次,在实习中,我学会了使用C语言进行程序的设计和编写。
通过实际动手编写程序,我不仅加深了对C语言的理解,还提高了我的编程能力。
在编程过程中,我学会了使用不同的函数和语句来实现不同的功能,包括输入输出、算术运算、条件判断、循环控制等。
这些功能的运用使我的程序更加完善和实用,也使我在实践中能够更好地解决问题。
在实习期间,我遇到了许多难题和困惑,但通过与同事和老师的探讨和交流,我逐渐找到了解决问题的方法和思路。
在与他们的交流中,我了解到了许多实践经验和技巧,也学到了许多新的知识和技能。
通过这次实习,我更加深入地了解了C语言的应用和发展,也提高了自己的实践能力和解决问题的能力。
最后,在实习期间,我养成了良好的编程习惯和工作态度。
在编程过程中,我注重代码的规范和格式,力求使代码易读易懂,并进行了详尽的注释。
同时,我也注重团队合作,在与同事和老师合作的过程中,我积极互助,共同解决问题。
在实践中,我学会了合理安排时间和资源,提高自己的工作效率。
通过这次C语言实习,我不仅学到了许多新的知识和技能,还提高了自己的实践能力和解决问题的能力。
在今后的学习和工作中,我将继续努力学习和应用C语言,在实践中不断提高自己的编程能力和解决问题的能力。
我相信,通过不断学习和努力,我将会在C语言编程方面取得更好的成绩。
C语言心得体会C语言心得体会(精选19篇)C语言心得体会篇1课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程。
随着科学技术发展的日新日异,单片机已经成为当今计算机应用中空前活跃的领域,在生活中可以说得是无处不在。
因此作为二十一世纪的大学来说掌握单片机的开发技术是十分重要的。
回顾起此次单片机课程设计,至今我仍感慨颇多,的确,从选题到定稿,从理论到实践,在整整两星期的日子里,可以说得是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。
通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。
在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,比如说三极管PNP管脚不懂怎么放置,不懂分得二极管的正负极,对单片机汇编语言掌握得不好……通过这次课程设计之后,一定把以前所学过的知识重新温故。
这次课程设计终于顺利完成了,在设计中遇到了很多编程问题,最后在梁强老师的辛勤指导下,终于游逆而解。
同时,在梁强老师的身上我学得到很多实用的知识,在次我表示感谢!同时,对给过我帮助的所有同学和各位指导老师再次表示忠心的感谢!C语言心得体会篇2在朗沃学习已经差不多一个月了,今天是学C语言的最后一天。
在学习C语言的过程中感觉比较轻松,可能是因为以前接触过C语言,再加上只学了C语言的基础吧,也有了一些学习C语言的心得。
学习C语言的起步就是学习它的方法规则,如果把它学习得好在学习后面的时候就比较容易理。
比如变量,首先要了解变量的定义方式(格式),其意义是什么(定义变量有什么用);其次就是要我要怎么去运用它(我要用什么型式去应用它)。
c语言心得体会与收获(精选8篇)c语言心得体会与收获(精选8篇)c语言心得体会与收获要怎么写,才更标准规范?根据多年的文秘写作经验,参考优秀的c语言心得体会与收获样本能让你事半功倍,下面分享【c语言心得体会与收获(精选8篇)】,供你选择借鉴。
c语言心得体会与收获篇1一周的C语言实训,虽然时间略显仓促,但却让我学到了很多实际运用的技能!一、心得与感想首先,在实训中的第一步是编写功能较为单一的小程序,虽然是小程序,但所用的知识却都是我们本学期学习的重点知识。
在做题的过程中让我们把这些知识复习了一遍,强化了知识!其次,这次作中所碰到的题目,在实训中已经接触过,所我们都比较深知这些题目的要求和算法,因次在编写小程序时比较快,而且算法也是比较简化,运算准确。
鉴次我明白很多编程题要经过多次编写修改与调试,才会得到最简略的算法。
再次,平时我们学C语言视乎都是为了考试或者做一些比较常规的题目,而这次实训却给我们的将所学知识运用于解决实际问题的机会,让人更有激情,这就是编写软件的在雏形,也让我们感受到了编写软件程序的乐趣。
但是不仅仅是如此,更为重要的是在运用所学知识的过程中,记住这些知识,并能够广泛的运用!c语言虽然我这次是编写一个菜单的程序,但是如果我么留心的话,我们身边有许多电子设备都是内置有程序的,我们也可以在此次专题实训过后,自行确定其他的专题进行编写程序,这样可以让我们的知识更加深化丰富!这次实训似乎是对我巨大的考验,程序在不慌不忙的进行着,按照我自身的进度,提前完成是没有问题的,但是很多客观条件让我不得不在最后的时间里才上交的作业。
每当我把程序写完以后,却由于每一台电脑的识别格式不一样而导致我所写的文件一次次的被损坏,尽管这样,我仍然没有放弃,最后还赶在截止时间到来之前上交了我的作业!这一次编写大作业的程序又让我感受到学程序可以锻炼缜密的思维了。
因为平时练习的都是小程序,所以句段比较少,一些错误都很容易被检查出来,但是这次实训却是上百段的语句,难以检查,似乎也没有经验去怎么检查,那一刹那感觉到很急,但又不知如何是好,可是又不轻易的向老师询问,因为好像蛮简单,相信自己能够检查出来,所以我一般都是独立思考的完成的,只有少部分是在老师和与同学讨论下完成的。
c语言学习心得(优秀10篇)(经典版)编制人:__________________审核人:__________________审批人:__________________编制单位:__________________编制时间:____年____月____日序言下载提示:该文档是本店铺精心编制而成的,希望大家下载后,能够帮助大家解决实际问题。
文档下载后可定制修改,请根据实际需要进行调整和使用,谢谢!并且,本店铺为大家提供各种类型的经典范文,如总结报告、心得体会、策划方案、合同协议、条据文书、竞聘演讲、心得体会、教学资料、作文大全、其他范文等等,想了解不同范文格式和写法,敬请关注!Download tips: This document is carefully compiled by this editor. I hope that after you download it, it can help you solve practical problems. The document can be customized and modified after downloading, please adjust and use it according to actual needs, thank you!Moreover, our store provides various types of classic sample essays, such as summary reports, insights, planning plans, contract agreements, documentary evidence, competitive speeches, insights, teaching materials, complete essays, and other sample essays. If you want to learn about different sample formats and writing methods, please stay tuned!c语言学习心得(优秀10篇)当我们受到启发,对学习和工作生活有了新的看法时,可以通过写心得体会的方式将其记录下来,从而不断地丰富我们的思想。
c语言学习心得体会6篇C语言学习的心得体会篇一看了一段时间的《C和指针》,这样看的效果不是很好,看着书本当时是懂了,有点恍然大悟的感觉,但是发现并不能真正的把理解的内容加入到自己程序当中,不能很好的去运用它,所以对于C语言我认为理论加实践,是学习C语言的最好方法,看书并不能完全理解书中的内容,也较容易遗忘,学习效率比较低,所以现在学习《数据结构》,在看书的同时,会在MicrosoftVisualC++6.0软件上实践,严蔚敏写的《数据结构》这本书,比较经典但是这本书是伪算法,并不能直接在计算机上运行,对于初学者上机实践比较困难,另外说一下,我认为学习应该是在模仿中理解,在模仿中创新,所以我选择结合高一凡写的书《数据结构算法实现及解析》,这本书严蔚敏写的伪算法全部用程序实现了,给我上机实践提供了很大的帮助,貌似说到数据结构了,呵呵,回到正题,下面继续说说C语言。
指针是C语言的精华,也是C语言的难点,它就像一把双刃剑,锋利无比但运用的不好也会给自己带来危害,后果比较严重,所以重点来说说指针。
很多初学者弄不清指针和数组到底有什么样的关系,为避免混淆不清,下面总结一下指针和数组的特性。
指针是保存数据的地址,任何存入指针变量的数据都会被当作地址来处理,指针变量本身的地址由编译器另外存储,存储在哪里,我们并不知道,间接访问数据,首先取得指针变量的内容,把它作为地址,然后从这个地址读或写入数据。
C语言学习的心得体会篇二通过一学期对C语言的学习,我感觉学习C语言是有一定难度却又是非常有趣的科目。
也是很有帮助的,特别是对将要面对的计算机二级考试。
这段时间的'学习我知道了C语言的基本特点有以下几点:1.语言简洁,使用灵活方便。
2.运算符丰富,表达能力强。
3.数计类型丰富。
4.目标程序质量高,具有面向硬件系统的特点。
5.具有结构化的控制语句和模块化的程序结构。
6.具有编译预处理功能。
7.程序设计自由度大,可移植性好。
c语言学习心得体会c语言学习心得体会6篇当我们对人生或者事物有了新的思考时,可用写心得体会的方式将其记录下来,这么做可以让我们不断思考不断进步。
那么你知道心得体会如何写吗?下面是小编帮大家整理的c语言学习心得体会,欢迎大家分享。
c语言学习心得体会1林林总总的计算机语言,林林总总的计算机技术,林林总总的计算机书籍让我们初入计算机的菜鸟一次就吓的没有勇气。
迷茫和徘徊让我们丧失了时间和信心。
没有诀窍吗?有的,看你怎么把握了,接下来我就以C语言为例子,讲一下有关学习的方法和技巧,同时也分享一下我学C的感想。
许多人第一次接触C语言都会觉得C语言难懂和不容易使用,其实就我个人的看法,C语言其实是很基础的汇编语言,除了一些必须要记忆的关键字、语法和库函数,其余的都是需要靠自己的逻辑思维通过这些关键字、语法和库函数来组织或构成一个完整的函数,所以C语言大多数的学习时间都是在锻炼我们的抽象逻辑思维能力。
只有当你具有了抽象逻辑思维能力和弄清楚了关键字、语法和库函数的相关知识后,编写C语言就不是难事了。
通过C语言初步的学习后都很容易弄懂关键字、语法和库函数的相关知识,但是由于大部分人因为以前没有接触过电脑或电脑语言的相关知识所以缺乏抽象逻辑思维能力,不知道如何将所学到C语言的知识如何组织和构成一个完整的函数,那么如何来有效的锻炼自己的抽象逻辑思维能力呢?在这里是我个人的一套自学心得,通过学习后所掌握的知识使用上课老师所提到的案例或找一段简单的完整的案例,然后将案例读懂,也就是把它转换成我们日常所能接受的自然语言(在这里不妨把你所能理解的自然语言写下来)。
例如下面这段代码是手工输入两个整数数字并计算两个数字之间从最小的数字开始到最大的数结束其中所有奇数相加的和:void main{首先INT是表示整数形数据的定义,那么接下来有两个未知的整数和一个已知的整数0;这里出现的3个整数数字用C语言里的变量来替代它们,这时第一个数字就用取名为NUM1的变量,第二个数字就用取名为NUM2的变量,第三个数字就用取名为X的变量并且用赋值符号来为它赋予0这个值。
c语言学习心得体会(精选10篇)c语言学习篇1C语言是一种结构化语言,是大部分编程语言的基础,C语言学好了,以后的JAVA,C#以及更多的编程语言才有可能学好。
下面就跟南宁达内小编一起,要学好C语言必须了解的四点:1、课前认真预习,把下一节要上的内容先自己看一遍,把不懂的地方打个标记,等上课的时候可以请教老师。
理解书上的例子,搞懂每个语句的含义,用法。
看完后尝试着不看例子自己编写程序,编完以后再跟书上进行比较,看自己的程序还有哪方面的不足,再进行改正。
想要真正学好C语言光看书是不够的,一定要自己多动手。
2、上课认真听讲积极思考,提高上课效率。
老师上课讲述的都是课程的重点和难点,听好课程可以达到"事半功倍"的目的。
3、课后复习。
把每天的上课内容回家再温习一遍,独立完成课后的作业,如果有时间,最好能找点课外书籍、课外习题什么的来巩固所学的内容。
4、主动上机,多多实践,提高动手能力。
通过上机实践来验证所学的理论,通过在机器上查找错误来巩固概念,通过提高上机能力来促进理论学习,开阔编程思路,提高反映速度,提高分析问题解决问题的能力,锻炼心理素质,提高心理承受能力。
学习C语言的初期重点要放在掌握语言的语法和规定上,一定要养成良好的编程习惯,平时写程序注意语法规范格式控制,格式规范了,出了错误也容易找到出错的地方,这是C语言的基础;后期的重点要转移到掌握编程的思路和基本算法上来。
课后多做习题,找一些经典例子尝试自己编写,写程序切忌半途而费,想到一个思路,就要按自己思路把它写完,就算错了,也可以让自己了解为什么这样做会错?错在哪里?会出什么结果?以后自己也很难在这个地方犯同样的错误。
当学到一个新的知识点,就试着把它运用到以前做的习题上,不但巩固了以前学的内容,也更加能加强新知识的理解。
学习C语言就是要经过以上这样几个反复,才能前后融会贯通,积累所应该掌握的知识。
C语言是这样,其他语言也是这样,从基本抓起,多动手,多动脑,不懂就问,注意平时积累。
c语言实习心得体会作为一个计算机科学与技术专业的学生,我在大学期间选择了参加一次C语言实习。
通过这次实习,我深刻地体会到了学习和应用C 语言的重要性,提高了自己的编程能力,同时也增加了对计算机底层原理的理解。
在这篇文章中,我将分享我在C语言实习中的体会和心得。
实习的第一天,我们首先进行了一些关于C语言的基础知识的学习。
这些基础知识包括了C语言的语法规则、数据类型、运算符、流程控制等。
通过这些学习,我对于C语言的基本语法和使用有了一个较全面的了解。
同时,老师也教给了我们如何使用C语言进行简单的程序设计,如如何编写一个求和的程序、如何编写一个判断素数的程序等。
这些小程序的编写对于我们理解C语言的逻辑以及动手能力的提升非常有帮助。
在实习过程中,我们还学习了C语言的高级特性,如指针、结构体和动态内存分配等。
指针作为C语言非常重要的一个概念,掌握了指针的使用,我们可以更加灵活地操作内存,提高程序的效率。
在学习指针的过程中,我意识到了指针的重要性和使用的灵活性,通过运用指针,我们可以更好地解决一些问题,并且提高程序的性能。
而学习结构体的过程中,我对于数据的组织和管理有了更深入的理解,这对于将来的工作和学习中都是非常有帮助的。
在实习过程中,我们还学习了C语言的文件操作和输入输出。
文件操作是C语言非常常用的一个功能,通过文件操作,我们可以读取和保存数据,实现数据的长期存储和传输。
在学习文件操作时,我意识到了数据的重要性和安全性。
在实际的应用中,我们经常需要将数据存储到文件中,通过文件操作,我们可以实现数据的读取和保存。
而对于输入输出的学习,提高了我们程序的灵活性和可扩展性。
在以后的编程工作中,我相信这些知识会发挥非常重要的作用。
除了上述的基础知识学习,我们在实习过程中还进行了一些实际的编程练习和项目开发。
这些练习和项目开发对于我们提高编程能力和实践能力非常有帮助。
通过实际的编程练习,我们可以将之前学习的知识运用到实际的项目中,更好地理解和掌握这些知识。
c语言心得体会4篇通过c语言实训,让我加深了对c语言的了解,而不只是单单的在课本中学到的那些理论,平时乏味的课程,通过自己动手亲自编写,变的生动有趣,而在自己动手的过程中,出现的问题很多,比理论要难的多,当一个程序写完以后,经常会有很多错误而没法解决。
不过,通过几天的实训,逐渐积攒了一些经验,有些错误可以很快就看出来。
这次实训有很大的收获,让我对c语言有了更深的认识,平时在课堂上学到的东西可以自己动手编写,将其转化成一些实用的技能。
如果是一个程序写完一处错误也没有,会有种成就感,于是兴趣就来了,兴趣来了,自然学的东西也就多了,能把理论变成实际的技能,让我对c语言有了浓厚的兴趣和更深层的认识。
c语言是一个有序的学习,学了最基本的替换,然后扩展到循环,嵌套,条理很清楚,不是一个零散的知识,实际上所有的课程都如此,不过通过实训我也知道了自己的不足,存在的很多问题。
比如自己写的写的小程序出了问题,不会解决了就叫老师帮忙,虽然说一定意义上增加了师生之间的感情,但是会养成一种依赖的心理,碰到问题了第一个想到的是求助而不是自己独立解决,所以以后要多多锻炼自己的信心和增加自己的能力,争取做到老师不在身边的时候也可以完成一些简单的程序编写与错误排除。
还有自己的基础知识不扎实,遇到的问题,没有很好的逻辑思维,亲自编写一个陌生的程序的时候会有种无法下手的感觉,找不到突破口。
通过实训,逐渐理清了顺序,对于简单的程序和一些相对比较繁琐的嵌套,循环,不在是看着一头雾水。
其实只要理清了思路,把基础知识掌握了,然后有条不紊的分析,一步一步理解,c语言还是很有意思的课程。
自己亲自动手编写程序让我增加了对c语言程序开发环境的了解,在上课的时候老师就讲,学习c语言最重要的是学习c语言的逻辑思维,不管以后从事什么行业,学习c语言都对自己的职业很有帮助,如果是从事编程工程工作的话,就更有帮助了,即使以后的编程工作可能不用c语言,但是拥有扎实的c语言基础是对工作很有用的。
如何学习C语言学校:西安航空学院系别:电气系班级:过控1409姓名:兰敏学号:*************前言两个原因促使我写下这篇文章,第一就是作为过来人根据我自己的经验我知道编程的初学者一般都很兴奋也都有种困惑,一方面对运行在计算机(注:不特别指明都指个人微型计算机)的五花八门如精彩的游戏程序,多姿多彩的网站等等漂亮的视窗程序所着迷,另一方面大部分的初学者(如计算机专业的低年级学生)都是从简单命令行程序“Hello world!”开始入手而且很长一段时间都无法接触到日常经常使用的视窗程序,由此好奇者有之,迷惑者有之等等,更遗憾的是也有少部分人因为困惑对编程逐渐失去兴趣。
第二就是今天妹妹看C程序设计语言的人读碰到一个例题没有看懂,而作为计算机专业毕业的老哥自然义不容辞地承担起了讲解的任务,在噼里啪啦的大说之后,老妹终于弄懂了例题程序的意思,但仍然不过瘾,竟然问起我如何学好C语言,弄得我心一惊,这里我还是有点自知之明的,因为我知道我并不是什么大师,甚至自己对计算机世界也经常是一片茫然,不过看着她那“崇拜”的眼神,不说点什么似乎有点不大好,只好硬着头皮把自己以前的一些理解讲了一番。
所以既然知道有这个需要,尽管自己见识浅薄,也抱着“区区陋见假如能够对后学者能够有所帮助那是再好不过了,即使有所偏颇当当笑话看看能有助于大家饭后生活也是美德一件”的心情就写下了这篇文章。
简介我是很乐意将计算机(程序设计)语言跟人类语言做类比的,在我看来学习程序设计语言就想学习外语一样,通过计算机语言与计算机交流就如同在使用外语与老外交流一样。
通常学习语言比如英语有单词,语法,语义三个部分组成,单词是构成语言的最基本的要素,语法告诉我们单词如何构成语句,语义则告诉我们单词构成的语句的意思,类似的程序设计语言中也是有[1] “单词”,“语法”,“语义”三部分组成,其中跟人类语言一样,“单词”“语法”是基础,而为达到交流的目的“语义”是整个程序设计语言的重点。
当然相对人类语言(以英语为例)而言程序设计语言(以C语言为例)显然要有简单得多的组成,所以这里我们要首先确立自己对学好程序设计语言的信心。
下面试加以说明,其中可能有些类比不太适当,不过好像也差不多吧,你自己也可以试着举出更好的例子以使自己更容易明白,我这里就抛砖引玉吧。
先从“单词”谈起,在英语中就是由26个英文字母以及26个英文字母构成的单词组成,学习语言我们首先应该记忆的就是“单词”,26个英文字母A,B,C,……然后就是令人头痛的英文单词,记忆的过程是痛苦的至少我学英语时最恼火的地方就是反复记忆老是忘记的单词,类似的在C语言中我们可以作这样的类比,C语言的单词是由26个英文字母、数字(0,1,2……9)、运算符以及其他特殊符号组成,所以相比而言学习C语言是多么的幸福。
“语法”,在英语中是如常见构词法、时态、常用句型、特殊用法、固定用法等等(呵呵,不是语言专家如有兴趣可以参考英语语法书籍),仅拿构词法来说动词后面加er就变成名词(work-worker),名词后面加y就变成形容词(wind-windy)等十多种变换还要记忆些特殊变换,复杂且繁琐,假如算上时态、句型等那就更复杂了。
在C语言中也同样也存在有语法,比如标识符、常量、表达式、数据定义、函数定义、变量初始化、语句构成、预处理命令等大致8种语法,如标识符[2]可由字母、数字以及下划线组成,且必须以字母或下划线开头,区分大小写,另外在不同的编译器中字符数目有不同的规定,一般为7个字符。
不过这里有些可能会被忽略的就是书写格式,在C语言中书写格式也是需要被注意的,因为格式也可以当作C语言的语法项目,如语句是以分号‘;’作为结束的标志的而不是以换行作为结束标志,其实英语也有要求比如什么时候该使用句号什么时候该使用逗号等等只不过我们日常要求并不注意,而且也可以看的懂所以不太较真。
总结综上所述我们要学好一门程序设计语言首先就要像学习英语一样先熟记至少要熟悉这门语言的“单词”和“语法”然后才能谈得上使用,俗话说“万丈高楼平地起”,学好C语言的必要前提就是先打下坚实的C语言基础,所以潭先生的书作为一本很好的教材,我建议是不能丢的,而且还要反复看,至少刚开始我学习的时候上机机会不多,就是反复看懂看明白这本书,有些东西该记的还是要记尤其是一些重要的语法比如标识符、数据类型、语句的特点、函数的占式结构,指针的意义等等。
最后始终记住这点在没有实践之前,先打下坚实的理论基础吧,毕竟理论是实践的先行,理论可以更好的指导实践。
即使再低点的要求至少要先熟悉理论吧,毕竟“摸着石头过河”感觉还是盲目以及痛苦的“语义”即语句的意思、含义。
同人类语言一样,程序设计语言最重要的目的还是“交流”,所以写一段没有任何作用的代码就如同说一句没有任何意思的话是没有意义的,在这一点上两者是共同的,至于在其他某些方面两者也有惊人的相似之处,试举一例吧,比如说可以有不同的表达表示同一个意思,如微型计算机同个人计算机就是同一个意思,在C语言中比如要让变量i自增1,可以有i=i+1或者i+=1等等。
不过与人类语言相比,程序设计语言毕竟是与计算机交流,交流对象计算机与人类的不同也决定了程序设计语言与人类语言还是有所区别,甚至可以说是存在巨大的“鸿沟”,这也就是学习程序设计语言的重点。
与人类相区别,计算机最大的不同之处在于没有“自己”的“思维”,没有像人类那样丰富的感情,所以在交流过程中对于人类的跳跃性的思维,对于人类的“幽默”无法理解也没有丝毫的兴趣。
比如说对与同样一句话“Do it”,在不同的场景不同的说话语气,对10个人来说就会有10种不同的回答,有的人可能会认为这是合理的要求,有的人可能会认为这可能是个玩笑而不与理睬,有的人则可能认为语气要求有些过分而感到非常愤怒……,但对所有的计算机来说则是严格执行。
不过也正是由于计算机“机械”“笨着”的可爱而深得人们的喜爱并被广泛使用,因为对我们来说,计算机就像一个忠实的士兵一样在执行我们的命令并且作为指挥者,当然我们希望计算机在合适的时间干切当的事情。
而要达到这个目的,很凑巧有点类似于社会的“权利与义务”法则一样,我们也有自己的义务那就是下达明确而又正确的“命令”。
首先明确,即我们要在与计算机交流时“语义”必须明确,否则计算机将无所适从,因此作为交流工具的程序设计语言的“语义”也必须是能够明确无二义的。
当然程序设计语言的设计者已经注意到这一点,在设计时就回避了这个问题,所以我们——程序设计语言的使用者——程序员也就无须过多关注这点,也就是说使用何种程序设计语言(C,Basic,Pascal等)并不是我们要关注的重点。
其次正确,包括正确的输入以及正确的逻辑。
由于计算机“忠实”得有点“盲目”以至于对事情的对错毫无判断力,就像一把枪一样,在警察手里它就是正义的化身,而在土匪手里就成了恶魔的代言人,因此要时刻记住计算机是没有错的,“错误”掌握在我们自己手里,这也就决定了我们在编程时是不是应该投入更多的精力来纠正我们自己所犯下的错误上面来?除此之外,我们智慧的结晶——程序,在我们的上帝——顾客,在程序的使用者看来就像个黑匣子,他们只管输入哪怕是错误的输入却同样期待能得到正确的结果,而对于上帝我们除了祈祷和期望之外还能有什么选择?因此对于输入的不可预期的程序源数据,我们是不是也应该花更多的时间进行处理呢?先小结下,由于我们在编程时需要对于输入的不可预期的程序源数据以及提高我们自己的逻辑正确性花费更多的时间,因此这也就是我们编程训练所应该关注的重点,而不是关注于何种实际的程序设计语言。
为了加深印象,下面我们举个实际的例子来说明这点。
先看题目要求“输入一行字符串(全字母或空格),统计其中的单词数量,单词之间用空格分开”,应该说这是个简单的题目,有些人可能一看到这个题目很快就给出了自己的答案。
如有些人会想单词是以空格分开的,我们统计其中空格的数量再加上最后一个单词不就是单词的个数吗,因此便很快给出如下答案。
/*Program1*/#include<stdio.h>main(){char string[81];int i,num = 0;char c;gets(string);for(i = 0;(c=string[i])!='\0';i++)if(c == ' ')num++;printf("There are %d words in the line.\n",num+1);}编译运行,然后输入“I am a student”,得出正确答案“There are 4 words in the line.”在输入几个类似的测试用例,都得出正确答案,最后确信无误便自信满满的交出自己的答卷。
应该说正确的输入情况下,这个程序毫无疑问是能够正确运行的,但这种正确性是非常脆弱的,你不能指望用户和你一样聪明并且不犯错误,何况即使是神仙那也有打盹的时候。
假如用户输入“I am a student”,“I am a student”,“I am a student ”……这种情况下,你是不是应该重新修正你的思路呢?现在我这样考虑一个单词应该是字母后面紧接着一个空格或者结束符号,所以重新写下如下程序。
/* Program 2*/#include<stdio.h>main(){char string[81];int i,num = 0;char c;gets(string);for(i = 0;(c = string[i])!='\0';i++)if(c != ' ' &&(string[i+1] ==' '|| string[i+1]== '\0'))num++;printf("There are %d words in the line.\n",num);}运行一遍,发现结果是正确的,单词之间不管你是有几个空格,不管是两个也好,三个也好都能够正确运行,但是回过头来我们看下这个程序是不是还有些可以改进的地方呢?我们再看如下一个程序/* Program 3[3]*/#include<stdio.h>main(){char string[81];int i,num = 0,word = 0;/*word标志位*/char c;gets(string);for(i = 0;(c = string[i])!='\0';i++)if(c == ' ') word = 0;else if(word == 0){word = 1;num++;}printf("There are %d words in the line.\n",num);}输入测试用例也能够完全正确,看看源程序,其中增加了一个标志位便把所有的情况给考虑进去了,相比前一个程序,程序2就是直白的描述了解题的思路,而程序3看起来好像不好理解但似乎更能满足我们作为“天才程序员”的欲望,这也就是编程时使用的一些小技巧。