再白也能學會的C-C語言的前世今生
爆竹聲中一歲除,春風送暖入屠蘇。千門萬戶曈曈日,總把新桃換舊符。今天在這個日子裡,我們回首往昔,既然聊到要學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年福建漳浦縣文物部門在盤陀鄉廟埔村發掘了一座明代墓,墓主人是明代戶部尚書盧維禎,在墓中出土了一架完整的木質算盤。
“埔”指河邊的沙洲,多見於廣東、香港、福建、臺灣等地,“黃埔”和“柬埔寨”的普通話發音,其它的地名,普通話全是讀成“布”的。
推薦一位偉大的科學家嘿,但看此人面如冠玉,眉分八彩,目若朗星,眼角眉梢有沒有千層殺氣,身前身後有百步的威風,看這帥哥,張得跟銀娃娃似的。
圖靈一個偉大的電腦科學家,心路歷程,經歷可以看看軼事類的《模仿遊戲》,這個才是今天的關鍵。
至於我們如何開始真正的應用和學習,寫出屬於自己的程式碼呢?請聽下回分解。
相關文章
- 三分鐘瞭解Go語言的前世今生Go
- 00 預訓練語言模型的前世今生(全文 24854 個詞)模型
- MySQL 的前世今生MySql
- 遊戲的前世今生遊戲
- Mybatis的前世今生MyBatis
- IPD的前世今生
- RabbitMQ的前世今生MQ
- Serverless 的前世今生Server
- JavaScript的前世今生JavaScript
- WebP 的前世今生Web
- RunLoop的前世今生OOP
- 科技新知 | 深度學習的前世今生深度學習
- 語音助手的前世今生篇之亞馬遜Alexa亞馬遜
- 語音助手的前世今生篇之蘋果Siri蘋果
- Unicode的前世今生Unicode
- HTTP/2.0的前世今生HTTP
- 元件化的前世今生元件化
- React ref 的前世今生React
- 外掛的前世今生
- Https的前世今生HTTP
- React Portal的前世今生React
- Android的前世今生Android
- React Mixin 的前世今生React
- 語音助手的前世今生篇之微軟小娜微軟
- 帶你瞭解大語音模型的前世今生模型
- 資料庫的前世今生資料庫
- iOS Device ID 的前世今生iOSdev
- 前端模組化的前世今生前端
- Redux的前世-今生-來世Redux
- HTTP 協議的前世今生HTTP協議
- JavaScript – 非同步的前世今生JavaScript非同步
- JavaScript 包管理的前世今生JavaScript
- 物聯網的前世今生
- ORACLE ERP 的前世今生Oracle
- LangChain和Hub的前世今生LangChain
- Webpack前世今生Web
- c語言也能幹大事,讓你的c語言無所不能!!!!C語言
- SQLMap的前世今生(Part1)SQL