第一章 初識程式
導讀:計算機程式無時不刻的影響著人類的生活,現代社會已經離不開程式,程式的作用如此巨大,那麼程式到底是什麼呢?本章主要討論程式的概念,喚起讀者對程式的興趣,同時對C語言程式與其它語言程式進行比較,說明作為一個C語言程式設計師需要具備的基本理論知識,本章末端簡單的描述windows中一個計算器程式是如何工作的。
1.1 什麼是計算機程式
從字面上理解,程式就是完成一件事所需要進行的步驟,舉個生活的例子,買醬油!需要哪些步驟:
第一種做法:首先要準備好100塊錢,然後出門要穿好衣服鞋襪,出門到便利店,拿到醬油付完錢,店家找錢,返回家中。
第二種做法:開啟手機,開啟外賣的APP,選擇醬油,外賣小哥到來後,開門,取醬油。
完成買醬油需要步驟,生活上的點點滴滴都有它的步驟,步驟不侷限於一種方法,正所謂條條大路通羅馬,步驟也是各式各樣。如果把生活上步驟關聯到計算機程式上也是一樣的,其實寫計算機程式就是寫步驟。
計算機程式一般也稱作計算機程式碼,專業的說,計算機程式是一組計算機能識別和執行的指令,執行在電子計算機上,滿足人們某種需求的資訊化工具。當然程式不僅僅執行在計算機上,還可以執行在手機,路由器,導航儀,往大點說,程式執行在航空母艦上,說不定執行在遙遠外太空外星人正準備入侵地球的太空飛船上。
圖1.1 ET外星人
那為什麼要程式呢?因為有些事情靠人動手處理效率實在太低,試想想,如果要計算一個複雜的方程式,靠筆算或者算盤來計算那效率實在低下(注意:不過這裡要像我國兩彈一星的元勳們致敬,當時他們在計算工具落後的情況下,用算盤計算原子資料)。所以人類發明了計算機,而計算機工作需要執行程式來完成各種任務。
注意:程式只是工具,所以程式能做到的事情,人類一定能做到,但隨著人工智慧的發展,程式已經可以做人類意想不到的事情了,這塊讀者可以自行去了解。
2.1 為什麼選擇C語言
計算機語言有很多種,比如彙編程式,C語言程式,C++程式,JAVA程式,PYTHON程式等等。為什麼偏偏選擇C語言呢?
原因列舉幾點如下:
1. C語言入門比較容易,相比較別的語言C語言入門比較容易,不像彙編那樣完成一個功能需要寫大量程式碼,有時候1行C語言程式碼完成任務用匯編說不定需要10行。也不像JAVA那樣,類的思想,繼承的思想等等搞暈初學者。
2. 很多高階語言都有C語言的影子,變數宣告這些,迴圈語句這些等等,所以C語言可以做學習別的語言的跳板。
3. C語言廣泛的應用在嵌入式領域,說明市場需求也大。
4. 它的執行效率很高,可以直接操作記憶體,後續學習指標會更加理解這塊。
5. 讀者自行了解。。。。。。
3.1 需要具備的基礎
本節討論一個C語言程式設計師需要具備哪些基礎知識。
3.1.1 簡單的英語單詞理解
國內的程式設計師不一定是英語高手,因為只是用鍵盤敲打程式碼,不需要考驗聽力,不需要考驗口語,甚至可以直接藉助翻譯軟體。C語言中常用的詞彙,如:
main(主要的;重要的),include(包括;包含),define(定義;闡明),後續還有一些C庫函式單詞,如:printf(輸出函式;格式化輸出;輸出格式化字串),還可以把庫函式拆分理解,如:fopen(可以理解為file open的組合,即檔案開啟的意思),strcmp(可以理解為string compare,片語的意思就是字串對比)。
編寫程式中需要給變數取名,還有給函式取名,為了編寫的程式能夠讓別人更好的理解,以及規範和統一,所以希望讀者儘量使用標準的英文單詞,如果不懂怎麼寫可以藉助翻譯軟體。
注意:“變數”和“函式”是程式中的一部分,讀者目前如果不能理解它的意思,就先擱著。
3.1.2 計算機基本組成
計算機俗稱電腦,它的核心元件有CPU,記憶體,儲存,網路卡,顯示器,鍵盤,滑鼠等等。文章是與C語言入門有關,所以只需要知道一切運算都在CPU中進行,C語言程式由指令、變數和常量等等組成,指令執行在CPU上,指令從記憶體中取變數。至於記憶體和儲存的區別以及更詳細內容,後續章節指標中會再次提到。
圖1.2 計算機構成簡圖
這裡簡單的描述一個windows計算器程式執行的過程。
計算器的可執行程式是存放在硬碟上的。筆者電腦使用的win10系統,計算器程式屬於系統自帶的程式,所以存放在系統盤,系統盤是C盤,所以計算器的可執行程式存放在C:\Windows\System32\calc.exe。
知道了calc.exe的存放位置後,先開啟工作管理員,看看正在執行的程式有哪些,這時候還沒有點選calc.exe,所以看不到,如圖1.3所示,
圖1.3 還未開啟計算器的工作管理員列表
點選執行calc.exe,可以發現工作管理員多了一個執行的程式叫做計算器,如圖1.4所示,
圖1.4 開啟計算器後工作管理員列表
點選執行calc.exe後(也就是執行計算器程式),計算器程式會在作業系統程式下,由CPU做主要工作,把計算器程式從硬碟放到到記憶體上,這時候顯示器根據視訊記憶體內容會顯示計算器介面,可以通過滑鼠點選也可以通過鍵盤進行加減乘除等等運算,所有的這些運算都會通過記憶體和CPU的互動來完成,最終把計算的數值顯示出來。
4.1自學C語言的途徑
1. 可以通過本系列部落格,博主會在評論區回答問題,雖然博主不是靠自學的,但是自己希望能夠幫助到新手。
2. 最好是通過專業書籍,一般大學課程都是使用譚浩強的C語言教材,經典中的戰鬥機!
3. 以下連結供參考:
https://zh.cppreference.com/w/c
http://tieba.baidu.com/f?kw=c%D3%EF%D1%D4&fr=ala0&tpl=5
但是看再多資料都不如不停的程式碼練習來的效果佳!請期待下一章節的釋出。。。。。。