C語言問題,c語言問題

時間 2023-04-19 19:18:07

1樓:網友

這個題主要考查的是++的位置對取值的影響,舉個例子:

y=x++-1;

printf("%d\t%d",x,y);

x++是個式子,他是先取值,在計算,所以這個式子的值是x當前的值即3,但是x在經過這個運算後之變成了4,即x=x+1,y的值是「x++」這個式子的值減1,即3-1=2,所以第一次輸出的是4,2

y=++x-1;

printf("%d\t%d",x,y);

x也是一個計算式,他是先計算,再取值,所以它先把x的值加1,即4+1=5(上一步中x的值已經是4),x的值也是5,y=5-1=4,所以第二次輸出的是5,4

其他的式子道理相同。

2樓:匿名使用者

4--x;因為x在運算後+1,所以print時,x己經加了1,x=42--y;因為x在運算後+1,所以print時,y未加1,而且要減1,y=2

5--x;因為上面x=4,現在在運算前x+1,所以print時x=54--y;因為上面y=2,現在在運算前x+了一,所以print時y=4+1-1

2--z;z本來等於3,但要z--,所以運算後z要減一,z=3-1=2

4--y;因為上面y=4,而z在運算後才減1,所以y=3+1=4如此下去應該樓主應該會明白,所以最後2個我就不說ar...

這裡要注意的,是n--(n++)是運算前還是運算後完成的。

對於被賦值是十分重要的!

3樓:匿名使用者

main()

所以最後輸出結果為:4 2 5 4 2 4 1 2但是,好像應該是:4 25 42 41 2因為每個輸出語句只有一個製表位「\t」!

4樓:匿名使用者

x++和++x是有區別的:

x++是先返回x,再進行x=x+1運算;

x是先進行x=x+1運算,再返回x

y=x++-1; /這裡,相當於y=x-1;x++;

printf("%d\t%d",x,y);

y=++x-1; /這裡,相當於++x;y=x-1;

printf("%d\t%d",x,y);

y=z--+1; /這裡,相當於y=z+1;z--;

printf("%d\t%d",z,y);

y=--z+1; /這裡,相當於--z;y=z+1;

printf("%d\t%d",z,y);

照上面寫的順序帶入數字計算得。

5樓:匿名使用者

首先,手動計算一下怎麼才能交換。

根據題目要求,先算.

0的最小公倍數:18,這說明:最少10個一角、12個五角、9個一元才一樣高,也就是說小明可以交換的倍數是10*0.

1+12*元,而小紅交換的倍數是10元,雙方可以交換的的金額只能是90元、180元……你輸入n=3,那肯定不能交換啊。

來到這裡,如果認為效率為上的話,直接判斷小紅拿出的10元的張數n是不是9的倍數,一步就可以輸出結果了。如果n/9是整數,則一角、五角、一元的數量就是:10*n*n*n/9了,否則輸出不能交換。

其次,如果你硬要按照你源程式的思路做,那我只能指出最明顯的邏輯問題:for迴圈沒有大括號,所以它只會一直執行j=6*i/5;這一句直到條件終止,那當然輸不出結果啊。

還有沒有其他問題,既然是考題,自己思考吧。

6樓:匿名使用者

應該是資料型別的問題吧,不能用整型,整型沒有符合的解。

c語言問題

7樓:匿名使用者

五. 判斷一個正數是否為對稱數,如果是返回0,不是返回1,(不允許呼叫c庫字串轉換相關函式),如11,121,1221就是對稱的。

首先把正數(沒有考慮浮點數)存放到字元陣列中a,len記錄正數長度。

while(num>=10)

然後比較判斷就可以了。}

8樓:我不喜歡故事

第一題的資料儲存形式看不懂到底是啥意思。求解……

9樓:海海胡

選擇題:

1、c2、d

3、b4、c

5、a6、a

7、c8、d

9、b10、d

判斷題:1、錯2、對。

3、對4、錯5、對。

10樓:匿名使用者

首先,這是一道考區分 "表示式" 與 "表示式的值" 的題。

我們要注意,表示式也是有它自己的值的。

一、逗號表示式(表示式1,表示式2,..表示式n)採取從左到右順序求值,並把最後一個逗號後的表示式的值作為 "逗號表示式的值"。

如:表示式1,表示式2,……表示式n 這個 "逗號表示式的值" 就等於 "表示式n" 的值,與其它值無關。

二、賦值表示式(變數=表示式)採取從右到左求值,並把等號左邊的變數最終得到的值作為 "賦值表示式的值"。

所以,表示式(i=4,j=16,k=32)的值是 k=32 的值,而 k=32 這個賦值表示式的值就是等號左邊變數 k 的最終值,是32。於是,x 值為32。

11樓:匿名使用者

因為你只輸入了一個數10,系統把這個值賦給了變數a;你的程式中用了兩個變數去接收輸入的值,所以系統選擇了一個隨機數賦值給了變數b。

另外,虛機團上產品**,超級便宜。

c語言問題

12樓:雲淡風輕

!(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;

13樓:匿名使用者

1. turbo c能處理的資料有哪幾種?(5分)

整型、浮點型、字元型。

2. turbo c資料型別如何表示?它們的表達範圍是多少?佔用記憶體空間各是多少位元組?為什麼c語言中要嚴格區別整數和小數?(10分)

int、float、char

int 佔2位元組、float佔4個位元組、char佔1個位元組c語言是嚴格資料型別。

c語言問題

14樓:匿名使用者

首先說明一下,unsigned short佔用2個位元組,long在32位系統中佔用4個位元組;

我們對於指標進行操作時,指標移動的步長和它的型別是有關的,舉例如下:

如果指標p的型別是char* ,那麼p+1,就表示p向後挪動1個位元組;如果指標p是unsigned short* ,那麼p+1就表示p向後挪動2個位元組;如果指標p是long* ,那麼p+1就表示p向後挪動4個位元組;

現在來看你的題,本來myarray+2,其實是向後移動4個位元組,指向4這個元素;但是被轉化為long*後,它就往後移動了8個位元組,指向了0x1284,這是對這個指標進行取值,它的結果應該是。

0x00051284;然後再做型別的強制轉換,從long轉到char,截斷高3位,所以得出結果為0x84

15樓:網友

值是4(long*)是型別轉換。

第三個不清楚自己去試一下吧。

16樓:匿名使用者

第一層1個。

第二層2個。

第三層4個。

第四層8個。

第五層16個。

第n層 有2倍(n-1)層的個數。

但是不知道這棵樹是不是滿二叉樹,所以要計算第幾層,有個公式(看圖)將700帶入,得到n層,然後計算n-1層有多少個節點,700減去得到的節點數,就是葉子節點了。。。

17樓:匿名使用者

算算最下層應該有多少個結點?

18樓:匿名使用者

餓,解釋下吧這樣的。

首先完全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層和第十層的的和。

19樓:

完全二叉樹的節點和他的深度h有關,深度為h的完全二叉樹有2的h次方減一個節點,最後一行的節點數應該是2的h-1次方個,(700+1)/2在取整就是350了。

20樓:匿名使用者

通用演算法:

設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語言問題 50

C語言問題,C語言問題C語言問題

選a首先,空格也是一種字元,b d選項分別把空格賦給了c1,c1 其次,c選項不完整,排除 不僅a這樣,10a20b也是可以的。 聽不清啊 答案a 10a 20b cr 是正確的。因為scanf d c 時,會忽略數字前面的空格,遇到非數字字元就會結束讀取 非數字字元會留待下一次讀取,即被後面的 c...

C語言問題,C語言問題

符合,相當於一個字元,ascii字元可以直接轉成short整型數字。101 不符合,這是一個字串,不能作為常數。不符合,因為 會對雙引號轉義,找不到另一個雙引號。會出錯。而且就算是 也不符合,因為編譯器會把它理解成一個字串,而非單個字元。e3不符合。019不符合,0開頭代表8進位制數,不能出現9。0...

c語言問題,C語言問題?

char c 好好看書去 小 超 字元型變數 1 字元變數的定義 字元變數只能存放一個字元常量。字元變數的定義形式如下 char c1,c2 2 字元資料在記憶體中的儲存形式及其使用方法 字元型資料在記憶體中以相應的ascii 存放。字元在記憶體佔一個位元組,表示數的範圍從0 127。把字元對應的a...