第一章,编程的基本概念
首先,作为介绍编程的基础章节,第一点要明白的就是什么是编程。
我们通过编程,教会计算机在什么样的情况下应该如何处理问题,教会他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的开发者在编写程序的时候告诉计算机,如果用户点击了一下字体加粗按钮,应该执行什么样的指令实现,如果点下改变大小按钮,又需要执行什么样的指令来实现。
那么我们现在就可以理解一下程序的具体定义了。
比如说,我在我们学校的图书馆借了几本书,这几天,到了该还书的日子,但是我现在在外地了,不
能回去。那么我就可以给我宿舍的舍友打一个电话,让他在我书桌上到这几本书,拿我的校园一卡通到学校的图书馆里把我借的书还了。那么我和我的同学应该怎么做呢?首先,我要打电话给我同学,告诉我同学我的书要还了,但是我不在学校,希望同学帮忙还一下。第二步:在我挂电话之后,他首先要在我的书桌上到我借的几本书,如果不到,他还要给我打电话,问我书的具体位置在哪。第三步:到我的校园一卡通,不到还是要给我打电话。第四步:当书和我的校园一卡通都到之后,便可以走到图书馆把书还掉。其实这就是一个程序,一个为了达到某个目的过程。每一步都要完成,最后才能达到我想要还书的目的,如果少了一步,这整个过程都无法正确的完成。
在计算机中的程序也是这样的,我们要用我们学会的计算机语言,来告诉计算机如何执行我们想要的过程。但是计算机是很严谨的,我们必须要把这些要告诉计算机的指令写的很清楚,很完整,组成一个完整的程序,才能让计算机去执行。如果我们写的计算机指令少了一句,或者少了一个步骤,那么计算机就不可能完成我们想要的功能。
我们先总结一下。
程序是按照我们的想法通过编程语言编写出来的。而我们编写程序的最终目
的,就是为了让计算机可以明白我们的意思并且按照我们所想的去执行任务。
那么,编写程序来告诉计算机怎么做,我们就要去学会一门计算机语言,因为这样计算机才可以明白我们的意思。但是我们所学的语言一般都是高级语言,计算机只能识别由0和1组成的机器语言,在高级语言和机器语言之间,需要一个翻译官,来把我们说的高级语言翻译成计算机能懂的机器语言,这就是编译器的作用。
1.5应该具备的文化基础
其实这个问题也是初学者编程时候常常会问的一个问题。有些人也会去网上查一查,但是经常会发现,网上的说法都不一样。有些人说需要数学和英语好就行,有些人说只要逻辑思维好就行,也有人说,学习一门计算机语言用于编程是不需要什么基础的。
计算机编程作为一门技术,基础是一定要的。那么现在就是要告诉你,在初次接触编程之前,我们应该具备什么样的文化基础。
没错,如果要想编写出高质量的程序,是离不开数学和英语的。但是有些人就会告诉我,我的英语和数学不好,是不是就学不会编程了?其实不是的,下面我就说一下在初次接触编程之前,我们的数学和英语应该具备什么样的水平。
英语:我想大家起码对26个字母应该还是蛮熟悉的吧?总不至于分不清X 和O把?有些人总会说,看
着那些冗长的程序代码,就和看英语文章一样让人觉得没谱。其实我们编写程序代码,用的是一门计算机语言,我们学习英语,英语也是一门语言,既然同作为语言,那么它们就有一样的地方。比如说它们都有自己的语法规则。但是不用担心,计算机语言中所涉及到的英语是不难的,一般一门计算机语言中,真正的英语单词是很少的,并且计算机语言的语法也很简单易学。在学习计算机语言的过程中,上机操作是很重要的环节,只要你脚踏实地上机练习,我相信在不知不觉中你就会记住计算机语言中所涉及的大部分单词和编程语言固有的语法。千万不要觉得计算机语言和英语一样难学,相反,计算机语言语法要比英语语法简单的多,因为学习英语你还得老外好好操练一番口语,计算机随时都在你面前给你操练,只要你抽出五分之一玩游戏的时间。
数学:初步接触编程的时候,我们所学的程序中会给出一些例子,这些例子都是数学题。但是我相信,加减乘除的运算法则,大家一定都会。在刚开始学习的过程中遇到的数学题,其实都是加减乘除的运算,因为这样会比较好理解程序的含义,也比较容易能判断的出结果。可能在学的深入一点的时候,涉及到的数学知识会难一点。其实只要用心去学,一定都会明白的。
素媛真实案例罪犯罗晋正牌女友赵丽颖最后就是你聪明的大脑:大家别怕,不是要你的脑袋来干啥,只是要你在学
习的过程中不断的进行思考锤炼,学习就会变得相当有趣和容易。
所以,大家一定不要担心自己的英语和数学的水平差,学习计算机编程,有以上的基础就足够了。当
然我不是说计算机编程很简单,计算机编程是一个相对抽象的东西,要把很多现实中的物体在脑海中进行转换变成计算机可以理解的语言。这也是一个磨练的过程。说这些是希望你可以树立起对计算机编程的信心和兴趣,而不是轻视它。
1.6需要具备的计算机基础
1.6.1计算机的硬件
首先,还是举个例子来说吧。
卜冠今多高我们假设x,y两个未知数。现在我们要计算一下x+y的结果,并且将结果放入到a中。那么我们将如何进行运算呢?在这个时候有人一定会问:我都不知道x和y的值是多少,如何运算啊?没错,要想计算x+y的值,一定要知道x和y分别是什么值。那么现在我们给予x为1,y为2,那么我们可以口算出来,x+y的值为3。你不禁会感慨,这个问题也太简单了。没错,问题是很简单,计算机也很笨,但是它有着光一样的运算速度。
下面就要以这个例子为基础来介绍一下计算机的硬件组成部分
现代的电子计算机包含五个硬件部分,分别是运算器、存储器、控制器、输入设备和输出设备。
1,输入设备和输出设备。最常见的输入设备是键盘,就比如我们要给x和y一个值,如果在计算机中操作的话,那么我就要在键盘上输入1和2来赋予x 和y。当运算出结果为3的时候,又需要显示给用户看,这就需要输出设备了,最常见的输出设备就是显示器。输入设备的功能是读取用户需要处理的数据,输出设备是返回处理后的结果。
2,存储器。顾名思义,存储器的功能就是用来存储数据。像我们平常所知的内存,硬盘,这些都是存储器。存储器的作用就是为要运行的数据和程序提供一个存放的平台,在需要使用的时候可以从存储器中读取。就好比例子当中,x的值为1,y的值为2,当计算机进行x+y的运算的时候,就要把1和2读取出来参与运算。
电脑开机显示器不亮3,运算器和控制器。我们都知道CPU是计算机的大脑,CPU简称中央处理器。CPU的功能就包含了运算和控制。例子当中,要进行1+2的运算,那么这就是运算器所完成的工作,运算结果为3。那么控制器是什么作用呢?就是控制程序的执行过程和执行步骤,先执行哪一个程序,然后再执行哪一个程序。执行这个程序的时候要从哪读取数据,执行另外一个程序的时候再从哪读取数据。
发布评论