爆竹声中一岁除,春风送暖入屠苏。千门万户曈曈日,总把新桃换旧符。今天在这个日子里,我们回首往昔,既然聊到要学C语言,不得知道C语言是糖在哪里甜的,醋打哪里酸的啊。
C语言是在 70 年代初问世的。一九七八年由美国电话电报公司(AT&T)贝尔实验室正式发表了C语言。同时由 B.W.Kernighan 和 D.M.Ritchit 合著了著名的“THE C PROGRAMMING LANGUAGE”一书。通常简称为《K&R》,也有人称之为《K&R》标准。但是,在《K&R》中并没有定义一个完整的标准 C 语言,后来由美国国家标准协会(American National Standards Institute)在此基础上制定了一个 C 语言标准,于一九八三年发表。通常称之为 ANSI C。
啥是标准,就是你得按照什么规则去讲话,要不然编译软件不认识你写的代码呗。对于编译这个词要是陌生的话,稍后我们再表达。
说这个就离不开计算机是吧。C语言在诸多计算机语言中处于什么地位呢?那我们就先聊聊计算机编程语言的事,且听我给你娓娓道来。
说到C就不得不说一下与他有关的
机器语言:都听说过计算机是什么0-1指令执行的吧,这种计算机能直接识别和接受的二进制代码称为机器指令,机器指令的集合就是该计算机的机器语言。机器语言与具体机器相关,而且太难应用。
汇编语言:汇编语言依然是机器相关的;汇编语言具有重要地位,直到现在依然有两种程序经常采用汇编语言编写:计算机游戏和操作系统。
高级语言:为提高编程效率,屏蔽不同计算机间的异构,发明抽象语言的问题开始受到广泛关注,高级语言应运而生,高级语言使用更接近人们习惯使用的自然语言和数学语言,更便于理解和编程
在利用高级语言所编写的程序中,指令都是用英文单词表示,采用日常数学公式的方式表示各种计算。
比较流行的:C、C++、面向对象C、C#、Basic、VB、Java、Python、JSP、ASP、PHP、Perl、Delphi等
高级语言也经历了从非结构化语言(早期的Basic等)到结构化语言(C等),再到面向对象语言(C++等)的发展阶段。
小鹏友当年就是由于没有发挥学习的主管能动性,当年就错过了Python。
不停的修订、补充、完善的过程
为什么学习C语言?
1)C语言是目前实际程序设计工作中使用最广泛的语言之一
2)它包含了程序设计需要理解和使用的基本程序机理和主要机制
3)掌握这些机制就可以理解程序与程序设计的主要问题。
目前有许多软件系统是用C编写的,或基本上是用C编写的
学习程序设计的同时也能掌握一种实用的程序设计工具
口说无凭,我们看看最新的情况2020年12月31日在这个
TIOBE[ti'ɔbi]开发语言排行榜每月更新一次,依据的指数是基于世界范围内的资深软件工程师和第三方供应商提供,其结果作为当前业内程序开发语言的流行使用程度的有效指标。
该指数可以用来检阅开发者的编程技能能否跟上趋势,或是否有必要作出战略改变,以及什么编程语言是应该及时掌握的。观察认为,该指数反应的虽并非当前最流行或应用最广的语言,但对世界范围内开发语言的走势仍具有重要参考意义。
地址是这个,不过可能会有些慢https://www.tiobe.com/tiobe-index/,我滴个天啊,竟然排第一了
大音希声、大象无形。
C语言的特点:目标程序效率高、可移植性好、既有高级语言的优点、又有低级语言的特点,特别适合编写系统软件。
C是面向过程的语言,C语言是一种很灵活的语言。
但是,C 语言对程序员要求也高,程序员用 C 写程序会感到限制少、灵活性大,功能强,但较其他高级语言在学习上要困难一些。
1)允许直接访问物理地 址,能进行位操作,能实现汇编的大部分功能,可直接对硬件进行操作
2)生成目标代码质量高,程序执行效率高
3)可移植性好,既可以在较高层次上做,也可以在较低级的层次上做
C语言适合作为计算机领域许多后续课程的教学语言
画外音:说了半天计算的语言,那么计算机这个东西为何物呢
别的书上能提到的我们先不说,先看看老祖宗留下来的东西。
目前,所有工作都需要计算机执行多个操作才能完成,因此需要事先为计算机编写好完成任务的一组详细的、逐步执行的指令序列,计算机依据该指令序列执行相应的操作从而完成任务
关于计算机的发展史我们别的先不表,就让大家知道一下我们中国人的骄傲,算盘。
1987年福建漳浦县文物部门在盘陀乡庙埔村发掘了一座明代墓,墓主人是明代户部尚书卢维祯,在墓中出土了一架完整的木质算盘。
“埔”指河边的沙洲,多见于广东、香港、福建、台湾等地,“黄埔”和“柬埔寨”的普通话发音,其它的地名,普通话全是读成“布”的。
推荐一位伟大的科学家嘿,但看此人面如冠玉,眉分八彩,目若朗星,眼角眉梢有没有千层杀气,身前身后有百步的威风,看这帅哥,张得跟银娃娃似的。
图灵一个伟大的计算机科学家,心路历程,经历可以看看轶事类的《模仿游戏》,这个才是今天的关键。
至于我们如何开始真正的应用和学习,写出属于自己的代码呢?请听下回分解。