1樓:匿名使用者
軟體的本質是驅動硬體來完成一定的功能,因此,只要能完成硬體的所有功能即可,也就是最簡單的儲存運算。c語言本身的運算和資料型別以及結構語句(for,if什麼的)都是為了能夠完成這些運算功能的,具體的事件,比如顯示,讀取,運算,解碼什麼的,本質都是一種運算,如果你能控制運算子,運算順序,是不是就能計算所有的算式了。所以c語言有這些就足夠了。
數學也不過是運算子和變數常量組成的,就完成了一切。
由於人們在開發軟體的過程中,經常要用到一些基礎功能,比如輸入輸出,所以就有了標頭檔案。標頭檔案就是別人開發的程式,你用的時候包含就相當於把這些指令複製來了。其實c語言本身是不具有這些函式的。
所以說,一種語言能否寫成一個系統或者是軟體,不需要有太多特定的功能。只要他的語言能寫出所有需要的功能就可以了。就像是定義了加法,那麼乘法就是加法連續進行許多次,為了方便,就寫成乘法。
c語言所提供的就是想加法一樣的最基礎的功能。這些功能足以控制硬體完成所有需要的操作。
c語言是簡單,但是真正學好可不容易的。你用的作業系統都是用他寫的。
個人的看法,純手打。望採納。
2樓:凱旋衝鋒
這個問題你需要知道一些計算機組成原理的基本知識。計算機組成包括cpu、記憶體、io裝置。
io裝置包括顯示卡、硬碟、音效卡等。
一個軟體的執行,需要依靠cpu、記憶體提供執行支援,需要依靠io裝置實現輸入輸出。輸入可能是鍵盤、攝像頭、麥克風、硬碟資料,輸出可能是顯示器螢幕、喇叭、硬碟檔案。
比如windows裡記事本的執行。首先需要從硬碟把記事本程式載入記憶體,然後cpu去執行這個程式。執行過程中,可能需要讓顯示卡在螢幕上畫一個記事本視窗,開啟檔案時可能需要從硬碟獲取檔案的資料,打字時需要從鍵盤獲取輸入的字元,可能還需要獲取滑鼠的位置、按鍵狀態。
所以軟體的執行過程本質上來說就是跟各種硬體裝置打交道的過程,c語言要想實現一個軟體,要做的就是跟各種裝置打交道。但是c語言標準庫功能基本都是關於cpu的計算函式,跟其它io裝置的互動能力有限。
能跟裝置直接打交道的是硬體廠商的裝置硬體**,這種**一般用匯編寫成,然後被封裝成了c語言函式庫,這也就是所謂的「驅動程式」了。
在c語言程式裡,程式設計人員可以呼叫硬體驅動程式提供的各種函式與硬體互動,作業系統api通常也封裝了部分驅動函式或者硬體操作**。
有了各種驅動函式和作業系統api,c語言就能呼叫各種功能來實現一個軟體了。
實際上c語言的標準庫基本可以看作cpu的「驅動函式庫」。
3樓:gis廣益
這些庫,api,作業系統是怎麼寫的?就是用c/c++和彙編來寫的
呼叫api是把細節遮蔽 讓你更快來寫軟體 而不是給你個硬體讓你來寫作業系統然後在寫office軟體
4樓:匿名使用者
現在都說c#/c++這些了
而c語言是最早的高階語言,相對於初級語言它的可讀性和可維護性更強
初級語言就是我們常說的組合語言,事實上所有的語言都是不可直接執行的,而是通過對應的編譯工具來轉化成機器語言(01)來進行執行的
而關鍵字和語法的存在意義是為了讓編譯器更好更方便的能夠編寫者的用途來將對應語言進行解釋
至於輸入輸出,這其實完全是個概念,你在學習過程中看到的是一個檔案,而對於語言來說和系統來所有硬體裝置在整體系統中也是被解釋為檔案,只是一些特殊的檔案,因些這樣就可以直接訪問硬體了
事實上所有函式本身都是不存在的,只是隨著語言的發展,大家約定而成的使用了這些函式,是為了更方便的計算,以及節省**量與對應的開發工作,這也是高階語言的特色之一
因此在那些使用c語言的開發過程,很多步驟都是直接通過彙編這方式來進行實現的,因為這樣可以獲取到更高效的函式
編譯工具本身是由其它工具進行編譯與製作的……
C語言中的標頭檔案可以自己寫嗎,C語言如何寫標頭檔案?
標頭檔案幾個好處 1,標頭檔案可以定義所用的函式列表,方便查閱你可以呼叫的函式 2,標頭檔案可以定義很多巨集定義,就是一些全域性靜態變數的定義,在這樣的情況下,只要修改標頭檔案的內容,程式就可以做相應的修改,不用親自跑到繁瑣的 內去搜尋。3,標頭檔案只是宣告,不佔記憶體空間,要知道其執行過程,要看你...
軟體功能特色如何寫
適用客戶 適合於服裝鞋業行業流行的連鎖加盟經營模式,不僅適用於總部管理,而且還提供了對自營店 加盟店 商和商場專櫃的管理。功能特點 完善的顏色 尺碼管理,按顏色 按尺碼 按顏色和尺碼核算成本。豐富的銷售查詢功能,如商品銷售排行榜 客戶銷售排行榜 職員銷售排行榜。提供銷售查詢和銷售統計分析報表,實時的...
C語言中,定義自定義庫函式時該如何寫對應的標頭檔案
首先,要明白一點。標準庫的標頭檔案多次include是不會發生重定義的錯誤的。所有的標準庫檔案的內容都是如這般寫的 ifndef stdlib h define stdlib h endif 這保證了它的內容只會被引用一次。所以要include,只寫一句 include 就可以了。另外,你自己的標頭...