第一章 编程的基本概念
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一章,编程的基本概念
首先,作为介绍编程的基础章节,第一点要明白的就是什么是编程。
编程,简单来说就是为了让笨笨的计算机理解我们想让他干什么而编写程序(指令)。如果计算机没有了我们为他设定好的程序,那么它连“吃奶”都不懂得是什么回事,它的最初形态是只认识1和0的怪家伙,傻得很~
我们通过编程,教会计算机在什么样的情况下应该如何处理问题,教会他1+1的情况是等于2,我们甚至不用跟他说为什么会这样,因为它不需要理解,它只需要按照我们编写的程序去执行,就可以了。
那么如何可以让计算机按照我们所想的去工作呢?
文中红色部分由小甲鱼提供,在此表示感谢。
1.1计算机语言
如果我们现在去百度搜索一下,什么是计算机语言,网上一定会有很多的答案。但是他们无非是介绍一门语言的作用,语法啊,优缺点等等。但是对于没有编程基础的人来说,这些简直就是天书。下面要先介绍一下什么是计算机语言。
首先,我们抛去“计算机语言”中的前三个字,只剩下“语言”。我相信这个词汇一定很熟悉。什么是语言?语言的作用是什么?
像中文,英文,俄文,日文这些都是语言,几乎每个国家或者地区都有自己的语言。语言是用来沟通的,如果我们都会同一门语言,那么我们的交流与沟通是很方便的。但是如果我们使用不同的语言,沟通的难度可想而知。
那么,在刚开始我提到过,计算机只不过是一个很笨的工具,我们需要告诉计算机怎么样去做。可以让计算机明白人的意思的语言便叫计算机语言。
1.2计算机可以“听”的懂什么语言?
和我们学习英语一样,首先要学习字母,然后学习单词,然后学习词组和句子,最后可以用句子来组成文章。通过一篇完成的文章可以表达出我们的意思,别人也可以看的明白。
计算机也是一样,但是计算机不可能像我们人类一样,计算机不可能学习一下汉语来和我们交流。计算机只能识别由1和0组成的二进制代码,也称为机器语言。也就是说,在计算机语言中,字母就是0和1,单词或者词组,就是0和1的各种组合,句子就是更多的0和1的组合所组成的。在计算机语言中,
句子就是指令,因为我们学习计算机语言就是要告诉计算机应该怎么做。
但是机器语言非常难学,而且很难去维护,比如说00110100010010010110101,这是一个很简单的机器语言指令(尚且不用纠结是什么意思,以及正确性)。现在如果要你去找到这个指令中的一个错误数字,找起来会不会很麻烦,而且,一旦有一点不小心,很有可能就会把正确的改错了。而且这只不过是很简单很简单的一个指令而已,如果要编写一个大型的程序的话,能想像得到多么的麻烦吗?
就像是人类在进步一样,计算机语言也在进步。
由于机器语言难懂,难操作,不易维护。所以我们聪明的人类发明了高级语言。像我们所学的C语言,C++语言,JAVA语言,都属于高级语言。为什么称为这些语言为高级语言呢?因为这些语言更类似于人类的语言,让大家可以更容易的理解这一门语言的语法,学习起来也更容易。比如说,在C语言中,有这样一行代码:
printf("你好");
print在英语单词中是“打印”的意思,虽然单词后面有一个字母“f”(其实是function的意思,后边我们会讲到C语言的重要语法:函数),但是我们依旧可以很容易的猜测到这条语句是让计算机在屏幕上显示“你好”两个字的。
1.3编译器
或许说到这,有人会有疑问,刚才不是说计算机只能识别由0和1组成的机器语言吗?那高级语言计算机不就看不懂吗?
没错的,计算机确实是只能识别由0和1组成的二进制语言。但是工具是死的,人是活的。为了避免大家去学习晦涩难懂的机器语言,我们的计算机科学家在发明高级语言的同时,也开发出了编译器(编译器的主要作用是将高级语言降级为机器语言,让计算机可以很好的理解并执行)。这也许又是一个生疏的词汇。还是先举个例子来说吧!
作为一个来自中国的鱼油,我熟悉汉语,我可以很流利的用普通话和别的中国人交流。听说俄罗斯的女孩都是白富美,安奈不住我终于决定要去俄罗斯旅游。那么面前就摆着一个很大的问题,那么就是沟通问题。俄罗斯的女孩听不懂我说话,我也听不懂她说话。就是现在学俄语也来不及,再说我为了去趟俄罗斯也不至于去学会一门语言。很好的一个办法,就是找我懂俄语的同学一起去,来当我的翻译。这样一来,我同学可以把俄语翻译成汉语,把我说的汉语翻译成俄语。
在上面所说的例子当中,我是一个高级语言的使用者,就像是我会中文。但是计算机是听不懂的,就像是俄罗斯人是听不懂中文的。这时候就要有一个工具,能自动的把高级语言翻译成机器语言,让计算机可以识别,就像是我的那个懂俄语的同学,他既懂中文也懂俄文。
其实说到这,我想你应该明白了,编译器便是我那个同学,它可以把我所写下的高级语言翻译成计算机可以懂的机器语言。但是并不是所有的高级语言都可以使用同一款编译器的,不同的高级语言之间有着很大的差异,所以,不同的语言需要有不同的编译器。就比如下次,我去法国旅游,那我肯定就不带会俄语的同学了,我肯定去找找有没有学法语的同学。
1.4对于程序的理解
以上说了这么多关于计算机语言的概念,那么我们学习计算机语言就是为了写出程序,那么标准的关于程序的定义是什么呢?
官方解释:程序是为实现特定目标或解决特定问题而用计算机语言编写的指令的集合。
就好比如说我们常用的word文字处理软件,我们可以在word里面输入文字,word提供了很多的功能,比如把字体加粗,改变大小,改变颜色,等等。这些都是word的开发者在编写程序的时候告诉计算机,如果用户点击了一下字体加粗按钮,应该执行什么样的指令实现,如果点下改变大小按钮,又需要执行什么样的指令来实现。
那么我们现在就可以理解一下程序的具体定义了。
比如说,我在我们学校的图书馆借了几本书,这几天,到了该还书的日子,但是我现在在外地了,不能回去。那么我就可以给我宿舍的舍友打一个电话,让他在我书桌上找到这几本书,拿我的校园一卡通到学校的图书馆里把我借的书还了。那么我和我的同学应该怎么做呢?首先,我要打电话给我同学,告诉我同学我的书要还了,但是我不在学校,希望同学帮忙还一下。第二步:在我挂电话之后,他首先要在我的书桌上找到我借的几本书,如果找不到,他还要给我打电话,问我书的具体位置在哪。第三步:找到我的校园一卡通,找不到还是要给我打电话。第四步:当书和我的校园一卡通都找到之后,便可以走到图书馆把书还掉。其实这就是一个程序,一个为了达到某个目的过程。每一步都要完成,最后才能达到我想要还书的目的,如果少了一步,这整个过程都无法正确的完成。
在计算机中的程序也是这样的,我们要用我们学会的计算机语言,来告诉计算机如何执行我们想要的过程。但是计算机是很严谨的,我们必须要把这些要告诉计算机的指令写的很清楚,很完整,组成一个完整的程序,才能让计算机去执行。如果我们写的计算机指令少了一句,或者少了一个步骤,那么计算机就不可能完成我们想要的功能。
我们先总结一下。
程序是按照我们的想法通过编程语言编写出来的。而我们编写程序的最终目