『壹』 開發一個c語言程序要經過哪四個步驟
開發一個C語言程序需要經過的四個步驟:編輯、編譯、連接、運行。
C語言程序可以使用在任意架構的處理器上,只要那種架構的處理器具有對應的C語言編譯器和庫,然後將C源代碼編譯、連接成目標二進制文件之後即可運行。
1、預處理:輸入源程序並保存(.C文件)。
2、編譯:將源程序翻譯為目標文件(.OBJ文件)。
3、鏈接:將目標文件生成可執行文件( .EXE文件)。
4、運行:執行.EXE文件,得到運行結果。
(1)c語言的語言處理程序是哪個擴展閱讀:
C語言代碼變為程序的幾個階段:
1、首先是源代碼文件test.c和相關的頭文件,如stdio.h等被預處理器cpp預處理成一個.i文件。經過預編譯後的.i文件不包含任何宏定義,因為所有的宏已經被展開,並且包含的文件也已經被插入到.i文件中。
2、編譯過程就是把預處理完的文件進行一系列的詞法分析、語法分析、語義分析以及優化後產生相應的匯編代碼文件,這個過程往往是我們所說的整個程序的構建的核心部分,也是最復雜的部分之一。
3、匯編器不直接輸出可執行文件而是輸出一個目標文件,匯編器可以調用ld產生一個能夠運行的可執行程序。即需要將一大堆文件鏈接起來才可以得到「a.out」,即最終的可執行文件。
4、在鏈接過程中,對其他定義在目標文件中的函數調用的指令需要被重新調整,對實用其他定義在其他目標文件的變數來說,也存在同樣問題。
參考資料來源:網路-c語言
『貳』 將c語言編寫的源程序轉換成可執行程序要用什麼程序處理
不同版本的c語言可能有所不同,以下以TC20為例:
一、IDE環境中生成
1)雙擊TC文件夾下的TC.EXE啟動TC20。
2)按F3,選擇打開源程序。(1.c)
3)按F9即可生成打開文件名的可執行文件。(如開始的是1.c,則生成1.exe)
二、DOS或控制台下生成:
1)用cmd打開控制台窗口,並進制TC目錄。
2)在控制台命令行輸入:tcc
1(回車),則生成1.obj
3)再在控制台命令行輸入:tlink
1(回車),則生成1.exe
『叄』 最簡單的C語言程序是什麼
在屏幕上輸出 「This is a C program。」
#include//這是編譯預處理指令
int main() //定義主函數
{ //函數開始的標志
printf ("This is a C program。 ");//輸出所指定的一行信息
return 0; //函數執行完畢之後返回函數值0
} //函數結束的標志。
『肆』 C語言是什麼都包括哪些
C語言是一種計算機程序設計語言,它既具有高級語言的特點,又具有匯編語言的特點。它由美國貝爾研究所的D.M.Ritchie於1972年推出,1978年後,C語言已先後被移植到大、中、小及微型機上,它可以作為工作系統設計語言,編寫系統應用程序,也可以作為應用程序設計語言,編寫不依賴計算機硬體的應用程序。它的應用范圍廣泛,具備很強的數據處理能力,不僅僅是在軟體開發上,而且各類科研都需要用到C語言,適於編寫系統軟體,三維,二維圖形和動畫,具體應用比如單片機以及嵌入式系統開發。
C語言包括:數據類型、運算符與表達式、程序結構、順序、選擇、循環、數組、函數、預處理命令、指針、結構體與共用體、文件、位運算;。
『伍』 c語言預處理
其實網路文庫也講得挺明白的,你可以打開一個.h的頭文件看看裡面,對應這三點,就很清楚了。一.宏定義1.不帶參數的宏定義: 宏定義又稱為宏代換、宏替換,簡稱「宏」。 格式: #define 標識符 字元串 其中的標識符就是所謂的符號常量,也稱為「宏名」。 預處理(預編譯)工作也叫做宏展開:將宏名替換為字元串。 掌握"宏"概念的關鍵是「換」。一切以換為前提、做任何事情之前先要換,准確理解之前就要「換」。 即在對相關命令或語句的含義和功能作具體分析之前就要換: 例: #define PI 3.1415926 把程序中出現的3.1415926全部換成PI 說明: (1)宏名一般用大寫 (2)使用宏可提高程序的通用性和易讀性,減少不一致性,減少輸入錯誤和便於修改。例如:數組大小常用宏定義 (3)預處理是在編譯之前的處理,而編譯工作的任務之一就是語法檢查,預處理不做語法檢查。 (4)宏定義末尾不加分號; (5)宏定義寫在函數的花括弧外邊,作用域為其後的程序,通常在文件的最開頭。 (6)可以用#undef命令終止宏定義的作用域 (7)宏定義可以嵌套 (8)字元串" "中永遠不包含宏 (9)宏定義不分配內存,變數定義分配內存。 2.帶參數的宏: 除了一般的字元串替換,還要做參數代換 格式: #define 宏名(參數表) 字元串 例如:#define S(a,b) a*b area=S(3,2);第一步被換為area=a*b; ,第二步被換為area=3*2; 類似於函數調用,有一個啞實結合的過程: (1)實參如果是表達式容易出問題 #define S(r) r*r area=S(a+b);第一步換為area=r*r;,第二步被換為area=a+b*a+b; 正確的宏定義是#define S(r) (r)*(r) (2)宏名和參數的括弧間不能有空格 (3)宏替換只作替換,不做計算,不做表達式求解 (4)函數調用在編譯後程序運行時進行,並且分配內存。宏替換在編譯前進行,不分配內存 (5)宏的啞實結合不存在類型,也沒有類型轉換。 (6)函數只有一個返回值,利用宏則可以設法得到多個值 (7)宏展開使源程序變長,函數調用不會 (8)宏展開不佔運行時間,只佔編譯時間,函數調用占運行時間(分配內存、保留現場、值傳遞、返回值) 編輯本段二. 文件包含一個文件包含另一個文件的內容 格式: #include "文件名" 或 #include <文件名> 編譯時以包含處理以後的文件為編譯單位,被包含的文件是源文件的一部分。 編譯以後只得到一個目標文件.obj 被包含的文件又被稱為「標題文件」或「頭部文件」、「頭文件」,並且常用.h作擴展名。 修改頭文件後所有包含該文件的文件都要重新編譯 頭文件的內容除了函數原型和宏定義外,還可以有結構體定義,全局變數定義: (1)一個#include命令指定一個頭文件; (2)文件1包含文件2,文件2用到文件3,則文件3的包含命令#include應放在文件1的頭部第一行; (3)包含可以嵌套; (4)<文件名>稱為標准方式,系統到頭文件目錄查找文件, "文件名"則先在當前目錄查找,而後到頭文件目錄查找; (5)被包含文件中的靜態全局變數不用在包含文件中聲明。 編輯本段三. 條件編譯有些語句行希望在條件滿足時才編譯。 格式:(1) #ifdef 標識符 程序段1 #else 程序段2 #endif 或 #ifdef 程序段1 #endif 當標識符已經定義時,程序段1才參加編譯。 格式:(2) #ifndef 標識符 格式:(3) #if 表達式1 程序段1 #else 程序段2 #endif 當表達式1成立時,編譯程序段1,當不成立時,編譯程序段2。 使用條件編譯可以使目標程序變小,運行時間變短。 預編譯使問題或演算法的解決方案增多,有助於我們選擇合適的解決方案。 此外,還有布局控制:#pragma,這也是我們應用預處理的一個重要方面,主要功能是為編譯程序提供非常規的控制流信息。
『陸』 在計算機上運行一個C語言編寫的程序,要經過怎樣的處理過程
開發一個C語言程序需要經過的四個步驟:編輯、編譯、連接、運行。
C語言程序可以使用在任意架構的處理器上,只要那種架構的處理器具有對應的C語言編譯器和庫,然後將C源代碼編譯、連接成目標二進制文件之後即可運行。
1、編輯:輸入源程序並保存(。C文件)。
2、編譯:將源程序翻譯成目標文件(。OBJ文件)。
3、連接:將目標文件轉換成可執行文件。EXE文件)。
4、運行:執行。EXE文件,得到運行結果。
(6)c語言的語言處理程序是哪個擴展閱讀:
C代碼變成程序的階段:
1、首先,源代碼文件test。c和相關的頭文件,如stdio。h,由預處理程序CPP預處理為一個。我的文件。這是預編譯。I文件不包含任何宏定義,因為所有宏都已展開,所包含的文件都已插入其中。我的文件。
2、編譯過程就是對預處理後的文件進行一系列的詞法分析、語法分析、語義分析和優化,從而產生相應的匯編代碼文件。這個過程通常是整個程序構造的核心部分,也是最復雜的部分之一。
3、匯編程序不直接輸出可執行文件,而是輸出目標文件。匯編程序可以調用LD來生成一個可以運行的可執行程序。為了得到最終的可執行文件「A.out」,需要將一大堆文件鏈接在一起。
4、在鏈接過程中,調用其他目標文件中定義的函數的指令需要重新校準,使用其他目標文件中定義的變數的指令也需要重新校準。
『柒』 C語言的程序是由什麼組成
C語言源程序是由:數據類型、常量與變數、數組、指針、字元串、文件輸入/輸出構成。
具體介紹:
1、數據類型
C的數據類型包括:整型、字元型、實型或浮點型(單精度和雙精度)、枚舉類型、數組類型、結構體類型、共用體類型、指針類型和空類型。
2、常量與變數
常量其值不可改變,符號常量名通常用大寫。變數是以某標識符為名字,其值可以改變的量。標識符是以字母或下劃線開頭的一串由字母、數字或下劃線構成的序列,請注意第一個字元必須為字母或下劃線,否則為不合法的變數名。變數在編譯時為其分配相應存儲單元。
3、數組
如果一個變數名後面跟著一個有數字的中括弧,這個聲明就是數組聲明。字元串也是一種數組。它們以ASCII的NULL作為數組的結束。要特別注意的是,方括內的索引值是從0算起的。
4、指針
指針不僅可以是變數的地址,還可以是數組、數組元素、函數的地址。通過指針作為形式參數可以在函數的調用過程得到一個以上的返回值,不同於return(z)這樣的僅能得到一個返回值。
指針是一把雙刃劍,許多操作可以通過指針自然的表達,但是不正確的或者過分的使用指針又會給程序帶來大量潛在的錯誤。
5、字元串
C語言的字元串其實就是以'