若k,g均為int型變數,則下列語句的輸出為k 017 g 111 printf

時間 2022-04-06 12:45:16

1樓:刀劈華山

結果是:

16 6f

第一個輸出16:

以0開頭的int型k=017 編譯器會認為這是一個八進位制,換算成十進位制就是15,++k就是16了

第二個輸出6f:

printf中用%x來表示,這樣就會將十進位制轉化成十六進位制顯示,這裡比較誤導的地方是g++,理論上是112換算成十六進位制也是70而不是6f,但是g++可以看成是g, g=g+1,那麼printf("%x\n",g++);就可以看成printf("%x\n",g);g++;了 這樣其實%x輸出的就是g,如果這裡改成++g那輸出的就是70了;

2樓:聽不清啊

輸出為(16 6f)。

因為017是八進位制,其十進位制值為15,經k先自增後輸出為16。

十進位制值111轉為十六進位制即是6f(g是後自增)。

3樓:

k=18;

++k;先賦值在輸出

g=111;

g++; 先輸出後賦值。

4樓:處搖胼手胝足

18 先增值,再列印

6f 列印後增值

5樓:傅愛璇

15 6f 7*8^0+1*8^0=15

c語言入門小問題

6樓:戶哲茂

k++意思是輸出k到運算中,運算結束後再執行k = k+1;

++k則是先k = k+1,再輸出k;

設x,y,z,s均為int型變數,且初值為1,則執行語句?

7樓:匿名使用者

設x,y,z,s均為int型變抄量,且初值為1,則執行bai語句:

最後s的值是1。

s=++x||du++y&&++z 這一句中,zhi運算子優先順序順序為:++最高,其次dao是&&,然後是||,最後是=該句完全等價於:

++x;

if (x!=0)

s=1;

else

else

s=0;

}int:

int是將一個數值向下取整為最接近的整數的函式。int是資料庫中常用函式中的取整函式,常用來判別一個數能否被另一個數整除。

8樓:溥恨相同

|運由運算子優先順序可知,原式等效於

s=(++x||(++y&&++z))由||運算子的短路效應可知,子表示式++x的值為專非零,即為真,所以屬||右側的子表示式不會執行,即只有x自增了1,y和z值不變,且子表示式(++x||(++y&&++z))值為真,即1

所以可知x值為2;s值為1;y和z值不變,仍為1

9樓:匿名使用者

||根據運算子的優先順序,"++">"&&">"||「,所以原式可以變為版權

=2 || 1

=1所以s為1,x為2。

若k為int型變數,則以下程式段的執行結果是()。k=8567; printf("|%6d|\n",k); 輸出為? 急救吶?

10樓:匿名使用者

| 8567|

8567的前面有2個空格,因為%6d輸出的int型別資料要填滿6個位置,不足時,用空格填在左邊,超過6位時,正常輸出。

11樓:匿名使用者

| 8567|兩個空格

12樓:陳婉玲

兩個空格再輸出8567

13樓:匿名使用者

答案是:k=|%06d|

設x y t均為int型變數,則執行語句 x y 3 t

是符號或,優先順序是從左到右判斷。如果第一個語句為真則結果為真,不執行第二個語句直接跳出 如果第一個語句為假則執行第二個語句,當第二個語句為真時結果是真,為假時結果為假。因為x是3,x就是4,所有非零的數字都是真,所以t的值直接為1,不執行 y,所以y還是最初賦值的3. 顓孫思蓮閻妞 4吧 y是,先...

C語言設i,j,k均為int型變數,則執行完下面的for迴圈後,k的值為

c語言 設i,j,k均為int型變數,則執行完下面的for迴圈後,k的值為10。for i 0,j 10 i j i j k i j 表示,i初始值為0,j初始值為10。判斷i是否小於等於j。如果成立,則k為i j,i為i 1,j為j 1。繼續迴圈判斷,直至,i大於j時,結束迴圈。因此,當i 5,j...

設yzs均為int型變數且初值為1則執行語句

最後s的值是1。s x y z 這一句中,運算子優先順序順序為 最高,其次是 然後是 最後是 該句完全等價於 x if x 0 s 1 else else s 0 int int是將一個數值向下取整為最接近的整數的函式。int是資料庫中常用函式中的取整函式,常用來判別一個數能否被另一個數整除。 由運...