⑴ 計算機是如何識別C語言的
計算機是不能直接識別C語言的,它需要經過特殊的編譯器,編譯之後的二進制才能被計算機識別,計算機只能識別二進制代碼。
整個程序的編譯過程中有三個角色:程序員——編譯器——計算機。
程序員和編譯器之間的交流是C語言,同時編譯器也能把C語言經過翻譯成二進制指令。編譯器相當於程序員和計算機之間的翻譯官。
一個C語言程序的過程有以下步驟:
一、程序員使用C語言編寫代碼;
二、編譯把代碼翻譯成二進制指令;這里也有四個步驟:
a.預處理,這里主要處理頭文件,和程序中的一些宏代碼;
b.編譯,主要是把每個C語言文件編譯成二進制目標代碼;
c.鏈接,把上一步生成的目標代碼和庫文件進行鏈接,最終生成可執行程序。
以上就是C語言到計算機可識別代碼的轉換過程。
⑵ 學習C語言一定要用編譯軟體嗎菜鳥
可以編寫,不能編譯.
因為c語言寫出來的不是機器語言,不能直接識別和運行.
所有的文本編輯器都可以用來寫c語言。但是不能編譯。
⑶ C語言程序在計算機上可以直接運行嗎
C語言程序在計算機上是不可以直接運行的。需要編譯成為EXE程序後才能在計算機上運行。
⑷ 幫我回答這個C語言選擇題
A)C語言的源程序不必通過編譯就可以直接運行
//a錯了,必須編譯才能執行,C是編譯語言,不是腳本語言
B)C語言中的每條可執行語句最終都將被轉換成二進制的機器指令
//b錯,並不是每條語句都被轉換為二進制的機器指令的,例如函數聲明,頭文件包含肯定不被編譯成二進制指令;並且如果加入了、#ifdef、#if 、#else等條件編譯語句的話,那麼它中間的語句肯定是不被編譯的
C)C源程序經編譯形成的二進制代碼可以直接運行
//對的
D)C語言中的函數不可以單獨進行編譯
//d錯的,函數當然可以單獨編譯,建立N個文件,每個文件都寫一個函數,然後進行編譯,這沒什麼問題,但是main函數必須只能有一個
⑸ 計算機是如何識別計算機語言的語法規則的
計算機的語言經歷了幾個階段,C語言也不是一下子就出現的。
目前計算機能夠直接執行的只有機器語言,所謂機器語言,就是人們熟知的01代碼,在機器中實際上表現為高低電平。
很顯然,01代碼對於人類的記憶是很麻煩的,於是接著機器語言,出現了匯編語言,匯編語言使用ASCII字元串來代替了特定的01代碼,這樣就便於了人們的記憶和程序設計,但是匯編語言並不是機器語言,計算機無法直接執行它,所以還必須經過匯編過程,匯編過程可以人工匯編,也可以機器匯編,人工匯編就是人工查表,找出匯編代碼對應的機器代碼將匯編代碼翻譯為機器代碼,機器匯編和人工匯編的過程一樣,只不過由機器查表代替人工查表。
匯編仍然有其局限性,那就是指令太多,而且非常依賴於目標機器,因此可移植性非常差。所以出現了C語言,C語言就非常接近人類語言了,為人類進行程序設計帶來了極大便利,而且使用C語言不需要太多關注目標機器。但是C語言必須經過編譯才可以運行,而這些編譯器並不是人人都能寫出來的,我們能夠使用C語言都得感謝最初的那些計算機大牛們。一般情況下,C語言會被先翻譯為匯編語言,再經過匯編器翻譯為機器語言,這樣計算機就可以直接運行了。
然後隨著發展的需要,出現了面向對象程序設計。這個時候出現了更多的程序語言,編譯型的,解釋型的……一種程序語言的出現和興起都依賴於時代需求。
現代編程,已經變得非常容易,因為有各種IDE(集成開發環境)可用,所謂IDE,說白了就是一個代碼編輯器(類似於記事本,比記事本強大)加上一個編譯器或者說解釋器,你編輯代碼保存,然後點一點滑鼠就可以完成編譯(生成機器語言代碼,對於人類沒有可讀性)。
電腦並沒有存放語法規則的地方,但是編譯器會在執行編譯之前檢查你的代碼語法,如果有問題它會提示你,如果沒有就會進行編譯。
想要知道明白更多,應該網路或者谷歌關鍵詞……如果有興趣應該選一種編程語言進行學習,那樣你會有更加深入的了解的……