------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
宇宙的故事,要从138亿年前说起。那时没有空间,没有时间,没有物质,没有光,只有一个密度无限大、温度无限高的“奇点”。然后,它炸了。大爆炸之后,宇宙在不到一秒的时间里暴胀了无数倍,从一颗微观粒子的大小,膨胀到可见的规模。温度从亿万度迅速下降,能量开始凝结成物质。最先出现的是夸克和轻子,它们又组成了质子和中子。三分钟后,质子和中子结合成氢核和氦核,宇宙有了第一批原子核。但那时温度仍然太高,电子无法被原子核抓住,宇宙是一片带电的等离子体,光无法穿透,处于黑暗之中。
38万年后,温度降到三千度左右,电子终于被原子核捕获,形成中性的氢原子和氦原子。光子不再被散射,宇宙第一次变得透明。这些古老的光,至今仍在宇宙中穿行,被我们称为“宇宙微波背景辐射”。又过了几亿年,引力开始发挥作用。氢和氦的气体云在引力作用下收缩,密度和温度不断升高,直到原子核被点燃——第一颗恒星诞生了。恒星是宇宙的熔炉。在核心的高温高压下,氢聚变成氦,释放出巨大的能量。更大质量的恒星能继续聚变,把氦变成碳,碳变成氧,一路烧到铁。铁是聚变的终点,因为铁再聚变就不再释放能量,反而消耗能量。大质量恒星走到这一步时,核心塌缩,外层物质被猛烈抛出,这就是超新星爆发。在爆炸中,比铁更重的元素——金、银、铀——被制造出来,撒向太空。所以,你身上的碳、氧、铁,首饰里的金,都是恒星爆炸后的尘埃。我们是真正的“星尘”。
46亿年前,在银河系的一个不起眼的旋臂上,一团星际气体和尘埃在引力作用下坍缩,中心形成了太阳,周围的碎片碰撞聚合,形成了包括地球在内的八大行星。早期的地球是一颗炼狱般的星球:火山喷发、岩浆横流、大气中充满了甲烷、氨气、二氧化碳,没有氧气。小行星和彗星不断撞击,带来水冰和有机分子。大约38亿年前,在原始海洋的某个角落,第一个生命诞生了。它可能是一个能自我复制的RNA分子,或者是一个被脂质膜包裹的化学反应系统。生命一旦出现,就开始了永不停止的演化。
最初的生命是单细胞的,没有细胞核,叫做原核生物。它们从海洋中的有机物或海底热泉的化学能中获取能量。后来,一些蓝细菌学会了光合作用,利用阳光把二氧化碳和水变成有机物,同时释放出氧气。这是地球历史上最重要的事件之一。氧气对当时的生命是剧毒,大量厌氧生物死亡,但另一些生物演化出了利用氧气的能力,通过有氧呼吸获得更高效的能量。氧气还在高空形成臭氧层,阻挡了紫外线,让生命有可能从海洋登上陆地。
大约20亿年前,一个更大的原核生物吞噬了一个更小的,但小生物没有被消化,反而定居在宿主细胞内,最终演化成了线粒体——细胞的能量工厂。同样,光合作用的能力也来自被吞噬的蓝细菌,它们演化成了叶绿体。这就是复杂细胞——真核细胞的起源。有了真核细胞,生命才有机会演化出多细胞生物。
5.4亿年前,寒武纪生命大爆发,几乎所有现生动物的祖先都在短短几千万年内出现。三叶虫、奇虾、怪诞虫……海洋里热闹起来。4.3亿年前,植物从绿藻演化而来,登上陆地,之后是节肢动物、脊椎动物。3.7亿年前,肉鳍鱼长出四肢,演化成两栖动物。3.1亿年前,爬行动物出现,它们能完全脱离水生活。2.3亿年前,恐龙登场,统治了地球1.6亿年。6500万年前,一颗小行星撞击地球,恐龙灭绝,哺乳动物获得生存空间。600万年前,人类祖先与黑猩猩的祖先分道扬镳。300万年前,南方古猿露西在东非行走。200万年前,能人开始制造石器。30万年前,智人出现在非洲,他们有了更发达的大脑、更复杂的语言和文化。
智人从非洲走出,扩散到全世界。他们学会了用火、穿衣服、建造住所。1.2万年前,最后一次冰河期结束,气候变暖,人类开始定居,种植小麦、驯养动物,这就是农业革命。农业带来了剩余食物,人口爆炸,村庄变成城市,城市变成国家。文字、数学、法律、货币、轮子、犁……一系列发明改变了人类的生活方式。
计算的需求也随之而来。最早的“计算机”是手指,然后是石子、贝壳、算筹。古巴比伦人和古中国人发明了算盘,能快速做加减乘除,至今仍有人使用。古希腊人发明了安提基特拉机械,一个能预测天体位置的复杂齿轮装置,被认为是第一台模拟计算机。
17世纪,法国数学家帕斯卡为了帮父亲计算税款,发明了滚轮加法器,能做六位数的加减运算。德国数学家莱布尼茨改进了它,做出了能做乘除的步进计算器。莱布尼茨还提出了二进制,认为一切数字都可以用0和1表示,这个想法在几百年后成为计算机的基石。
19世纪,英国数学家巴贝奇设计了差分机和分析机。分析机已经具备了现代计算机的基本结构:输入(打孔卡)、存储(寄存器)、运算单元、输出,还能通过打孔卡改变程序。可惜当时的机械技术无法把它造出来,但巴贝奇被称为“计算机之父”。他的搭档、诗人拜伦的女儿阿达·洛夫莱斯,为分析机编写了第一个算法,被公认为“第一位程序员”。同一时期,英国数学家布尔创立了布尔代数,把逻辑推理——与、或、非——变成了数学运算,为数字电路设计铺平了道路。
20世纪初,物理学家发现电子可以代替机械部件进行运算。1936年,英国数学家图灵提出了“图灵机”的概念,一个抽象的计算模型,证明了任何可计算的问题都能被图灵机计算。这定义了计算的数学边界,也奠定了计算机科学的理论基础。1940年代,二战催生了电子计算机的诞生。英国为了破译德军的恩尼格玛密码,制造了“巨人”计算机。美国为了计算弹道表,制造了ENIAC。ENIAC用了18000个电子管,占地170平方米,重30吨,每秒能算5000次加法,比任何人力都快上千倍。但它没有存储程序的概念,每次换任务都要重新插拔电线,非常麻烦。
匈牙利裔数学家冯·诺依曼提出了“存储程序”架构:把程序和数据一起存在内存中,计算机自动从内存读取指令并执行。这个架构沿用至今,被称为“冯·诺依曼体系结构”。1949年,第一台存储程序计算机EDSAC在英国运行成功。
1950年代,晶体管取代了又大又耗电的电子管。计算机从房间大小缩小到衣柜大小,耗电量和故障率都大幅下降。1960年代,集成电路出现,一块芯片上集成多个晶体管,计算机进一步缩小,成本降低,性能提升。1971年,英特尔推出第一颗微处理器4004,把CPU做在一块芯片上,指甲盖大小,性能超过ENIAC。个人计算机的时代到来了。
1975年,Altair 8800问世,普通人花几百美元就能买一台计算机。比尔·盖茨和保罗·艾伦为它编写了BASIC解释器,创立了微软。1976年,史蒂夫·乔布斯和斯蒂夫·沃兹尼亚克在车库里造出了Apple I,第二年推出Apple II,成为第一款成功普及的个人电脑。1981年,IBM推出第一台个人电脑,采用微软的DOS操作系统和英特尔的处理器,“Wintel”联盟统治了PC时代几十年。1984年,苹果推出Macintosh,首次把图形界面和鼠标带给普通用户,操作电脑不再需要背命令。1990年,微软发布Windows
3.0,图形界面在PC上普及。1991年,芬兰学生林纳斯·托瓦兹发布了Linux内核,开源操作系统诞生。1995年,Windows 95发布,加上互联网的兴起,电脑开始进入千家万户。
互联网的故事同样从冷战开始。1957年,苏联发射第一颗人造卫星,美国国防部组建ARPA。1969年,ARPANET建立,四个节点:UCLA、斯坦福、UCSB、犹他大学。这是互联网的雏形。1970年代,TCP/IP协议被发明,不同网络之间可以互联。1980年代,域名系统DNS诞生,你不用记一串数字,输入google.com就能访问。1989年,英国科学家伯纳斯-李在CERN发明了万维网,还写了第一个网页浏览器,互联网从此飞入寻常百姓家。1990年代,网景浏览器、雅虎、亚马逊、eBay、谷歌相继出现,互联网泡沫席卷全球。21世纪,社交媒体、智能手机、云计算、大数据、人工智能彻底改变了世界。
接下来了解C+ +:
C+ + 是一种面向对象的计算机程序设计语言,作为C语言的继承,C+ +不仅能进行C语言的过程化程序设计,而且可进行以抽象数据类型为特点的基于对象的程序设计,还能进行基于过程的程序设计。C+ +是一种静态数据类型检查的、支持多重编程范式的通用程序设计语言。它的设计风格支持数据抽象、面向对象程序设计、过程化程序设计、泛型程序设计等。
工作原理
C+ +语言的程序因为要体现高性能,所以都是编译型的。但其开发环境,为了方便测试,将调试环境做成解释型的。即开发过程中,以解释型的逐条语句执行方式来进行调试,以编译型的脱离开发环境而启动运行的方式来生成程序最终的执行代码。
生成程序是指将源码(C++语句)转换成一个可以运行的应用程序的过程。如果程序的编写是正确的,那么通常只需按一个功能键,即可搞定这个过程。该过程实际上分成两个步骤。
第一步是对程序进行编译,这需要用到编译器。编译器将C+ +语句转换成机器码;如果这个步骤成功,下一步就是对程序进行链接,这需要用到链接器。链接器将编译获得机器码与C++库中的代码进行合并。C+ +库包含了执行某些常见任务的函数(“函数”是子程序的另一种称呼)。例如,一个C+ +库中包含标准的平方根函数sqrt,所以不必亲自计算平方根。C+ +库中还包含一些子程序,它们把数据发送到显示器,并知道如何读写硬盘上的数据文件。
接下来我们看这道题(你还在看吗):
根据题意,我们知道要把两个数加起来,所以我们先写出C+ +的头文件:
以及至关重要的
由于这个是万能头文件,所以上述内容其实都是废话,根本不需要(仅仅只是文章需要)
然后自己写