Linux C 程式設計學習第一天

2022-09-09 09:30:17 字數 1614 閱讀 8294

程式基本概念

c語言是面向過程的語言,而c++是物件導向的語言。

c語言的可移植性,或者稱為平台無關,該平台指作業系統(os)也可以指計算機體系結構(architecture),也可以指兩者的組合,不同的計算機體系結構有不同的指令集,可以識別的機器指令格式是不同的,直接使用彙編或者機器指令寫出來的程式,只能在對應體系結構中執行,然而各種體系結構都有各自的c編譯器,可以把c編譯對應體系的機器指令,所以c語言只需要稍許修改或者不用修改就可以在各種計算機上編譯執行。各種高階語言都具有這樣的有點,所以大部分程式是使用高階語言編寫的, 只有和硬體關係密切的少數程式(如驅動程式)才會使用到低階語言。

編譯器讀取源**——編譯生成可執行檔案——作業系統載入可執行檔案——程式執行輸出

有些高階語言以解釋(intterpret)的方式執行,解釋過程和c語言的編譯執行過程很不一樣,比如編寫乙個shell指令碼script.sh:(參考linux下的shell)

#! /bin/sh     (/bin/sh成為直譯器,它把指令碼中的每一行當作一條命令解釋執行)

var=1       (定義乙個變數為var,值為1,shell支援整型) 

var=$(($var+1))  (將var+1然後賦值給var)

echo $var     (echo輸出)

直譯器讀取源**解釋執行——程式執行結果出現在螢幕上

思考:1、解釋執行的語言比編譯執行的語言有什麼優缺點?

自然語言和形式語言

自然語言是自然進化產生的,人類或者動物用於交流的語言,漢語,英語,日語等,形式語言是為了特定應用而人為設計的語言,如數字運算符號,分子式,程式語言也是形式語言,是專門設計用來表達計算過程的形式語言。

形式語言有嚴格的語法,而語法規則是由符號和結構的規則所組成的,結構是指符號的排列方式,關於符號的規則成為詞法規則,關於結構的規則稱為語法規則。

首先請記住形式語言比自然語言緊湊,所以要多花點時間來讀,其次,結構很重要,從上到下,從左到右不是乙個好辦法,應該學會在大腦裡解析:識別符號,分析結構,最後千萬記住細節的影響,比如拼寫錯誤或者標點符號,這些在形式語言中十分重要。

程式的除錯

除錯(debug),先看看bug分類:

編譯時錯誤:類似語法錯誤,拼寫錯誤等

執行時錯誤:編譯器可以生成執行檔案,但是執行會出錯導致崩潰,以後再學習中要時刻注意區分編譯時和執行時(run-time)兩個概念,不僅在除錯時需要區分這兩個概念,學習很多語法時都要注意區分,有些事情編譯時做,有些事情則執行時做

邏輯錯誤和語義錯誤:你寫的程式不是你想要的

還記得在linux下怎麼寫乙個簡單的hello world嗎?

將這個程式儲存,然後編譯

生成了a.out這個可執行檔案

強烈建議在每乙個編譯命令上都加上-wall選項

gcc -wall main.c

LinuxC學習第一天

linux作業系統 的特點免費,開源。linux查ip ifconfig xshell和極域會衝突 解決方法先連極域再開啟vm網絡卡 xshell使用時要有網 1 電腦連上網線 2 連無線網 3 兩台電腦連線 crtl l 一鍵清屏 root ly 左邊 使用者 右邊 機器名 後邊 前邊 當前所處目...

學習程式設計的第一天

今天第一次使用devcpp,用這個軟體完成了一些簡單的程式設計,突然發現一扇嶄新的道路敞開在我的面前,原來以前玩的遊戲都是這樣被創造的啊!看著這些源 突然想到了當年玩魔獸爭霸的時候編輯rpg遊戲,我只會用地圖修改器創作遊戲,但是別人卻是用一長串看不懂的源 編寫,當時覺得那就像天書一樣複雜難懂,沒想到...

學習第一天

知識是學會的,不是教會的 程式設計 驗證性或體驗性 創造性 學程式設計的4個階段 1.能看懂別人的 除錯別人的 2.能修改別人的 3.能拷貝別人的 做自己的事 4.能自己設計編寫 方法 多讀 做記錄 執行 修改 執行 練習,光說不練假把式 刷oj總結 寫部落格或許是個不錯的選擇 學生和已經工作的程式...