第一章 C語言介紹

第一節 C語言介紹

  • 1.1 什麼是計算機程序
    • 一組計算機能識別和執行的指令集,每一條指令可以讓計算機執行特定的操作。計算機會自動執行各條指令,有條不紊的進行工作。
  • 1.2 什麼是計算機語言
    • 計算機和人都能識別的語言。
    • 計算機語言的發展階段:機器語言、符號語言、高級語言。
      • 機器語言:計算機能直接識別和接受的二進制代碼稱爲機器指令。
        • 機器指令的集合就是計算機的機器語言,例如:101011000011。
        • 計算機工作是基於二機制,計算機只能識別和接收由0和1組成的指令。
        • 機器語言的缺點:與人的習慣語言差距大、難記、難寫、難檢查、難修改、難推廣。
      • 符號語言:計算機並不能直接識別和執行符號語言的指令,需要用一種彙編程序的軟件把符號語言的指令轉換爲機器指令。
        • ADD代表加,SUB代表減。 例如:ADD A,B
        • 符號語言的缺點:通用性差,也稱爲低級語言。
      • 高級語言:接近人們習慣使用的自然語言和數學語言,高級語言不能被計算機直接識別,需要一個稱爲編譯器的軟件將高級語言編寫的程序(源程序)轉換爲機器指令的程序(目標程序),然後讓計算機執行機器指令程序。
        • [外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-nWUbwQlx-1585636887907)(E:\workspace\TyporaProjects\C筆記\網易-C程序設計第四版\images\第一章\1-2-高級語言的發展階段.png)]
    • 1.3 C語言的發展歷史
      • C語言誕生於美國的貝爾實驗室,由D.M.Ritchie以B語言爲基礎發展而來,在它的主體設計完成後,Thompson和Ritchie用它完全重寫了UNIX,且隨着UNIX的發展,C語言也得到了不斷的完善。爲了利於C語言的全面推廣,許多專家學者和硬件廠商聯合組成了C語言標準委員會,並在之後的1989年,誕生了第一個完備的C標準,簡稱“C89”,也就是“ANSI C”,截至2020年,最新的C語言標準爲2017年發佈的 “C17”。
      • C語言之所以命名爲C,是因爲 C語言源自Ken Thompson發明的B語言,而 B語言則源自BCPL語言。
      • 1967年,劍橋大學的Martin Richards對CPL語言進行了簡化,於是產生了BCPL(Basic Combined Programming Language)語言。
      • 20世紀60年代,美國AT&T公司貝爾實驗室(AT&T Bell Laboratory)的研究員Ken Thompson閒來無事,手癢難耐,想玩一個他自己編的,模擬在太陽系航行的電子遊戲——Space Travel。他揹着老闆,找到了臺空閒的機器——PDP-7。但這臺機器沒有操作系統,而遊戲必須使用操作系統的一些功能,於是他着手爲PDP-7開發操作系統。後來,這個操作系統被命名爲——UNIX。
      • 1970年,美國貝爾實驗室的 Ken Thompson,以BCPL語言爲基礎,設計出很簡單且很接近硬件的B語言(取BCPL的首字母)。並且他用B語言寫了第一個UNIX操作系統。
      • 1971年,同樣酷愛Space Travel的Dennis M.Ritchie加入了Thompson的開發項目,合作開發UNIX。他的主要工作是改造B語言,使其更成熟。
      • 1972年,美國貝爾實驗室的 D.M.Ritchie 在B語言的基礎上最終設計出了一種新的語言,他取了BCPL的第二個字母作爲這種語言的名字,這就是C語言。
      • 1973年初,C語言的主體完成。Thompson和Ritchie用它完全重寫了UNIX。隨着UNIX的發展,C語言自身也在不斷地完善。直到2020年,各種版本的UNIX內核和周邊工具仍然使用C語言作爲最主要的開發語言,其中還有不少繼承Thompson和Ritchie之手的代碼。
      • 在開發中,他們還考慮把UNIX移植到其他類型的計算機上使用。C語言強大的移植性(Portability)在此顯現。機器語言和彙編語言都不具有移植性,爲x86開發的程序,不可能在Alpha、SPARC和ARM等機器上運行。而C語言程序則可以使用在任意架構的處理器上,只要那種架構的處理器具有對應的C語言編譯器和庫,然後將C源代碼編譯、連接成目標二進制文件之後即可運行。
      • 1977年,Dennis M.Ritchie發表了不依賴於具體機器系統的C語言編譯文本《可移植的C語言編譯程序》。
      • C語言繼續發展,在1982年,很多有識之士和美國國家標準協會爲了使這個語言健康地發展下去,決定成立C標準委員會,建立C語言的標準。委員會由硬件廠商、編譯器及其他軟件工具生產商、軟件設計師、顧問、學術界人士、C語言作者和應用程序員組成。1989年,ANSI發佈了第一個完整的C語言標準——ANSI X3.159—1989,簡稱“C89”,不過人們也習慣稱其爲“ANSI C”。C89在1990年被國際標準組織ISO(International Standard Organization)一字不改地採納,ISO官方給予的名稱爲:ISO/IEC 9899,所以ISO/IEC9899: 1990也通常被簡稱爲“C90”。
      • 1999年,在做了一些必要的修正和完善後,ISO發佈了新的C語言標準,命名爲ISO/IEC 9899:1999,簡稱“C99”。
      • 在2011年12月8日,ISO又正式發佈了新的標準,稱爲ISO/IEC9899: 2011,簡稱爲“C11”。

第二節 簡單的C程序分析

  • 1.4 最簡單的C程序舉例

  • # include <stdio.h>			//編譯預處理指令
    int main() 					//定義主函數,程序總是從main函數開始執行
    {							//函數開始標誌
        printf("Hello world !\n");//輸出指定的一行信息,分號是一行代碼結束標誌
        return 0;				//函數執行完畢時返回函數值0
    }							//函數結束標誌
  • 註釋:用來對代碼進行解釋說明。在程序進行編譯時,會將註釋替換成空格。

    • //:單行註釋
    • /* 塊式註釋
    • ​ 內容可以分多行,也可以一行
    • */

第三節 運行程序的步驟及程序設計任務

  • 1.5 C程序製作過程
      1. 上機輸入和編輯源程序,生成一個.c後綴的文件。
      1. 對源程序進行編譯,先用C編譯系統提供的”預處理器“對程序中的預處理指令進行編譯預處理。編譯時會檢查代碼有無語法錯誤,無錯誤時,會把源程序轉換爲二進制形式的目標程序,生成一個.obj文件。
      2. 進行連接處理,一個程序可能包含若干個源程序文件,而編譯是以源程序文件爲對象的,一次編譯只能得到與一個源程序文件相對應的目標文件(也稱目標模塊),它只是程序的一部分。必須把所有的編譯後得到的目標模塊連接裝配起來,再與函數庫相連接成一個整體,生成一個可供計算機執行的目標程序,稱爲可執行程序,windows系統中爲.exe,linux系統中爲.out文件。
      3. 運行可執行程序,得到運行結果。
  • 1.6 程序設計的任務
    • 問題分析

    • 設計算法

    • 編寫程序

    • 對源程序進行編輯、編譯和連接

    • 運行程序,分析結果

    • 編寫程序文檔

    • 設計算法

    • 編寫程序

    • 對源程序進行編輯、編譯和連接

    • 運行程序,分析結果

    • 編寫程序文檔

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章