C語言 預處理是什麼意思?就是看不懂這句話的解釋!越具體越好,也可以通俗一點

2021-03-27 11:15:23 字數 5194 閱讀 9616

1樓:水晶葡萄

預處理,再編譯前需要做的工作。預處理主要處理兩部分東西,標頭檔案和巨集。

對於標頭檔案,做操作。比如再某個.c中include了一個標頭檔案,這一行預處理時就會被替換為標頭檔案的內容。

對於巨集,比如你define了一個巨集。這裡就會把程式裡面所有用到這個巨集的地方替換掉。當然巨集還有其他操作,但是它們都是再預處理階段就被處理了的

2樓:匿名使用者

第十一章 預處理概述

在前面各章中,已多次使用過以「#」號開頭的預處理命令。如包含命令# include,巨集定義命令# define等。在源程式中這些命令都放在函式之外, 而且一般都放在原始檔的前面,它們稱為預處理部分。

  所謂預處理是指在進行編譯的第一遍掃描(詞法掃描和語法分析)之前所作的工作。預處理是c語言的一個重要功能, 它由預處理程式負責完成。當對一個原始檔進行編譯時, 系統將自動引用預處理程式對源程式中的預處理部分作處理, 處理完畢自動進入對源程式的編譯。

  c語言提供了多種預處理功能,如巨集定義、檔案包含、 條件編譯等。合理地使用預處理功能編寫的程式便於閱讀、修改、 移植和除錯,也有利於模組化程式設計。本章介紹常用的幾種預處理功能。

巨集定義在c語言源程式中允許用一個識別符號來表示一個字串, 稱為「巨集」。被定義為「巨集」的識別符號稱為「巨集名」。在編譯預處理時,對程式中所有出現的「巨集名」,都用巨集定義中的字串去代換, 這稱為「巨集代換」或「巨集」。

  巨集定義是由源程式中的巨集定義命令完成的。 巨集代換是由預處理程式自動完成的。在c語言中,「巨集」分為有引數和無引數兩種。

下面分別討論這兩種「巨集」的定義和呼叫。 無參巨集定義

無參巨集的巨集名後不帶引數。其定義的一般形式為: #define 識別符號 字串 其中的「#」表示這是一條預處理命令。

凡是以「#」開頭的均為預處理命令。「define」為巨集定義命令。 「識別符號」為所定義的巨集名。

「字串」可以是常數、表示式、格式串等。在前面介紹過的符號常量的定義就是一種無參巨集定義。 此外,常對程式中反覆使用的表示式進行巨集定義。

例如: # define m (y*y+3*y) 定義m表示式(y*y+3*y)。在編寫源程式時,所有的(y*y+3*y)都可由m代替,而對源程式作編譯時,將先由預處理程式進行巨集代換,即用(y*y+3*y)表示式去置換所有的巨集名m,然後再進行編譯。

#define m (y*y+3*y)

main()

上例程式中首先進行巨集定義,定義m表示式(y*y+3*y),在s= 3*m+4*m+5* m中作了巨集呼叫。在預處理時經巨集後該語句變為:s=3*(y*y+3*y)+4(y*y+3*y)+5(y*y+3*y);但要注意的是,在巨集定義中表示式(y*y+3*y)兩邊的括號不能少。

否則會發生錯誤。

當作以下定義後: #difine m y*y+3*y在巨集時將得到下述語句: s=3*y*y+3*y+4*y*y+3*y+5*y*y+3*y;這相當於; 3y

3樓:匿名使用者

提前說明了的叫預處理比如定義一個變數#define max 1000**中所有的字元 max 就是1000比如#define print printf("ok");**中遇到print字串就是printf函式,輸出ok!預處理就是預先讓編譯系統知道,他的出現會有目的的在變化一不變數時只需要改預處理,所有資料都會改變,程式很容易維護,還有重要的是編譯系統執行預處理其效率高```做事情就是預先準備可能發生將要發生的事情做個總體計劃...

4樓:匿名使用者

baidu.***/view/1334643.htm 先看下前兩個介紹預處理,根據字面意思是預先做的處理在c語言裡包含三個方面1.

巨集定義2.包含檔案3.條件編譯這三個方面在上述網頁中有詳細介紹如有問題,請追問

常用的c語言程式設計軟體有哪些??

5樓:實用資源分享家

電腦上必備的軟體有哪些?

6樓:崇德it教育

vc++ 6.0 、code::blocks、microsoft visual c++ 、visual studio 、microsoft visual studio 、 win-tc、 turb c、 gcc 、dev c++、 c-free、 borland c++、wat*** c++、borland c++ builder、gnu djgpp c++、lccwin32 c ***piler3.

1、high c、my tc等,還常

用souceinsight ,在工作中還用labwindows程式設計,直接除錯執行,不過那是有工程背景,有工作經驗的技術人員用的。

7樓:鎝籌紬錛

學c語言最好使用linux作業系統, 可以在windows上安裝虛擬機器

然後就是 gcc 編譯器 和 vim 文字編輯器了.

除錯的工具有 gdb .

還有 objdump, nm, ldd, readelf 等 binutils 工具, 非常好用.

8樓:西安it優就業

學習:sublime/vim + gcc 效率最高工作:公司開發專案一般用ide程式設計,並直接編譯執行。

常用的ide有:

vc/vs, tc, dev-c, c-free等等。

也可以把編輯器和編譯器分離,比如使用命令列編譯,gcc或者mingw。編輯用source insight, vim, ue甚至記事本都可以。

9樓:s如詩如夢

現在比較常用的就是dve-c++ 了,我們用的就是這個,你要是需要的話,我可以發你哦

10樓:一坨tm的故事

c語言程式設計軟體常用的有:

microsoft visual c++ 、microsoft visual studio、 dev c++、code::blocks、borland c++、wat*** c++、borland c++ builder、gnu djgpp c++、lccwin32 c ***piler3.1、high c、turb c、gcc、c-free和win-tc、my tc等等,太多了。

由於c語言比較成熟,所以程式設計環境很多。建議使用microsoft visual c++。

11樓:匿名使用者

一般用ide程式設計,並直接編譯執行。

常用的ide有:

vc/vs, tc, dev-c, c-free等等。

也可以把編輯器和編譯器分離,比如使用命令列編譯,gcc或者mingw。編輯用source insight, vim, ue甚至記事本都可以。

12樓:啊啊吖傳奇

對於當前主流桌面作業系統而言,可使用 dev-c++ ,visual c++、gcc 以及 llvm clang 編譯器。dev-c++是一個windows下的c和c++程式的整合開發環境,visual c++(簡稱 msvc)只能用於 windows 作業系統;gcc 和 llvm clang 除了可用於windows作業系統之外,主要用於 unix/linux 作業系統。

13樓:淚的告白

我個人大學使用過的c語言軟體,

裝個虛擬機器用linux系統進行程式設計,我的是vm+ubuntu,vc++6.0,這個比較舊,但是可以編寫很多程式,如影象動畫等,microsoft visual studio系列,微軟的,很大很廣,包含資料庫、c #等應用,

14樓:匿名使用者

一般我們正統的程式設計師都用linux上的vim編輯器,再用gcc的編譯器執行程式,

或用windows上的visual c++。(需要購買)如果你是windows系統:

編譯器:gcc

編輯器:windows版vim

整合開發環境:codeblocks,dev-c++,visual c++(氪金軟體)。

我認為你應該是說的是整合開發環境吧?

安裝教程自己搜,這裡暫不回答。

15樓:芳志火

不好意思,常用的c語言程式設計軟體我也是不太清楚的啦,自己查一下吧。

16樓:匿名使用者

microsoft visual c++ 、 dev c++、borland c++、borland c++ builder、gnu djgpp c++、lccwin32 c ***piler3.1、high c、turb c、gcc、c-free和win-tc等等,由於c語言比較成熟,所以程式設計環境很多。建議初學者使用dev c++。

17樓:匿名使用者

我用過的 vc++ 6.0,visual studio,c-free 程式設計軟體,供參考

18樓:五彩霓裳花漫天

vc vs我們上學就用這兩個,別的應該也有不少,可能我們用的少。

windows下首選vs,版本至少vs2005以上,或者用最新的vscode,不過需要自己配外掛,好處是免費,如果做微控制器c開發首選eclipse,linux下如果做微控制器首選eclipse,其次是clion。eclipse相容性最好,不過穩定性差一些,vs在win下沒有對手,clion用cmake,相比來說大部分c程式用的都是makefile,需要適應一下。

dev c++:這個ide是windows環境下的,操作簡單,功能也不弱,適合新手使用。

codeblocks(強力推薦): 功能比較強大的 c/c++ ide,有著不錯的智慧提示。

19樓:徐藝軒

dev c++:這個ide是windows環境下的,操作簡單,功能也不弱,適合新手使用。

vscode

20樓:匿名使用者

microsoft visual c++ 、microsoft visual studio、 dev c++、code::blocks、borland c++、wat*** c++、borland c++ builder、gnu djgpp c++、lccwin32 c ***piler3.1、high c、turb c、gcc、c-free和win-tc、my tc等等,太多了,由於c語言比較成熟,所以程式設計環境很多。

建議使用microsoft visual c++。

21樓:匿名使用者

dev c++

vs系列

codeblocks

以上是ide

編輯器有很多

比如 vim vs-code sublime等

C語言中語句是什麼意思,c語言中!是什麼意思?

我猜你說的是三目運算 例如c a b?a b 這個就是等同於 if a b else 對於條抄 件表示式b x y,先計算 襲條件b,然後進行判bai斷。如果b的值為true,計算dux的值,運算zhi結果為x的值 否dao則,計算y的值,運算結果為y的值。一個條件表示式絕不會既計算x,又計算y。條...

在c語言中是什麼意思在c語言中是什麼意思

有好多種形式。1.運算子 取餘運算子。2.格式 d是整型,c是字元型,是輸出 ld是輸出長整型。f是輸出浮點型 小數形式 e是輸出浮點型 指數形式 lf le用於輸出double型,g選 e f長度小的一種,且不輸出多餘的零。o輸出八進位制,不會輸出負的,x輸出十六進位制。hd用於輸出短整型。s用於...

c 冒號是什麼意思,c語言中「 」號是什麼意思?

三元運算子。三元運算子就是3個運算元參與的運算,具體表達為 運算元1?運算元2 運算元3,運算元可以為變數或表示式,輸出結果為 如果運算元1為真,輸出運算元2,如果運算元1為假,輸出運算元3,三元運算子的輸出結果取決於 前面的運算元。例如 a 3 4?3 4 輸出結果為4。a 3 4?3 4 輸出結...