C語言二級問題

2022-10-13 10:56:52 字數 1026 閱讀 6579

1樓:藺蘭澤寶魄

答案是3;

第一個if,括號內是非a,因為a=0,所以不執行if語句,執行else

if,else

if成立,但是後面是

;沒有語句塊,所以繼續執行後面if語句,c=0成立,所以x=3;

2樓:烏辰釗清山

如果中間沒有大括號,那麼結果是4,因為過程是:if(!a)x--;

!0滿足

x=34,接下來的else

if(b);

if(c)

x=3;不滿足,而最後的else

x=4;

滿足,由於沒大括號,所以後幾步與第一步沒關係

3樓:薄德曜南豪

應該是34吧

if(!a)

x--;

!0滿足

x=34

else

if(b);

不滿足x=34

if(c)

x=3;

不滿足x=34

else

x=4;

不滿足x=34

好久沒用c了,也許不對

4樓:太史向卉覃青

else

if(b);這兩行有什麼用???

不論你上面怎麼變,x不是3就是4,這裡當然是4了,因為c永遠為假

5樓:匿名使用者

這個程式執行完全正確。

至於*p-32,是將小寫字母轉換成大寫字母。這是根據ascll碼規律得出的。

在ascll碼錶中,從65開始為a,直到90為z,從97開始為a,直到122為z,不難看出,每一對對應的大小寫字母是有32之差。

p++是將p的指標指向後移一位。

6樓:匿名使用者

對。小寫字母的編碼-32就是對應的大寫字母

7樓:

你只要記得一個字元用單引號括起來的話,那它代表的就是一個數值,具體對應數值你可以參照ascii碼值表

C語言二級問題

致命錯誤!概念混了你。首先p是指標!他自己不是被運算的他是指向別人的。p 3 是p 3 也就是a 3 因為前面p a了 然後是a 3 2 6,記得我前面跟你說的麼 預設從0開始算!因為你的 p是一個指標。預設指向a,所以當你輸出 p的時候是a 0 的值,就是1。而後面 p 3 是a 3 而它剛才被你...

二級c語言題,急求解,二級C語言題,急求解

選d 比較淺顯的來說,左移n位就是乘以2的n次方,右移n位就是除以2的n次方。具體細節如下 c語言裡的左移和右移運算 先說左移,左移就是把一個數的所有位都向左移動若干位,在c中用 運算子.例如 int i 1 i i 2 把i裡的值左移2位 也就是說,1的2進位制是000.0001 這裡1前面0的個...

二級C語言,下列程式的輸出結果,二級c語言題目 以下程式執行後的輸出結果是 main() int x 0210 printf X n ,x

main 語句2將 b和a分別傳給fun的兩個形參,b的地址傳遞給形參c,即c指向變數b,c c 1 即 c f 1,ascii碼值為g,故 c的值為g,注意,因為c變數的值是b的地址,c是對c的解引用,代表了b地址的內容,也即b變數的值,故b變數的值改變為g。fun函式第2句d 1即d d 1 語...