1樓:網友
unsigned 是無符號的的意思。
因為65535在記憶體中的儲存形式為16個1;當以有符號整形輸出時最高位1表示負號;而16個1是-1在記憶體中的儲存形式(演算法:|-1|=1,1在記憶體中形式為15個0和1個1,然後取反,得到15個1和1個0,然後再加1,得到16個1)
所以答案是b
2樓:匿名使用者
型別限定符s i g n e d與u n s i g n e d可用於限定c h a r型別或任何整數型別。經u n s i g n e d限定符限定的。
數總是正的或0,並服從算術模2n定律,其中n是該型別機器表示的位數。例如,如果c h a r物件佔。
用8位,那麼unsigned char變數的取值範圍為0 ~ 2 5 5,而signed char變數的取值範圍則為- 1 2 8 ~ 1 2 7
(在採用補碼的機器上)。普通c h a r物件是有符號的還是無符號的則取決於具體機器,但可列印字元總是正的。
3樓:猶悅沅
這裡涉及到的知識點:
十六進位制:二進位制,十進位制,十六進位制。
整數符號:有符號數(最高位是符號位),無符號數(沒有符號位)整數編碼:正數用原碼(或者說正數的補碼就是他的原碼) 負數用補碼。
c語言問題
4樓:匿名使用者
五. 判斷乙個正數是否為對稱數,如果是返回0,不是返回1,(不允許呼叫c庫字串轉換相關函式),如11,121,1221就是對稱的。
首先把正數(沒有考慮浮點數)存放到字元陣列中a,len記錄正數長度。
while(num>=10)
然後比較判斷就可以了。}
5樓:我不喜歡故事
第一題的資料儲存形式看不懂到底是啥意思。求解……
6樓:海海胡
選擇題:
1、c2、d
3、b4、c
5、a6、a
7、c8、d
9、b10、d
判斷題:1、錯2、對。
3、對4、錯5、對。
7樓:匿名使用者
首先,這是一道考區分 "表示式" 與 "表示式的值" 的題。
我們要注意,表示式也是有它自己的值的。
一、逗號表示式(表示式1,表示式2,..表示式n)採取從左到右順序求值,並把最後乙個逗號後的表示式的值作為 "逗號表示式的值"。
如:表示式1,表示式2,……表示式n 這個 "逗號表示式的值" 就等於 "表示式n" 的值,與其它值無關。
二、賦值表示式(變數=表示式)採取從右到左求值,並把等號左邊的變數最終得到的值作為 "賦值表示式的值"。
所以,表示式(i=4,j=16,k=32)的值是 k=32 的值,而 k=32 這個賦值表示式的值就是等號左邊變數 k 的最終值,是32。於是,x 值為32。
8樓:匿名使用者
因為你只輸入了乙個數10,系統把這個值賦給了變數a;你的程式中用了兩個變數去接收輸入的值,所以系統選擇了乙個隨機數賦值給了變數b。
另外,虛機團上產品**,超級便宜。
9樓:匿名使用者
首先,手動計算一下怎麼才能交換。
根據題目要求,先算。
0的最小公倍數:18,這說明:最少10個一角、12個五角、9個一元才一樣高,也就是說小明可以交換的倍數是10*0.
1+12*元,而小紅交換的倍數是10元,雙方可以交換的的金額只能是90元、180元……你輸入n=3,那肯定不能交換啊。
來到這裡,如果認為效率為上的話,直接判斷小紅拿出的10元的張數n是不是9的倍數,一步就可以輸出結果了。如果n/9是整數,則一角、五角、一元的數量就是:10*n/9、12*n/9、9*n/9了,否則輸出不能交換。
其次,如果你硬要按照你源程式的思路做,那我只能指出最明顯的邏輯問題:for迴圈沒有大括號,所以它只會一直執行j=6*i/5;這一句直到條件終止,那當然輸不出結果啊。
還有沒有其他問題,既然是考題,自己思考吧。
10樓:匿名使用者
應該是資料型別的問題吧,不能用整型,整型沒有符合的解。
c語言問題
11樓:雲淡風輕
!(a+b)+y-1&&x+b/2
這就是邏輯運算子和算數運算子的優先順序運算問題;
!是邏輯非運算子,意思是(a+b)如果不等於0,則!(a+b)的值是0,如果等於0,則!(a+b)的值是1;
知道了!(a+b)的值以後,!(a+b)+y-1的值也就知道了。
然後求x+b/2,先求b/2,也就是b除以2,用得到的商加上x,就得出了x+b/2的值;
然後如果!(a+b)+y-1的值不等於0,同時x+b/2的值也不等於0,那麼這個式子的結果就是1;
如果&&兩邊的式子都等於0,或者有一邊等於0,那麼這個式子的結果就是0;
12樓:匿名使用者
(exp)?b++:b--判斷(exp)這個表示式是否為真,如果是真就執行b++,如果非真,就執行b--
我不能很好的表達,給你解題思路:
a.如果(exp)是假的,那麼(exp==0)就是真的,所以這句和(exp)不等。
b.如果(exp)是假的,那麼(exp!=0)就是假的,所以這句和(exp)完全相等。
c.如果(exp)是真的,那麼(exp==1)不一定為真,比如exp是b=2,那麼(exp==1)就為假,和(exp)不等。
d.如果(exp)是真的,那麼(exp!=1)就是假的,所以這句和(exp)不等。
所以答案是b
13樓:匿名使用者
(exp)這句是什麼意思啊就是條件 判斷真還是假如果exp是真 取b++;
假取b--;
就像是判斷bool型別。
應該選b
14樓:
'a''\101' -101是八進位制,表示字元'a'。
'\\轉義符,表示\。
'x41' -41是16進製制,表示字元'a'。
'' 表示回車符。
這面這些叫字元常量。
char a,b,c='2'; 定義三個字元變數,名稱分別為a,b,c,其中c被賦值為'2'。
15樓:匿名使用者
樓主,其實這個很簡單。字元常量就是不變的字元,比如說'a','b','c'..而字元變數就是可以指向不同字元的變數,比如 char d,當d=『a』時d就代表了'a',當d='b'時d就代表了'b',變數就像乙個碗,可以裝相應的常量。
16樓:姜雯韓旭
字元常量就是單個字元,不給他賦值。例如:a
字元變數就是對字元賦值。例如:int a=1 這個時候 a 就是字元變數。
17樓:帥得有點壞
字元常量是用單引號括起來的乙個字元。
有兩種表示方法: 一種是用該字元的圖形符號,如'b' ,y','
另外還可以用字元的ascii碼表示,即用反斜符(\)開頭,後跟字元的ascii碼,這種方法也稱為轉義序列表示法,具體方法是:有兩種形式: 一種是用字元的八進位制ascii碼,表示為:\odd.這裡,ddd是八進位制值(o可以省略)。
另一種使用字元的十六進位制ascii碼值,表示為 \0xhh或0xhh 這裡hh是兩位十六進位制值。 如:'a' ,101' 和 'x41'都表示同乙個字元常量。
轉義序列表示法還可以用來表示一些特殊字元,用來顯示特殊符號或控制輸出格式。
在c語言中,字元常量有以下特點:
1) 字元常量只能用單引號括起來,不能用雙引號或其它括號。
2) 字元常量只能是單個字元,不能是字串。
3) 字元可以是字符集中任意字元。但數字被定義為字元型之後就不能參與數值運算。如'5'和5 是不同的。'5'是字元常量,不能參與運算。
字元變數是存放字元常量的變數,其取值是字元常量,即單個字元。
字元變數的型別說明符是char。
定義形式: char 識別符號1,識別符號2,… 識別符號n
例如: char c1, c2, c3, ch ; c1=『a』 ;c2=『b』 ;c3=『c』 ;ch=『 d』 ;
說明: 1.字元變數在記憶體中佔乙個位元組。
2.在記憶體中,是把字元對應的ascii碼值放到儲存單元中。
3.字元型資料與整型資料之間可以通用。
每個字元變數被分配乙個位元組的的記憶體空間,因此只能存放乙個字元。字元值是以ascⅱ碼的形式存放在變數的記憶體單元之中的。如x的十進位制ascⅱ是120,y的十進位制ascⅱ是121。
對字元變數a,b賦予'x'和'y'值:a='x';b='y';實際上是在a,b兩個單元內存放120和121的二進位制**: a 01111000 b 01111001 所以也可以把它們看成是整形變數。
c語言允許對整形變數賦予字元值,也允許對字元變數賦整形值。在輸出時,允許把字元變數按整形量輸出,也允許把整形量按字元量輸出。整形量為二位元組量,字元量為單位元組量,當整形量按字元量處理時,只有低八位位元組參與處理。
不懂還可以問我。
18樓:匿名使用者
這你應該去百科上看下。
19樓:匿名使用者
第一層1個。
第二層2個。
第三層4個。
第四層8個。
第五層16個。
第n層 有2倍(n-1)層的個數。
但是不知道這棵樹是不是滿二叉樹,所以要計算第幾層,有個公式(看圖)將700帶入,得到n層,然後計算n-1層有多少個節點,700減去得到的節點數,就是葉子節點了。。。
20樓:匿名使用者
算算最下層應該有多少個結點?
21樓:匿名使用者
餓,解釋下吧這樣的。
首先完全2叉樹是h層的節點總數為2的h次方-1;
因此700個是 在。
2的9次方和2的10次方之間。
所以在前9層是滿的;
設第9層的非雙親節點為x;
那麼可以知道。
第9層的雙親節點為256-x;
因此第十層的為2(256-x)或者為2(256-x)-1;
全部加起來。
511+2(256-x)-1=700//前9層和第10層之和得到是x=161;
總的葉子節點為 161+2(256-161)-1=350;//第9層和第十層的的和。
22樓:
完全二叉樹的節點和他的深度h有關,深度為h的完全二叉樹有2的h次方減乙個節點,最後一行的節點數應該是2的h-1次方個,(700+1)/2在取整就是350了。
23樓:匿名使用者
通用演算法:
設n為總節點數,n0是度為0的結點總數,n1是度為1的結點總數,n2是度為2的結點總數,二叉樹中只有這三種度的節點。所以n=n0+n1+n2。
又由二叉樹的性質可知:n0=n2+1,即:n2=n0-1,帶入上式有:n=2*n0+n1-1
而根據完全二叉樹的定義,可以知道n1只可能是0或1;當總節點數為偶數時,n1=1,當總結點數為奇數時,n1=0。
因為總結點數為700為偶數,所以n1=1。帶入到n=2*n0+n1-1有n0=n/2=350。
度為0的節點即葉子節點,所以葉子節點數為350。
C語言問題,C語言問題
符合,相當於一個字元,ascii字元可以直接轉成short整型數字。101 不符合,這是一個字串,不能作為常數。不符合,因為 會對雙引號轉義,找不到另一個雙引號。會出錯。而且就算是 也不符合,因為編譯器會把它理解成一個字串,而非單個字元。e3不符合。019不符合,0開頭代表8進位制數,不能出現9。0...
C語言問題,c語言問題
這是值傳遞,值傳遞的過程的是,系統會給你的實參的值進行乙個拷貝,把這個拷貝傳遞給形式引數。因為是拷貝,所以實參裡頭的值是不會改變的。如果是位址傳遞就不一樣了。補充 你可以定義乙個指標,這個指標指向主函式的結構體。然後子函式的形參也定義乙個指向結構提的指標。這樣就是位址傳遞了。樓主還是好好花點時間看看...
c語言問題,求助,C語言問題,求助!!!
這種問題用哈夫曼樹的逆向思想就可以解決了,所以我建議還是自己按這思想好好研究一下。自食其力。c語言問題 因為 define s a p a a 定義後 是直接替換 運算過程是這樣的 3 3 5 3 5 所以是29 弱勢這樣定義的 p a a 結果就是192 3 3 5 3 5 9 15 5 29 巨...