1樓:安徽新華電腦
##在c/c++中具有連線字串的作用。
2樓:匿名使用者
比如說我定義一個巨集:
#define declare_dynamic(class_name) \
public:
static cruntimeclass class##class_name; \
virtual cruntimeclass* getruntiemclass() coonst;
出現的巨集定義之中的##,用來告訴編譯器,把兩個字串系在一起。如果你這麼使用此巨集:
declare_dynamic(cview)
編譯器前置處理器為你做出的**是:
public:
static cruntimeclass classcview;
virtual cruntimeclass* getruntiemclass() coonst;
樓主比較下區別。
3樓:
#include
表示預編譯命令
即則命令由編譯完成
4樓:匿名使用者
預處理運算子# #為巨集擴充套件提供了一種連線實際變元的手段。如果替換文字中的引數用 # #相
連,那麼引數就被實際變元替換, # #與前後的空白符被刪除,並對替換後的結果重新掃描。例
如,下面定義的巨集p a s t e用於連線兩個變元:
#define paste( front, back ) front ## back
從而巨集呼叫paste(name, 1)的結果是建立單詞n a m e 1。
摘自 k&r 的c語言 4.11
希望對你有所幫助
c語言中!是什麼意思?
5樓:蹉唱朋天韻
#include
"stdio.h"
main()
你會發現得到的是
-2這個東西是
按位取反
比如:假設是八位二進位制
那麼1的二進位制是
0000
0001
,按位反後為
1111
1110
,,這個就是計算機記憶體儲的結果了
而這個數是多少呢,
注意,最高位為1說明這是個負數
,負數在計算機內是補碼,想知道補碼的十進位制,要換成原碼步驟是,最高不變,其它位取反,最後位加1
所以1000
0001+1=1000
0010
這個二進位制代表-2
可以給出一個公式
,~n=-(n+1)
6樓:申綠定湃
23的二進位制為:
0000000000010111
(假如是int,為16位的話)
符號為」取反「運算子,
上述二進位制取反後為:
1111111111101000
如果a為int型,其(int16下)十進位制結果c為:
-24如果是int32(int預設為32位)的話,c其實也是為:-24
哈~~而a=23,c=~a,printf("%d",c);是一個逗號運算子,其結果是最後一個逗號後的值,
不過不能這樣寫啊,一定要分開!,寫為:
a=23;
c=~a;
printf(c);
7樓:匿名使用者
這是c語言的邏輯運算子:異或
這個**講的非常詳細,我摘抄了一些,詳細的你看以看看。有很例子,好懂!
邏輯運算子把各個運算的變數(或常量)連線起來組成一個邏輯表示式。
邏輯運算子有4個,它們分別是: !(邏輯非)、 ||(邏輯或)、&&(邏輯與) ^(異或)。在位運算裡面還有 &(位與)、|(位或)的運算。
什麼是邏輯運算--邏輯運算用來判斷一件事情是「對」的還是「錯」的,或者說是「成立」還是「不成立」,判斷的結果是二值的,即沒有「可能是」或者「可能不是」,這個「可能」的用法是一個模糊概念,在計算機裡面進行的是二進位制運算,邏輯判斷的結果只有二個值,稱這二個值為「邏輯值」,用數的符號表示就是「1」和「0」。其中「1」表示該邏輯運算的結果是「成立」的,如果一個邏輯運算式的結果為「0」,那麼這個邏輯運算式表達的內容「不成立「。
例 1:通常一個教室有二個門,這二個門是並排的。要進教室從門a進可以,從門b進教室也行,用一句話來說是「要進教室去,可以從a門進『或者』從b門進」
用邏輯符號來表示這一個過程--能否進教室用符號c表示,教室門分別為a和b。c的值為1表示可以進教室,為0 表示進不了教室。a和b的值為1時表示門是開的,為0表示門是關著的,列表如下:
說明 c a b
2個教室的門都關著,進不去教室 0 0 0
門b是開著的,可以進去 1 0 1
門a是開著的,可以進去 1 1 0
門a和b都是開著的,可以進去 1 1 1
把表中的過程寫成邏輯運算就是: c = a || b 這就是一個邏輯表示式,它是一個「或」運算的邏輯表示式。這個表示式要表達的是這個意思--如果要使得c為1,只要 a「或」b其中之一為 1即可以達到。
所以「||」運算稱為「或」運算。
8樓:亢瑾瑜千淑
~按位取反
即把數值變成二進位制後取反。
結果為-24
23->10111(前面位補零,個數視機子位數而定),取反01000(前面的零變1),輸出格式"%d"
為有符號型。
比如我就用最簡單的8位來說:23->00010111,取反11101000,高位為符號位1,所以是負數,負數在計算機內以反碼形式儲存,反碼=二進位制取反(符號位不變)+1;所以原來的數為11101000-1=11100111,取反:10011000
為-24
9樓:柴奕琛曾風
1.if語句的一般格式
if(表示式)
[else
](1)if語句中的「表示式」必須用「(」和「)」括起來。
(2)else子句(可選)是if語句的一部分,必須與if配對使用,不能單獨使用。
(3)當if和else下面的語句組,僅由一條語句構成時,也可不使用複合語句形式(即去掉花括號)。
2.if語句的執行過程
(1)預設else子句時
當「表示式」的值不等於0(即判定為「邏輯真」)時,則執行語句組1,否則直接轉向執行下一條。
(2)指定else子句時
當「表示式」的值不等於0(即判定為「邏輯真」)時,則執行語句組1,然後轉向下一條語句;否則,執行語句組2。如圖4-1(b)所示。
3.if語句的巢狀與巢狀匹配原則
if語句允許巢狀。所謂if語句的巢狀是指,在「語句組1」或(和)「語句組2」中,又包含有if語句的情況。
if語句巢狀時,else子句與if的匹配原則:與在它上面、距它最近、且尚未匹配的if配對。
為明確匹配關係,避免匹配錯誤,強烈建議:將內嵌的if語句,一律用花括號括起來。
10樓:呼延文玉登嫣
好像有兩個地方用到,
1、三目運算子,max=a>b?a:b;這個?是判斷a>b的條件成立與否,
2、就是字串的匹配問題時是個萬用字元,表示一個任意字元,-----that's
all,thank
you,哈哈哈。。。。
11樓:暴凝荷冒婧
23對就2進位制(16位編譯系統)為:00000000
0001
0111
~表示按位取反,~a為:1111
1111
1110
1000,這個數是-24的補碼,printf("%d",c);就是輸出這個數。
12樓:匿名使用者
1、做為運算子!是邏輯「非」。
2、!=整個表示邏輯運算子「不等於」。
13樓:烏雅季同曲良
位運算not
由否定號(~)表示
位運算not
是三步的處理過程:
把運算數轉換成
32位數字
把二進位制數轉換成它的二進位制反碼
把二進位制數轉換成浮點數
14樓:壽菊月鄭贊
這個是c語言的一個三目運算子
15樓:曾楊氏汝雁
簡單的說就是電腦程式設計◆
c語言功能強大,本書涉及知識結構全面、合理。是一門非常好的程式語言基礎語言。
◆c是一門學習邏輯、程式演算法、演算法實現很好的教程。通過第一學期c語言的學習,從而可以瞭解程式的設計編碼的過程。
◆c是一單程序、單執行緒執行,從頭到尾執行,學習難不小。但結構嚴謹的高階語言,可以很好學習程式設計規範和要求。
◆c語言是為以後學習其它語言打下基礎的語言
16樓:甕仁苑婉
賦值,將等號右邊的值附加到等號左邊的變數
inta,b;//宣告變數
a=100;
b=a-4;//b的值為96
a=b/4;//a的值為24
17樓:操起雲程錦
c語言的發展過程
c語言是在70年代初問世的。一九七八年由美國**電報公司(at&t)貝爾實驗室正式發表了c語言。同時由b.
w.kernighan和d.m.
ritchit合著了著名的「the
cprogramming
language」一書。通常簡稱為《k&r》,也有人稱之為《k&r》標準。但是,在《k&r》中並沒有定義一個完整的標準c語言,後來由美國國家標準學會在此基礎上制定了一個c
語言標準,於一九八三年發表。通常稱之為ansi
c。當代最優秀的程式設計語言
早期的c語言主要是用於unix系統。由於c語言的強大功能和各方面的優點逐漸為人們認識,到了八十年代,c開始進入其它作業系統,並很快在各類大、中、小和微型計算機上得到了廣泛的使用。成為當代最優秀的程式設計語言之一。
c語言的特點
c語言是一種結構化語言。它層次清晰,便於按模組化方式組織程式,易於除錯和維護。c語言的表現能力和處理能力極強。
它不僅具有豐富的運算子和資料型別,便於實現各類複雜的資料結構。它還可以直接訪問記憶體的實體地址,進行位(bit)一級的操作。由於c語言實現了對硬體的程式設計操作,因此c語言集高階語言和低階語言的功能於一體。
既可用於系統軟體的開發,也適合於應用軟體的開發。此外,c語言還具有效率高,可移植性強等特點。因此廣泛地移植到了各類各型計算機上,從而形成了多種版本的c語言。
c語言版本
目前最流行的c語言有以下幾種:
·microsoftc或稱
msc·borland
turboc或稱
turbo
c·at&t
c這些c語言版本不僅實現了ansi
c標準,而且在此基礎上各自作了一些擴充,使之更加方便、完美。
物件導向的程式設計語言
在c的基礎上,一九八三年又由貝爾實驗室的bjarne
strou-strup推出了c++。
c++進一步擴充和完善了c語言,成為一種面向
物件的程式設計語言。c++目前流行的最新版本是borland
c++4.5,symantec
c++6.1,和microsoft
visualc++
2.0。c++提出了一些更為深入的概念,它所支援的這些物件導向的概念容易將問題空間直接地對映到程式空間,為程式設計師提供了一種與傳統結構程式設計不同的思維方式和程式設計方法。
因而也增加了整個語言的複雜性,掌握起來有一定難度。
c和c++
但是,c是c++的基礎,c++語言和c語言在很多方面是相容的。因此,掌握了c語言,再進一步學習c++就能以一種熟悉的語法來學習物件導向的語言,從而達到事半功倍的目的。
c語言中dt什麼意思C語言中t是什麼意思?
c語言中 d 是格式字元,意思是資料以十進位制整數形式輸出 t 是轉義字元,意思是水平製表 跳到下一個tab位置 在c語言中還有其它格式字元,o 意思是以八進位制整數形式輸出 x 意思是以十六進位制整數形式輸出 c 意思是以字元形式輸出 s 意思是以字串形式輸出。等等 在c語言中還有其它轉義字元,n...
c語言中fun是什麼意思,C語言中funa,b是什麼意思
就是個自定義標抄識符,通常用襲作自定義函式bai的函式名,是函式dufunction這個詞的開頭字zhi母。通常舉dao例子的時候,不知道該叫什麼名了,就取名fun或func或function。前幾年我回答過這種問題,結果題主採納的是一幫胡扯答案的。這次我就看看還有沒有睜眼說瞎話胡扯的。c語言中fu...
c語言中void是什麼意思C語言中void是什麼意思
void 被翻譯為 無型別 相應的void 為 無型別指標 常用在程式編寫中對定義函式的引數型別 返回值 函式中指標型別進行宣告。void 的作用 1.對函式返回的限定,這種情況我們比較常見。2.對函式引數的限定,這種情況也是比較常見的。一般我們常見的就是這兩種情況 1 當函式不需要返回值值時,必須...