1樓:投機士
c語言中,##表示把兩個巨集引數貼合在一起,而單個#的功能是將其後面的巨集引數進行字串化操作。即,
#include
#define f(a,b) a##b
#define g(a) #a
#define h(a) g(a)
int main()
##被稱為連線符(直接貼合),用來將兩個巨集引數連線為一個巨集引數。而單個#的功能是將其後面的巨集引數進行字串化操作,簡單地說就是在對它所引用的巨集變數通過替換後在其左右各加上一個雙引號,使其成為字串。
2樓:曠昊英單菱
ascii中有256個字元,其中諸如字母、逗號句號等字元是可以用鍵盤打出來的。但還有一些字元,比如換行符、終止符、製表符等,是沒法打出來的,可程式設計的時候又可能用到,怎麼辦?
辦法就是,規定「\」連同後面的字元共同表示一個字元,這就拓展出了很多新字元,如:\n表示換行符,\0表示終止符,等等。如果要表示「\」,則要連用兩個反斜槓「\\」
至於%d的%,這不是c規定的特殊符號,而是編寫printf、scanf等函式的人規定的。printf會對%特殊處理,認為它佔據了一個空擋,這個空擋由後面的引數填充
3樓:匿名使用者
##:token-pasting operator (##)define paster( n ) printf( "token" #n " = %d", token##n )
int token9 = 9;
if a macro is called with a numeric argument like
paster( 9 );
the macro yields
printf( "token" "9" " = %d", token9 );
which becomes
printf( "token9 = %d", token9#的用法就太多老 看看msdn吧 :)
4樓:匿名使用者
##也就是c的更高階了啊,他是在c上升級了而已
c語言中==和=有什麼區別?
5樓:跪著作揖
c語言中==和=只在意義一個方面有區別,具體如下:
「==」是關係運算子,而「=」是賦值運算子。
其中c語言中的關係運算子還有:
1、「!= 」 是不等於的意思。
2、「< 」是小於的意思
3、「< =」 是小於等於的意思。
4、「> 」是大於的意思
5、「> =」 是大於等於的意思。
擴充套件資料:
關係運算子都是雙目運算子,其結合性均為左結合。關係運算子的優先順序低於算術運算子,高於賦值運算子。在六個關係運算子中,<、<=、>、>=的優先順序相同,高於==和!
=,==和!=的優先順序相同。
在c語言中,有的運算子有兩個運算元,例如 10+20,10和20都是運算元,+ 是運算子。我們將這樣的運算子稱為雙目運算子。同理,將有一個運算元的運算子稱為單目運算子,將有三個運算元的運算子稱為三目運算子。
常見的雙目運算子有 +、-、*、/ 等,單目運算子有 ++、-- 等,三目運算子只有一個,就是 ? :。
6樓:匿名使用者
==是關係運算子;
=是賦值運算子。
關係運算子還有:
!= 不等於
< 小於
< = 小於或等於
> 大於
> = 大於或等於
7樓:
int x,y;
x=10;
y=2;
if(x==y) print(%c,"so easy");
等號是賦值用的,雙等號是用來做比較的。
8樓:匿名使用者
==是等號,用於判斷;=是賦值符號,用於賦值
9樓:匿名使用者
==是等號運算子,=是賦值。
c語言中/**/和//有什麼區別
10樓:天涯明遠
/**/和//在c語言裡是對**的註釋說明。
1、/**/ 是對塊的註釋說明。
/*我是一塊的註釋說明
*/2、// 是對一行**的註釋說明。
// 我是一行**,我被註釋了
擴充套件資料
c語言主要特點
c語言是一種結構化語言,它有著清晰的層次,可按照模組的方式對程式進行編寫,十分有利於程式的除錯,且c語言的處理和表現能力都非常的強大,依靠非常全面的運算子和多樣的資料型別,可以輕易完成各種資料結構的構建,通過指標型別更可對記憶體直接定址以及對硬體進行直接操作。
因此既能夠用於開發系統程式,也可用於開發應用軟體。通過對c語言進行研究分析,總結出其主要特點如下:
(1)簡潔的語言
c語言包含有各種控制語句僅有9種,關鍵字也只有32 個,程式的編寫要求不嚴格且多以小寫字母為主,對許多不必要的部分進行了精簡。實際上,語句構成與硬體有關聯的較少,且c語言本身不提供與硬體相關的輸入輸出、檔案管理等功能。
如需此類功能,需要通過配合編譯系統所支援的各類庫進行程式設計,故c語言擁有非常簡潔的編譯系統。
(2)具有結構化的控制語句
c語言是一種結構化的語言,提供的控制語句具有結構化特徵,如for語句、if⋯else語句和switch語句等。可以用於實現函式的邏輯控制,方便麵向過程的程式設計。
(3)豐富的資料型別
c語言包含的資料型別廣泛,不僅包含有傳統的字元型、整型、浮點型、陣列型別等資料型別,還具有其他程式語言所不具備的資料型別,其中以指標型別資料使用最為靈活,可以通過程式設計對各種資料結構進行計算。
(4)豐富的運算子
c語言包含34個運算子,它將賦值、括號等均視作運算子來操作,使c程式的表示式型別和運算子型別均非常豐富。
(5)可對實體地址進行直接操作
c語言允許對硬體記憶體地址進行直接讀寫,以此可以實現組合語言的主要功能,並可直接操作硬體。c語言不但具備高階語言所具有的良好特性,又包含了許多低階語言的優勢,故在系統軟體程式設計領域有著廣泛的應用。
(6)**具有較好的可移植性
c語言是程序導向的程式語言,使用者只需要關注所被解決問題的本身,而不需要花費過多的精力去了解相關硬體,且針對不同的硬體環境,在用c語言實現相同功能時的**基本一致,不需或僅需進行少量改動便可完成移植。
這就意味著,對於一臺計算機編寫的c程式可以在另一臺計算機上輕鬆地執行,從而極大的減少了程式移植的工作強度。
(7)可生成的高質量目標**,高執行效率的程式
與其他高階語言相比,c語言可以生成高質量和高效率的目標**,故通常應用於對**質量和執行效率要求較高的嵌入式系統程式的編寫。
11樓:匿名使用者
/**/ 塊註釋
// 行註釋
塊註釋如下:
/* abcdefkgalsdjfajsdlfkjasl;jldsjg;lajdfl;
fasdgklasdjgl
fadskjfal
*/行註釋如下:
//abcdefkgalsdjfajsdlfkjasl;jldsjg;lajdfl;
//fasdgklasdjgl
//fadskjfal
區別不大,只是很多行時用塊註釋操作快一些。不過編輯器很多都有快捷鍵可以設定/取消註釋選中的**。
12樓:安徽新華電腦
//雙斜槓右邊的內容全都是註釋
/*斜槓星號,以及下一個星號斜槓之間的內容,都是註釋
註釋註釋註釋*/
13樓:匿名使用者
前者用於一段,後者用於一行
c語言中和分別是什麼意思,c語言中d和d分別是什麼意思
c語言中的 號是百分之幾的意思,是除以的意思 5 2 2.1 學過數學的都懂吧?號是求2,而 號就是不要2,求的是1.而 號還有一個特點 5 2 2因為 號兩專邊都是整 屬數,它的結果還是整數.如果要算5 2的真實結果,就要這樣 5.0 2這樣5.0是個double型的,結果也是double的.而 ...
c語言中和符號是什麼意思,C語言中 和 符號是什麼意思?
在c語言中,和 都屬於邏輯運算子,並且都是雙目運算子。邏輯運算子總共有3個,分別是 和 邏輯運算子是用來判斷一件事情是 成立 還是 不成立 或者說是 真 還是 假 判斷的結果只有兩個值,用數字表示就是 0 和 非0 其中,非0 表示該邏輯運算的結果是 真 0 表示這個邏輯運算表示式的結果為 假 是邏...
C語言中是什麼意思,C語言中 和 符號是什麼意思?
就是 且 的意思,比如a 0 b 1就是表示要 a 0並且b 0 兩個同時成立 這個是 邏輯與 的意思 就是並且 與 的意思!這樣講吧 打一個比喻 相當於數學中的並集 a且b的意思 是一種邏輯運算子,是 且 的意思,是指其連線的兩個條件必須同時滿足 c語言中 和 符號是什麼意思?在c語言中,和 都屬...