不同的編譯器的語法
㈠ C編譯器問題。不同編譯器中編寫C/C++程序語法是否有不同
for(int i=0;i<10;++i) cout<<i;
cout<<i;
Dev-c++里,是錯的。i的作用域只是for
vc6.0里是對的。
這只是c++的寫法。c里變數聲明必須放在前面,不會有這種情況。
其他的沒用過。
㈡ 不同的c++軟體用的編程語言不同嗎
編程語言和編譯器是兩個不同的東西。
不同的編譯器同一語言的語法都是一樣的。就拿C++來說,他們都遵循C++11/14/17標准。
不同編譯器的區別就是他們的字體環境,mingw版本,關鍵字識別等有區別,語言方面是沒有區別的。
本回答來自工中號一匹大懶蟲。
如果滿意請採納,不滿意請繼續提問。
C++簡介
在C的基礎上,一九八三年又由貝爾實驗室的Bjarne Strou-strup推出了C++。 C++進一步擴充和完善了c語言,成為一種面向 對象的程序設計語言。C++目前流行的集成開發環境最新版本是Borland C++4.5,Symantec C++6.1,和Microsoft VisualC++2017。C++提出了一些更為深入的概念,它所支持的這些面向對象的概念容易將問題空間直接地映射到程序空間,為程序員提供了一種與傳統結構程序設計不同的思維方式和編程方法。因而也增加了整個語言的復雜性,掌握起來有一定難度。
C和C++關系
但是,C是C++的基礎,C++語言和C語言在很多方面是兼容的。因此,掌握了C語言,再進一步學習C++就能以一種熟悉的語法來學習面向對象的語言,從而達到事半功倍的目的。
㈢ 操作系統不一樣、編譯軟體不一樣,c語言的語法是否需要相應變化
系統平台不同只會導致平台api不同,並不會讓編程語言的語法發生改變,如果這么容易改變,談何跨平台之說。
㈣ 請問編程語法規則,是不是根據不同編譯器來定的
不,一個語言的語法是早就確定好的,它有一個統一標准——例如 ANSI C。
不同編譯器可能有些許不同,比如有的編譯器a=b=c結果很可能不一樣(所以我們很少這么用
但是大體上,一個語言的編譯器得出的結果是一樣的,是根據語法規則做出編譯器而非編譯器確定語法規則。
zhengshu a=0,編譯器肯定不認,理由是沒有這個type;但是你可以通過typedef自定義任意的類型。
int是一種type,而type varlist;是聲明變數的語法(int a; char b;)
你寫了int a=0;那麼這時編譯器做的就是在內存中開出一個能存int數據的空間,然後把0給填進去,再記錄下這塊內存的地址,並記住這個地址叫做a。至於分析代碼什麼的,就是編譯器的事情了。
——以上。
㈤ C語言編譯器有哪些各有什麼特點
C語言編譯器目前主要有VC++、dev-C++、C-Free、win-TC、TC 2.0等等。
其中比較經典的VC++,微軟的產品,編譯器,鏈接器,運行,調試等功能於一體的強大開發工具,特點是功能十分強大,對於新手來說需要一段時間去摸索。
dev-C++是windows下一款開發c/c++的開發環境,使用gcc為編譯器,遵循標准,功能比較強大,語法高量,可以進行單步調試(這對排除錯誤很重要),進行斷點設置等功能,遵循C標准,是一款很強大的開發工具。
C-Free是一款支持多種編譯器的專業化C/C++集成開發環境(IDE)。利用C-Free,使用者可以輕松地編輯、編譯、連接、運行、調試C/C++程序。
TC 2.0:Borland公司的產品,在dos界面下編譯運行,小巧、靈活,但是不能使用滑鼠。
win-TC:在tc2.0的基礎上加上了界面,能夠使用滑鼠,具有語法高量,可以嵌入匯編等特點,對新手一些,拜託了不能用滑鼠的困難。
編譯器,簡單講,就是將「一種語言(通常為高級語言)」翻譯為「另一種語言(通常為低級語言)」的程序。一個現代編譯器的主要工作流程:源代碼 (source code) → 預處理器 (preprocessor) → 編譯器 (compiler) → 目標代碼 (object code) → 鏈接器(Linker) → 可執行程序 (executables)。
㈥ C語言的編譯器為什麼有許多不同的版本並且在不同的編譯器版本下C語言的語法規則也不盡相同
C的標准本來就有多個版本,目前編譯器採用的標准比較常見的是ANSI C和C99。另外語言標准中也存在未定義行為,留給編譯器實現自己去定義。各種編譯器對標準的實現也未必完全遵守(C還好,C++這種特別復雜的語言就很難做到完全遵守標准了),而且往往還增加一些自己的擴展,預定義宏之類的。這些都給跨編譯器編碼帶來麻煩。不過總體而言C是個比較單純的語言,除非程序員故意,一般搞不出太多給編譯器出難題的花樣。作為長期用C++的程序員,非常羨慕C代碼編譯時那種飛快的速度。
麻煩採納,謝謝!
㈦ 編譯原理中的語法和文法一樣嗎
編譯原理中的語法和文法是不一樣的,但卻融會貫通。
在計算機科學中,文法是編譯原理的基礎,是描述一門程序設計語言和實現其編譯器的方法。
文法分成四種類型,即0型、1型、2型和3型。這幾類文法的差別在於對產生式施加不同的限制。
形式語言,這種理論對計算機科學有著深刻的影響,特別是對程序設計語言的設計、編譯方法和計算復雜性等方面更有重大的作用。
多數程序設計語言的單詞的語法都能用正規文法或3型文法(3型文法G=(VN,VT,P,S)的P中的規則有兩種形式:一種是前面定義的形式,即:A→aB或A→a其中A,B∈VN ,a∈VT*,另一種形式是:A→Ba或A→a,前者稱為右線性文法,後者稱為左線性文法。正規文法所描述的是VT*上的正規集)來描述。
四個文法類的定義是逐漸增加限制的,因此每一種正規文法都是上下文無關的,每一種上下文無關文法都是上下文有關的,而每一種上下文有關文法都是0型文法。稱0型文法產生的語言為0型語言。上下文有關文法、上下文無關文法和正規文法產生的語言分別稱為上下文有關語言、上下文無關語言和正規語言。
㈧ 為什麼c語言有很多不同的版本
C的標准本來就有多個版本,目前編譯器採用的標准比較常見的是ANSI C和C99。另外語言標准中也存在未定義行為,留給編譯器實現自己去定義。各種編譯器對標準的實現也未必完全遵守(C還好,C++這種特別復雜的語言就很難做到完全遵守標准了),而且往往還增加一些自己的擴展,預定義宏之類的。這些都給跨編譯器編碼帶來麻煩。不過總體而言C是個比較單純的語言,除非程序員故意,一般搞不出太多給編譯器出難題的花樣。
㈨ 電腦如何識別這么多編程軟體,每個編程軟體語法都不一樣啊
不論什麼編程軟體,都屬於高級語言(C++、JAVA、VB、C#等等),而所有編程軟體經過編譯後,都會被改寫成匯編語言。
通常那些反編譯軟體,就是把EXE程序反編譯為匯編語言。
而電腦在執行時,也不能直接執行匯編語言,而是需要轉換為機器語言,也就是最底層,僅供電腦讀取的語言。
簡單說,機器語言就是全部由0和1組成,比如數字100,變成機器語言就是1100100。
所以編程語言的語法不一樣沒關系,最終目的都是被翻譯為機器語言,只要能成功翻譯,並讓電腦執行就可以了。