當前位置:首頁 » 編程語言 » 機器如何讀懂c語言
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

機器如何讀懂c語言

發布時間: 2022-06-28 18:19:23

1. c語言可以怎麼去理解。

C語言不是可以和機器交流的語言,他需要編譯成匯編語言才可以和機器交流。C語言是一種給計算機下達指令的特殊交流方式,以人能夠理解字元去書寫,然後通過編譯器編譯後成為機器所能識別的代碼。每個字元都有自己的含義,但是不是每個字母。他不像平常我們說的話。

2. 計算機是如何識別C語言的

電腦只識別 1010101010101010101010 機器語言 不識別C語言 C語言寫完之後,還要用編譯程序翻譯成機器語言,並生成後綴名為exe的二進製程序。 C語言不提供中文關鍵詞 只能在注釋和輸出時用中文

記得採納啊

3. 程序語言最終怎樣被轉換成計算機能讀懂的機械語言,0和1,

程序語言有很多,拿最常用的c/c++語言舉例。

將用戶的文本形式的源代碼轉化成計算機可以直接執行的機器代碼的過程。主要經過這么幾個過程:

一、預編譯,又稱為預處理 , 是做些代碼文本的替換工作

二、編譯,由編譯器將c源代碼(.cpp)轉變成匯編代碼(.s)

三、匯編,由匯編器將匯編代碼(.s)轉變成目標代碼(.o)

四、鏈接,由鏈接器將代碼在執行過程用到的其他目標代碼和庫文件鏈接成為一個可執行程序也就是目標程序。

經過以上步驟高級語言就會被解釋成為計算機可以認知的機器語言。

(3)機器如何讀懂c語言擴展閱讀

一、預編譯

1、定義

處理以# 開頭的指令 , 比如拷貝 #include 包含的文件代碼,#define 宏定義的替換 , 條件編譯等,就是為編譯做的預備工作的階段。

主要處理#開始的預編譯指令,預編譯指令指示了在程序正式編譯前就由編譯器進行的操作,可以放在程序中的任何位置。

二、編譯

1、定義

編譯的過程就是將源代碼文件以字元流的形式進行處理,進行詞法和語法的分析,然後通過匯編器將源代碼指令轉變成匯編指令,編譯的過程包括兩個大部分:預處理 = 預編譯

2、特殊符號

特殊符號是指:例如在源程序中出現的LINE標識將被解釋為當前行號(十進制數),FILE則被解釋為當前被編譯的C源程序的名稱。預編譯程序對於在源程序中出現的這些串將用合適的值進行替換。

三、匯編

1、定義

匯編過程實際上是把匯編語言代碼翻譯成目標機器指令的過程。對於被翻譯系統處理的每一個C語言源程序,都將最終經過這一處理而得到相應的目標文件。目標文件中所存放的也就是與源程序等效的目標的機器語言代碼。

四、鏈接

1、定義

由匯編程序生成的目標文件並不能立即就被執行,其中可能還有許多沒有解決的問題。

4. 計算機語言是怎麼被計算機讀懂的

計算機語言:計算機語言通常是一個能完整、准確和規則地表達人們的意圖,並用以指揮或控制計算機工作的「符號系統」。

計算機語言通常分為三類:即機器語言,匯編語言和高級語言。 (了解內容一)

1. 機器語言
機器語言是用二進制代碼表示的計算機能直接識別和執行的一種機器指令的集合。它是計算機的設計者通過計算機的硬體結構賦予計算機的操作功能。機器語言具有靈活、直接執行和速度快等特點。
用機器語言編寫程序,編程人員要首先熟記所用計算機的全部指令代碼和代碼的涵義。手編程序時,程序員得自己處理每條指令和每一數據的存儲分配和輸入輸出,還得記住編程過程中每步所使用的工作單元處在何種狀態。這是一件十分繁瑣的工作,編寫程序花費的時間往往是實際運行時間的幾十倍或幾百倍。而且,編出的程序全是些0和1的指令代碼,直觀性差,還容易出錯。現在,除了計算機生產廠家的專業人員外,絕大多數程序員已經不再去學習機器語言了。

2.匯編語言
為了克服機器語言難讀、難編、難記和易出錯的缺點,人們就用與代碼指令實際含義相近的英文縮寫詞、字母和數字等符號來取代指令代碼(如用ADD表示運算符號「+」的機器代碼),於是就產生了匯編語言。所以說,匯編語言是一種用助記符表示的仍然面向機器的計算機語言。匯編語言亦稱符號語言。匯編語言由 於是採用了助記符號來編寫程序,比用機器語言的二進制代碼編程要方便些,在一定程度上簡化了編程過程。匯編語言的特點是用符號代替了機器指令代碼,而且助記符與指令代碼一一對應,基本保留了機器語言的靈活性。使用匯編語言能面向機器並較好地發揮機器的特性,得到質量較高的程序。
匯編語言中由於使用了助記符號,用匯編語言編制的程序送入計算機,計算機不能象用機器語言編寫的程序一樣直接識別和執行,必須通過預先放入計算機的「匯編程序「的加工和翻譯,才能變成能夠被計算機識別和處理的二進制代碼程序。用匯編語言等非機器語言書寫好的符號程序稱源程序,運行時匯編程序要將源程序翻譯成目標程序。目標程序是機器語言程序,它一經被安置在內存的預定位置上,就能被計算機的CPU處理和執行。
匯編語言像機器指令一樣,是硬體操作的控制信息,因而仍然是面向機器的語言,使用起來還是比較繁瑣費時,通用性也差。匯編語言是低級語言。但是,匯編語言用來編制系統軟體和過程式控制制軟體,其目標程序佔用內存空間少,運行速度快,有著高級語言不可替代的用途。

3.高級語言
不論是機器語言還是匯編語言都是面向硬體的具體操作的,語言對機器的過分依賴,要求使用者必須對硬體結構及其工作原理都十分熟悉,這對非計算機專業人員是難以做到的,對於計算機的推廣應用是不利的。計算機事業的發展,促使人們去尋求一些與人類自然語言相接近且能為計算機所接受的語意確定、規則明確、自然直觀和通用易學的計算機語言。這種與自然語言相近並為計算機所接受和執行的計算機語言稱高級語言。高級語言是面向用戶的語言。無論何種機型的計算機,只要配備上相應的高級語言的編譯或解釋程序,則用該高級語言編寫的程序就可以通用。

目前被廣泛使用的高級語言有BASIC、PASCAL、C、COBOL、FORTRAN、LOGO以及VC、VB等。這些語言都是屬於系統軟體。 (了解內容二)

計算機並不能直接地接受和執行用高級語言編寫的源程序,源程序在輸入計算機時,通過「翻譯程序」翻譯成機器語言形式的目標程序,計算機才能識別和執行。這種「翻譯」通常有兩種方式,即編譯方式和解釋方式。編譯方式是:事先編好一個稱為編譯程序的機器語言程序,作為系統軟體存放在計算機內,當用戶由高級語言編寫的源程序輸入計算機後,編譯程序便把源程序整個地翻譯成用機器語言表示的與之等價的目標程序,然後計算機再執行該目標程序,以完成源程序要處理的運算並取得結果。解釋方式是:源程序進入計算機時,解釋程序邊掃描邊解釋作逐句輸入逐句翻譯,計算機一句句執行,並不產生目標程序。PASCAL、FORTRAN、COBOL等高級語言執行編譯方式;BASIC語言則以執行解釋方式為主;而PASCAL、C語言是能書寫編譯程序的高級程序設計語言。 每一種高級(程序設計)語言,都有自己人為規定的專用符號、英文單詞、語法規則和語句結構(書寫格式)。高級語言與自然語言(英語)更接近,而與硬體功能相分離(徹底脫離了具體的指令系統),便於廣大用戶掌握和使用。高級語言的通用性強,兼容性好,便於移植。下面介紹幾種較有代表性的高級程序設計語言:

⑴BASIC語言
BASIC語言全稱是Beginner』s all Purpose Symbolic Instruction Code,意為「初學者通用符號指令代碼「。1964年由美國達爾摩斯學院的基米尼和科茨完成設計並提出了BASIC語言的第一個版本,經過不斷豐富和發展,現已成為一種功能全面的中小型計算機語言。BASIC易學、易懂、易記、易用,是初學者的入門語言,也可以作為學習其他高級語言的基礎。BASIC有解釋方式和編譯方式兩種翻譯程序。

⑵PASCAL語言
PASCAL是一種結構程序設計語言,由瑞士蘇黎世聯邦工業大學的沃斯(N.Wirth)教授研製,於1971年正式發表。是從ALGOL60衍生的,但功能更強且容易使用。目前,作為一個能高效率實現的實用語言和一個極好的教學工具,PASCAL語言在高校計算機軟體教學中一直處於主導地位。Pascal(B.Pascal)是十七世紀法國著名數學家,他於1642年曾發明現代台式計算機的雛型機—加減法計算機。
PASCAL具有大量的控制結構,充分反映了結構化程序設計的思想和要求,直觀易懂,使用靈活,既可用於科學計算,又能用來編寫系統軟體,應用范圍日益廣泛。

⑶通用編程語言C
C語言是美國AT&T(電報與電話)公司為了實現UNIX系統的設計思想而發展起來的語言工具。C語言的主要特色是兼顧了高級語言和匯編語言的特點,簡潔、豐富、可移植。相當於其他高級語言子程序的函數是C語言的補充,每一個函數解決一個大問題中的小任務,函數使程序模塊化。C語言提供了結構式編程所需要的各種現代化的控制結構。
C語言是一種通用編程語言,正被越來越多的計算機用戶所推崇。使用C語言編寫程序,既感覺到使用高級語言的自然,也體會到利用計算機硬體指令的直接,而程序員卻無需捲入匯編語言的繁瑣。

⑷COBOL語言
COBOL的全稱是Common Business Oriented Language,意即:通用商業語言。
在企業管理中,數值計算並不復雜,但數據處理信息量卻很大。為專門解決經企管理問題,於1959年,由美國的一些計算機用戶組織設計了專用於商務處理的計算機語言COBOL,並於1961年美國數據系統語言協會公布。經不斷修改、豐富完善和標准化,已發展為多種版本。
COBOL語言使用了300多個英語保留字,大量採用普通英語詞彙和句型,COBOL程序通俗易懂,素有「英語語言」之稱。
COBOL語言語法規則嚴格。用COBOL語言編寫的任一源程序,都要依次按標識部、環境部、數據部和過程部四部分書寫,COBOL程序結構的「部」內包含「節」,「節」內包含「段」,段內包含語句,語句由字或字元串組成,整個源程序象一棵由根到干,由干到枝,由枝到葉的樹,習慣上稱之為樹型結構。
目前COBOL語言主要應用於情報檢索、商業數據處理等管理領域。

常用的高級程序設計語言,除了上述的幾種之外,還有很多,如以英國著名詩人拜倫(G.N.G.Byron)的獨生女艾達·拜倫(Ada Byron)的名字命名的軍用語言Ada,深受中、小學生歡迎的語言LOGO等等。

目前,程序設計語言及編程環境正向面向對象語言及可視化編程環境方向發展,出現了許多第四代語言及其開發工具。如:微軟公司(Microsoft)開發的Visual系列(VC++、VB、FoxPro)編程工具及Power Builder等,目前已經在國內外得到了廣泛的應用。
參考資料:http://www.jszx.zj.cn/pascal/yuyan.htm

5. 什麼是C語言,怎麼才能了解C語言呢

最好就是買本C的書看看

6. 編程語言是怎麼回事機器不是只能讀代碼嗎包括C語言之類的,裡面不是有英文嗎,那機器能讀懂嗎

編譯器會把c語言編譯成為匯編,每條匯編指令對應一條機器碼,也就是二進制0,1碼,cpu只識別二進制碼,而且,不同的cpu有不同架構,電腦基本都是x86架構,所以,是x86匯編,手機是arm架構,採用arm匯編,所以,電腦的程序不可以在手機上運行,除非採用解析器,進行匯編之間的解析,總之,所有的語言都會由編譯器編譯成匯編,再轉換成二進制碼,再通過地址的鏈接,才最終成為可執行程序

7. C語言中那麼多的語法規則,到底是如何實現的呢是處理器CPU完成的嗎求詳解

首先理解一下高級語言跟機器語言的區別。

CPU是硬體單元,只認識0和1兩種狀態,因為這兩個狀態容易表示,比如有電壓就是1,沒有就是0,因為硬體比較笨。(具體CPU是不是按電壓不清楚了)

能認識一個0和1,那它就能認識一串0和1,比如0000,00001,11001。實際上,一旦CPU識別了這些串,就可以定義一些基本的指令,比如放內存放一個數,取一個數,各種操作。這些操作都是很原始的,可以看看匯編指令。

有了這些原始的指令,就可以構造更復雜的計算過程了。但是讓人直接基於這些指令,比較困難。所以就有人設計了高級語言,如C、C++、Java等等。
這些高級語言符合人們的理解方式,更容易被理解,但是CPU肯定不能直接理解,因為它只認0和1.

所以你寫好的C語言等高級代碼,首先被工具編譯為了機器能夠識別的0和1指令,然後才能執行。當然這個編譯的過程是很復雜的(包含鏈接等操作)。然後就把你所謂的語法規則翻譯到了機器級別的基本指令。

8. C語言 匯編語言等是人類編寫的語言,為什麼機器能讀懂並能執行相應指令

編程語言經過編譯,形成二進制碼,轉換成電壓等物理量輸出,機器能識別的是這些物理量。
程序員其實就是人類語言(自然語言)和機器語言之間的翻譯。

9. c語言是怎樣變成計算機可以識別的二進制機器指令的急求 …詳細點

一般C語言都在特定的環境中編寫,比如visual c++,turbo C之類的。這些環境中帶有C語言編譯器,當你點編譯的時候,編譯器就會將C代碼轉換為匯編語言。匯編語言和二進制指令有直接對應關系,機器可以識別。就是這樣

10. C語言怎樣才能看懂

隨便買一本代碼比較多的,個人推薦譚浩強的,其實學習C語言包括其他計算機編程語言,不能像小學生那個學習模式了。基本語法沒有多少,
常用的語句也就那幾個。本人認為沒有必要像小學生那樣每天都看課本,等看完了,你會發現什麼都沒有學到。
開始的時候自己可以找一點例子(書上的例題就行),不要看簡單,但是能讓自己對語法和格式進行熟悉。
我甚至認為看代碼之前可以不看書,自己去領悟代碼的意思,實在領悟不了,在看書,這樣學習速度會比較快。還有一點最重要的是:要不停的練習,找一些經典的演算法進行練習,或者編寫一些能夠使用的小程序。這樣對技術和興趣都是很好的提高.
以上就是我的觀點,說得不好請見諒。呵呵