亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

【C語言】01-概述

系統 1712 0

一、計算機常識

在學習C語言之前,先要了解一些計算機常識

1.計算機只能識別0和1

  • 大家都知道,計算機要通電才能工作,說白了,它跟電視、洗衣機一樣,都是電器。電器都有個共同的能力:懂得判斷通電還是斷電,通電就能工作,斷電就停止工作。因此,從根本上講,計算機只能識別電信號:高電平信號(通電)、低電平信號(斷電),它只知道某個開關是通電還是斷電。我們用1代表高電平,0代表低電平。
  • 也就說,計算機只能識別0和1。

2.二進制

因為計算機只能識別0和1,因此計算機所能識別的指令和數據都是用二進制數(0和1)來表示的。所謂二進制,就是用0和1來表示所有的數。不過我們日常生活中最常用的是十進制,用0~9來表示所有的數

1> 二進制指令

給計算機灌輸一些指令,它就能執行相應的操作,而計算機只能識別由0和1組成的指令。在計算機發展初期,計算機的指令長度為16,即以16個二進制數(0或1)組成一條指令,例如,用1011011000000000這條指令,是讓計算機進行一次加法運算。因此,如果要想計算機執行一系列的操作,就必須編寫許多條由0和1組成的指令,可以想象的到,這個工作量是如此巨大。

2> 二進制數據

平時我們在計算機中存儲的一些數據,比如文檔、照片、視頻等,都是以0和1的形式存儲的。只不過計算機解析了這一大堆的0和1,以圖形界面的形式將數據展示在我們眼前。

二、程序設計語言發展史

我們可以利用程序設計語言來編寫程序,再將編好的程序運行到計算機上,計算機就能夠按照程序中所說的去做。從計算機誕生至今,程序設計語言大致經歷了3個發展階段:機器語言、匯編語言、高級語言。其中,C語言屬于高級語言。

1.機器語言

1>什么是機器語言

在計算器誕生初期,所有的計算機程序都是直接用計算機能識別的二進制指令來編寫的,也就是說所有的代碼里面只有0和1。這種程序設計語言就是“機器語言”。這些由0和1組成的二進制指令,又叫做“機器指令”

2> 優點

  • 由于機器語言編寫出來的代碼是能被計算機直接識別的,因此機器語言是直接對硬件產生作用的,程序的執行效率非常高。
  • 機器語言能直接 訪問 控制 計算機的各種 硬件 設備,如 磁盤 存儲器 CPU I/O端口 等。

3> 缺點

  • 用機器語言編寫程序,編程人員要首先熟記所用計算機的全部指令和指令的涵義,指令又多又難記。
  • 編出的程序全是些0和1的指令代碼,可讀性差,還容易出錯。
  • 由于機器語言是直接對硬件產生作用的,對硬件的依賴性很強,因此不同型號計算機的機器語言又不一樣。也就是說,如果2臺不同型號的機器想實現一樣的功能,需要編寫2套完全不同的代碼。

可以看出,機器語言很難掌握和推廣,現在除了計算機生產廠家的專業人員外,絕大多數的程序員已經不再去學習機器語言了。

2.匯編語言

1> 什么是匯編語言

  • 由于機器語言的種種弊端,嚴重影響開發效率,后面就出現了匯編語言。匯編語言其實就是符號化的機器語言,它用一個符號(英文單詞、數字)來代表一條機器指令。比如,在機器語言中,用1011011000000000這條指令,是讓計算機進行一次加法運算;而在匯編語言中,用英文單詞“ADD”就可以表示加法運算。一個有意義的英文單詞,很明顯比一串又臭又長的二進制指令,直觀好記多了。
  • 由于計算機只能識別0和1,用匯編語言編寫的代碼是不能被計算機所識別的,像剛才的“ADD”,計算機肯定不知道是什么意思。因此,用匯編語言編寫的代碼需要翻譯成二進制指令后,才能被計算機識別。這個翻譯的工作交給“編譯器”去做。

2> 優點

  • 對比機器語言,匯編語言的代碼可讀性好
  • 匯編語言能像機器語言一樣,可以直接訪問 控制 計算機的各種 硬件 設備,如 磁盤 存儲器 CPU I/O端口 。使用匯編語言,可以訪問所有能夠被訪問的軟、硬件資源。
  • 目標代碼簡短(目標代碼就是經編譯器翻譯過后的二進制代碼),占用內存少,執行速度快。( 計算機中所有程序的運行都是在 內存 中進行的,因此內存的性能對計算機的影響非常大。 其作用是用于暫時存放CPU中的運算數據,以及與 硬盤 外部存儲器 交換的數據。 只要計算機在運行中,CPU就會把需要運算的數據調到 內存 中進行運算,當運算完成后CPU再將結果傳送出來,內存的運行也決定了計算機的穩定運行。 )計算機的內存是有限的,因此一個應用程序運行時所占用的內存越少越好。

3> 缺點

  • 匯編語言是面向機器的, 通常是為特定的計算機或系列計算機專門設計的。因此,不同的機器有不同的匯編語言語法和編譯器,代碼缺乏 可移植性,也就是說,一個程序只能在一種機器上運行,換到其他機器上就不能運行。
  • 匯編語言的符號非常多、難記 ,即使是完成 簡單 功能也 需要大量的匯編語言代碼,很容易產生BUG ,難于調試
  • 使用匯編語言必須對硬件非常了解,開發效率很低,周期長且單調

3.高級語言

由于匯編語言依賴于硬件,代碼可移植性差,符號又多又難記,于是人類就發明了非常接近自然語言的高級語言。后面要學習的C語言就是高級語言。

1> 優點

  • 簡單、易用、易于理解,語法和結構類似于普通英文,且遠離對硬件的直接操作,使得一般人經過學習之后都可以編程,而不用太熟悉硬件知識
  • 寫出來的程序更加簡潔。比如要計算2個數的和,在高級語言中可以寫得非常簡潔:d=a+b;。但是在機器語言和匯編語言中,就需要幾條甚至幾十條指令,而且不同機器還要編寫不同的指令代碼
  • 用高級語言編寫的同一個程序還可以在不同的機器上運行,具有可移植性

2> 注意

用高級語言編寫的程序不能直接被計算機識別,需要經編譯器翻譯成二進制指令后,才能運行到計算機上

三、C語言簡史

  • C語言于1972年發明,首次使用是用于重寫UINX操作系統(UNIX以前主要是用匯編語言寫的,它奠定了操作系統的基礎)
  • 隨著UNIX操作系統的成功,C語言也得到了大幅度地推廣,被先后使用到大、中、小、微型主機上,至今還是世界上最流行、使用最廣泛的高級程序設計語言之一
  • C語言是一門 面向過程 的語言,非面向對象的語言。(究竟什么是面向過程、面向對象,暫時不用去理解,只需要知道C語言是面向過程就Ok了)

下面是2013年3月份的編程語言熱門排行榜

【C語言】01-概述

從C語言誕生至今,它的熱度一點也沒減過,前兩名基本上都是Java和C

四、C語言的特點

1.豐富的運算符

計算機的基本功能就是計算,因此一門程序設計語言的計算能力是非常重要的。C語言提供了34種運算符,計算類型極其豐富,其中包括了最基本的加減乘除運算。

2.豐富的數據類型

  • C語言的生命力 之所以 如何強大,很大一部分是因為它擁有豐富的數據類型。
  • 正因為C語言數據類型豐富,運算能力極強,因此很多數據庫都是用C語言編寫的,比如DB2、Oracle等。

3.可以直接操作硬件

跟匯編語言一樣,C語言可以直接操作硬件,允許直接對位、字節、地址進行操作(位、字節、地址是計算機最基本的工作單元),可以說幾乎沒有C語言做不了的事情。

4.高效率的目標代碼

目標代碼,就是經編譯器翻譯后的二進制代碼。C語言的目標代碼執行效率非常高。

5.可移植性好

在一個環境上用C語言編寫的程序,不改動或稍加改動,就可移植到另一個完全不同的環境中運行。

上面所說的都是C語言的優點,它有個非常明顯的缺點:語法限制不嚴格。這樣就導致初學者對C語言語法不能理解得很透徹,而且在開發過程中也會帶來很多容易忽略的問題。

五、C語言的作用

  • 由于C語言具有強大的數據處理能力,而且允許直接訪問內存地址,直接對硬件操作,因此它適于編寫系統軟件、圖形處理、單片機程序、嵌入式系統開發甚至是用于科研。
  • 很有游戲外掛都是用C語言寫的
  • 很多操作系統的底層都是用C語言寫的,比如android

六、C語言的版本問題

從UNIX操作系統的成功后,C語言得到了廣泛地應用,從大型主機到小型微機,都有C語言活躍的身影,也衍生了很多個版本的C語言。長期以往,C語言將可能成為一門有多個變種、松散的語言。一門正式的語言,肯定要有個標準才行,不然就亂套了。為了改變這種局面,1983年美國國家標準局(American National Standards Institute,簡稱ANSI)成立了一個委員會,開始制定C語言標準的工作。1989年C語言標準被批準,這個版本的C語言標準通常被稱為ANSI C

【C語言】01-概述


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 中文字幕精品一区二区三区视频 | 亚洲欧美日韩精品久久久 | 伊人tv | 日日夜夜网站 | 午夜探花 | 涩综合| 99精品网| 久久精品国产精品亚洲 | 日韩欧美一区二区在线 | 久久只有这里有精品 | 久久久久久久久66精品片 | 国产免费一区二区三区香蕉精 | 免费观看a级完整视频 | 国产精品区一区二区免费 | 97精品视频共享总站 | 四虎影视国产永久免费 | 蜜桃精品免费久久久久影院 | 亚洲福利视频一区二区三区 | 亚洲国产精品日韩在线 | 国产精品videosse | 伊人网综合视频 | 久久国产这里只精品免费 | 亚洲一区二区三区麻豆 | 日本在线观看中文字幕 | 欧美亚洲激情 | 青青青国产观看免费视频 | 亚洲狠狠狠一区二区三区 | 国产成人精品日本亚洲语音2 | 男人资源站 | www.夜夜| 久久中文字幕不卡一二区 | 五月天婷婷缴情五月免费观看 | 国产精品欧美一区二区在线看 | 尤物视频在线免费观看 | 日韩久久一级毛片 | 免费一级毛片免费播放 | 欧美另类高清xxxxx | 日韩欧美在线观看视频一区二区 | 成年性视频bbixx | 性感美女香蕉视频 | 四虎永久在线精品国产免费 |