c語言操作系統
A. 用c語言可以寫操作系統嗎
C語言當然是可以寫操作系統的,但是操作系統的編寫一般都不僅僅只是用C語言編寫的。
寫操作系統需要編程語言提供以下幾個特徵:
1、跨平台,不能是只在某個平台下編譯(VB就不行);
2、必須是編譯型語言(PHP就不行),或者有一個非常高效的解釋器;
3、必須有方便的操作硬體的功能,容易嵌入匯編(Java就不行);
4、兼容性要好,最好不同編譯器編譯的符號要基本相同,容易鏈接(C++不行,如果放棄Class的話C++基本可以);
5、編譯器本身最好是由該語言自己完成的(大部分語言的編譯器都是用C/C++寫的);
6、開發者可以很方便的擴展、改造、或者使用第三方的運行庫(大部分語言的庫都無法修改);
7、開發者眾多(小眾語言就不行);
8、該語言開發操作系統的資料要足夠完善。
所以總結下來,C語言是首選。
B. C語言誕生的時候,是在什麼操作系統下運行的
C語言誕生於UNIX操作系統,但C語言誕生後,又重寫了UNIX系統,現在通行的UNIX版本絕大部分代碼都是C語言編寫的,這使得系統易讀,易修改,易移植。作為一個多用戶,多任務的分時操作系統。UNIX的系統結構可分為三部分:操作系統內核(是UNIX系統核心管理和控制中心,在系統啟動或常駐內存),系統調用(供程序開發者開發應用程序時調用系統組件,包括進程管理,文件管理,設備狀態等),應用程序(包括各種開發工具,編譯器,網路通訊處理程序等,所有應用程序都在Shell的管理和控制下為用戶服務)。
C. linux操作系統中默認安裝的C語言編譯系統是
Linux操作系統中默認安裝的C語言編譯系統是GCC(GNU Compiler Collection),是Linux下最常用的C語言編譯器,是GNU項目中符合ANSI,C標準的編譯系統,能夠編譯用C、Object C等語言編寫的程序。
同時它可以通過不同的前端模塊來支持各種語言,如Java、Fortran、Pascal、Mola,3和Ada等。
C語言的標准
1.1 K,RC
1973年,Dennis M Ritchie設計和實現了C語言,從那以後使用者逐漸增加。
1978年,Kernighan 和 Ritchie 合著了《The C Programming Language》,這本書定義的C語言被稱為 K,RC 。
1.2 標准 C
隨著C語言使用日益廣泛,出現了許多新問題,人們迫切希望對C語言進行標准化。
第一個標准:C89
1983年,ANSI成立了一個委員會X3J11,對C語言進行標准化。
1989年,ANSI 批准了第一個C語言標准 X3,159-1989,並於1990年公布,被稱為 ANSIC、C89 或 C90。
1990年,這個標准又被批准為ISO標准:ISO,IEC 9899:1990 。
ANSIC標准被ISO採納,並且ISO發布的修訂版也被ANSI採納,因此ANSI標准和ISO標准實際上沒有技術區別。這些名稱的含義是相同的:ANSI C、ISO C、標准C。
1994年和1996年,ISO發布了兩個技術更正,更正了1990ISOC標准中的錯誤。
第二個標准:C94
1995年,ISO發布了1990ISOC標準的一個補充,稱為AMD1。擴充後的標准被稱為C94或C95。
第三個標准:C99
1999年,ISO發布了一個新版本的ISOC標准:ISO,IEC9899:1999,稱為C99。
2001年、2004年和2007年,ISO發布了三個技術更正,更正了1999ISOC標准中的錯誤。
第四個標准:C11
2011年,ISO發布了一個新版本的ISOC標准:ISO,IEC9899:2011,稱為C11。C11 是 C語言的最新標准。
1.3 GNUC
1984年,Richard Stallman 發起了GNU計劃,它的目標是開發一個完整且自由的Unix-like操作系統(GNU系統)。
GNU系統是一個完整的操作系統,包括操作系統內核和各種工具軟體。各種GNU系統的變種(例如Redhat、Ubuntu等)已經被廣泛使用,它們使用的操作系統內核都是Linux。雖然這些系統經常被稱為Linux,但准確地說,它們是GNU/Linux系統。
GNU在編寫Linux時擴展了標准C,稱為GNUC。
GNU C的擴展詳見:Extensions to the C Language Family
GNU C也稱為Linux C,一般用於Linux上的開發,而標准C可以跨平台。
GNU C使用的編譯器是GCC。
D. C語言誕生的時候,是在什麼操作系統下運行的
1、第一版的unix是用匯編語言寫的,於1971年誕生。1973年,Ritchie完成了第一版C語言核心,基於unix操作系統。同年,Ritchie用C語言重寫了unix核心。
2、歷史發展的軌跡是:
匯編語言寫的unix
V1
-》
C語言誕生在unix平台上
-》C語言重寫unix(V4)
E. 哪些操作系統是用C語言編寫的
Unix某個版本是用C語言編寫的,在C語言使用之前,用的是匯編
Windows傳聞80%是用C語言編寫的,也有部分是C和匯編混編的
據說Windows2000以後大多是用C++編寫的
Linux是用C語言編寫的,它的代碼是公開的,可以去看看,看懂了基本就無敵了
Mac
OS至今還不清楚,應該不會脫離C/C++吧,用匯編不知道要編到猴年馬月去了,其它高級語言又不能進行底層操作,C/C++相對於其它高級語言來說,最合適了,當然肯定不及匯編了
F. c語言的操作系統是什麼
c語言是一種編程語言。 跟操作系統沒有任何關系。
沒有所謂的c語言的操作系統說法。
如果你指哪些操作系統是用c語言開發的,那麼 windows,linux,mac等都用了c語言開發他們的操作系統。
c語言知識一個語言,用於編程,指示計算機處理器如何工作,處理數據等。你可以用c語言,也可以用其他很多語言。
操作系統是一個大型軟體,軟體本身管理計算機系統的各種資源:cpu,內存,各種設備,文件,進程線程調度等。 這個軟體本身可以用c語言來寫,也可以用其他語言來寫出來。
G. c語言是幹嘛的,做操作系統
是用來編程的
具體如下:
c語言C語言是目前世界上流行、使用非常廣泛的高級程序設計語言。
C語言對操作系統和系統使用程序以及需要對硬體進行操作的場合,用C語言明顯優於其它高級語言,許多大型應用軟體都是用C語言編寫的。
C語言具有繪圖能力強,可移植性,並具備很強的數據處理能力,因此適於編寫系統軟體,三維,二維圖形和動畫它是數值計算的高級語言。
常用的編譯軟體有Microsoft Visual C++,Borland C++,Watcom C++ ,Borland C++ ,Borland C++ Builder,Borland C++ 3.1 for DOS,Watcom C++ 11.0 for DOS,GNU DJGPP C++ ,Lccwin32 C Compiler 3.1,Microsoft C,High C,TurboC等等......
C語言的發展歷史
C語言的發展頗為有趣。它的原型ALGOL 60語言。(也成為A語言)
1963年,劍橋大學將ALGOL 60語言發展成為CPL(Combined Programming Language)語言。
1967年,劍橋大學的Matin Richards 對CPL語言進行了簡化,於是產生了BCPL語言。
1970年,美國貝爾實驗室的Ken Thompson將BCPL進行了修改,並為它起了一個有趣的名字「B語言」。意思是將CPL語言煮干,提煉出它的精華。並且他用B語言寫了第一個UNIX操作系統。
而在1973年,B語言也給人「煮」了一下,美國貝爾實驗室的D.M.RITCHIE在B語言的基礎上最終設計出了一種新的語言,他取了BCPL的第二個字母作為這種語言的名字,這就是C語言。
為了使UNIX操作系統推廣,1977年Dennis M.Ritchie 發表了不依賴於具體機器系統的C語言編譯文本《可移植的C語言編譯程序》。
1978年Brian W.Kernighian和Dennis M.Ritchie出版了名著《The C Programming Language》,從而使C語言成為目前世界上流行最廣泛的高級程序設計語言。
1988年,隨著微型計算機的日益普及, 出現了許多C語言版本。由於沒有統一的標准,使得這些C語言之間出現了一些不一致的地方。為了改變這種情況,美國國家標准研究所(ANSI)為C語言制定了一套ANSI標准, 成為現行的C語言標准 3.C語言的主要特點 。C語言發展迅速, 而且成為最受歡迎的語言之一, 主要因為它具有強大的功能。許多著名的系統軟體, 如DBASE Ⅲ PLUS、DBASE Ⅳ 都是由C 語言編寫的。用C語言加上一些匯編語言子程序, 就更能顯示C語言的優勢了,象PC- DOS 、WORDSTAR等就是用這種方法編寫的。
C語言版本
目前最流行的C語言有以下幾種:
·Microsoft C 或稱 MS C
·Borland Turbo C 或稱 Turbo C
·AT&T C
這些C語言版本不僅實現了ANSI C標准,而且在此基礎上各自作了一些擴充,使之更加方便、完美。
面向對象的程序設計語言
在C的基礎上,一九八三年又由貝爾實驗室的Bjarne Strou-strup推出了C++。 C++進一步擴充和完善了C語言,成為一種面向 對象的程序設計語言。C++目前流行的最新版本是Borland C++4.5,Symantec C++6.1,和Microsoft VisualC++ 2.0。C++提出了一些更為深入的概念,它所支持的這些面向對象的概念容易將問題空間直接地映射到程序空間,為程序員提供了一種與傳統結構程序設計不同的思維方式和編程方法。因而也增加了整個語言的復雜性,掌握起來有一定難度。
C語言的特點
1. 簡潔緊湊、靈活方便
C語言一共只有32個關鍵字,9種控制語句,程序書寫自由,主要用小寫字母表示。它把高級語言的基本結構和語句與低級語言的實用性結合起來。 C 語言可以象匯編語言一樣對位、位元組和地址進行操作, 而這三者是計算機最基本的工作單元。
2. 運算符豐富
C的運算符包含的范圍很廣泛,共有種34個運算符。C語言把括弧、賦值、強制類型轉換等都作為運算符處理。從而使C的運算類型極其豐富表達式類型多樣化,靈活使用各種運算符可以實現在其它高級語言中難以實現的運算。
3. 數據結構豐富
C的數據類型有:整型、實型、字元型、數組類型、指針類型、結構體類型、共用體類型等。能用來實現各種復雜的數據類型的運算。並引入了指針概念,使程序效率更高。另外C語言具有強大的圖形功能, 支持多種顯示器和驅動器。且計算功能、邏輯判斷功能強大。
4. C是結構式語言
結構式語言的顯著特點是代碼及數據的分隔化,即程序的各個部分除了必要的信息交流外彼此獨立。這種結構化方式可使程序層次清晰, 便於使用、維護以及調試。C語言是以函數形式提供給用戶的,這些函數可方便的調用,並具有多種循環、條件語句控製程序流向,從而使程序完全結構化。
5. C語法限制不太嚴格、程序設計自由度大
一般的高級語言語法檢查比較嚴,能夠檢查出幾乎所有的語法錯誤。而C語言允許程序編寫者有較大的自由度。
6. C語言允許直接訪問物理地址,可以直接對硬體進行操作
因此既具有高級語言的功能,又具有低級語言的許多功能,能夠象匯編語言一樣對位、位元組和地址進行操作,而這三者是計算機最基本的工作單元,可以用來寫系統軟體。
7. C語言程序生成代碼質量高,程序執行效率高
一般只比匯編程序生成的目標代碼效率低10へ20%。
8. C語言適用范圍大,可移植性好
C語言有一個突出的優點就是適合於多種操作系統, 如DOS、UNIX,也適用於多種機型。
C源程序的結構特點
1.一個C語言源程序可以由一個或多個源文件組成。
2.每個源文件可由一個或多個函數組成。
3.一個源程序不論由多少個文件組成,都有一個且只能有一個main函數,即主函數。
4.源程序中可以有預處理命令(include 命令僅為其中的一種),預處理命令通常應放在源文件或源程序的最前面。
5.每一個說明,每一個語句都必須以分號結尾。但預處理命令,函數頭和花括弧「}」之後不能加分號。
6.標識符,關鍵字之間必須至少加一個空格以示間隔。若已有明顯的間隔符,也可不再加空格來間隔。
書寫程序時應遵循的規則
當然,C語言也有自身的不足,比如:C語言的語法限制不太嚴格,對變數的類型約束不嚴格,影響程序的安全性,對數族下標越界不作檢查等。從應用的角度,C語言比其他高級語言較難掌握。
總之,C語言既有高級語言的特點,又具有匯編語言的特點;既是一個成功的系統設計語言,有時一個使用的程序設計語言;既能用來編寫不依賴計算機硬體的應用程序,又能用來編寫各種系統程序;是一種受歡迎、應用廣泛的程序設計語言。
C語言有很多的優點
指針就是C語言的一大特色,可以說C語言優於其它高級語言的一個重要原因就是因為它有指針操作可以直接進行靠近硬體的操作,但是C的指針操作也給它帶來了很多不安全的因素.C++在這方面做了很好的改進,在保留了指針操作的同時又增強了安全性。Java又進一步提高了安全性。
C語言的缺點
C語言的缺點主要是表現在數據的封裝性上,這一點使得C在數據的安全性上做的有很大缺陷,這也是C和C++的一大區別
H. C語言如何自製操作系統
用obj做成二進制,格式是:obj -I elf格式 -S -R ".eh_frame" -R ".comment" -O binary elf文件 最終的二進制文件.例如: obj -I elf32-i386 -S -R ".eh_frame" -R ".comment" -O binary a.obj a.bin
I. 全國計算機等級考試c語言用什麼操作系統
Visual
C6.0和Turbo
C2.0隻能代表編譯器並不是操作系統(上機考試中操作系統一般為Window2000)
Visual
C6.0和Turbo
C2.0主要區別在於適用的環境、編譯的結果和使用的部分函數不同
Visual
C6.0適用的環境和編譯的結果為32位的程序(Windows程序),不支持部分DOS下相關的函數(具體是哪些,我也不是很清楚),界面為標準的Windows圖形界面
Turbo
C2.0適用的環境和編譯的結果為16位的程序(DOS程序),界面為DOS下的圖形界面
全國計算機等級考試c語言用的是Windows2000操作系統+Visual
C6.0
以下是2008年全國計算機等級考試(NCRE)報名簡章的部分原文
在二級C語言程序設計、三級信息管理技術、三級網路技術和三級資料庫技術的上機考試中,採用Visual
C++6.0替代Turbo
C2.0。
至於你問的:「為什麼很多教程都是用TURBO
C
」
其實道理很簡單,因為中國的計算機教育比較落後,教材也隨之落後。同時C語言在計算機編程教育中是一門入門級的語言,因此對於此門語言的學習重點是語法和思路,而編程工具也就不是那麼重要了。
P.S
Visual
C6.0(即Visual
C++6.0)如他的名字一樣他除了能編譯C語言以外還能編譯C++語言,而Turbo
C2.0隻能編譯C語言。同時你如果為了考試的話,千萬不要去買有關Visual
C6.0的書籍,或者要看清楚他的內容,因為Visual
C6.0的書籍大多是講述MFC微軟基礎類(Microsoft
Foundation
Classes)的使用技巧,可以看作是微軟版的C++內容,作為考試的參考你可以考慮去看一些
標准C的書