c語言 下列程式執行後的輸出結果是1為什麼

2021-06-17 08:04:55 字數 2490 閱讀 7708

1樓:

36 輸出:-1

x=0xffff 如果用十六進位制表示的話,數前面要加0x以表示是十六進位制。

ffff用二進位制表示就是16個1,1111111111111111,轉換成十進位制就是2^16-1,即65535。因為int型資料範圍是+32767~-32768,二進位制在計算機中表示時,第一位是符號位(這些知識如果學了原碼、補碼、反碼就會了解了),65535超了範圍,第一位變成了符號位,1代表負數,所以變成了-1

x--是x先計算,再減一,所以先輸出-1,x的值再減一,變成-2.

37 a case後面不能是實型

b a是整形,case後面是實型

d swith()括號裡面不能是表示式

2樓:

-1在計算機中的編碼就是0xffff;

switch中的case x;

x只能是正整數

3樓:

計算機中數都是以補碼形式存在的,0xffff就是-1的補碼,另外這次程式是switch結構的,所以x應為正整數,你所說的另外3項是不需要輸出的,因為有default阿!!!

4樓:負家子弟

對於char型來說0xffff就是-1,而x--是現輸出後作自減操作,所以輸出-1.

對於switch...case結構來講,

switch (表示式1) 中的表示式1必須返回一個整型;

case 表示式2 中的表示式2也必須是整型;

綜上所述只有c是正確的(d case 2少了個分號、printf拼寫錯誤、switch()後面多了個分號)

c語言題 求執行結果 給出解釋. 下列程式段執行後的輸出結果是( )

5樓:你若安好

這段**最抄後輸出的是-4,(ps:/n應該是\n)a?b:

c語句的意思是 1.假如a(邏輯表示式或0、1)的邏輯值為0,則語句的值為b(b為表示式則取最後的值)2.假如a的邏輯值為1,則取c的值。

在你的語句中a對應的為“k

不懂可追問

6樓:好嘞啊啊啊啊

k

判斷 k

答案d應該是-4 而不是4

7樓:摩羯橋穎穎

選a~~ 條件運算子,右結合性,,k

8樓:匿名使用者

int k=-4,a=3,b=2,c=1;

printf("%d\n",k輸出:-4

k

9樓:匿名使用者

k=-4嗎,感覺這題有問題阿

c語言:下列程式執行時若輸入 1abcedf2df<回車>輸出結果為( )

10樓:匿名使用者

1abcedf2df

vc6.0執行試過了。

#include

main()

printf("\n");

第一次 a=0那麼根據ascii表檢視是null也就是空字元。第一次輸入1,(a%2)是求和2的餘數

結果是0而且1也不在a和z之間,所以if後面的ch=ch-'a'+'a';不執行。a變成1,輸

出 ch也就是1.

第二次 a=1 輸入a, (a%2)餘數是1不為0,而且a在a-z範圍內,所以執行ch=ch-'a'+'a'。

ch=ch-('a'-'a')=ch-32 注意看ascii表 a比a 要大32.,大寫字母要比小寫字母小32.

這樣ch-32就是可以把ch變成大寫字母。所以輸出a 。a++變2

第三次 a=2 輸入b (a%2)餘數是0,這樣if那個條件因為有&&所以兩邊都滿足才會執行條件 語句。於此ch=ch-'a'+'a'就不執行了。直接輸出b

1ab....

由此類推即可。

希望對您有所幫助!:)

11樓:匿名使用者

輸出結bai果:1abcedf2df

首先說a%2!=0,也就du是在a為奇數時才zhi

成立,ch>='a'&&ch<='z'是判斷輸入dao字元是不是小

回寫字元,如果是答,把它轉換成大寫ch=ch-'a'+'a';

判斷一個字元a增加一個,轉換的字元為:2、4、6、10,1和8字元位數字,不需要準轉換。

a從0開始計算a%2!=0,第一個字元時,a=0,但是字元為數字字元,不用轉換;

a=1時,a%2!=0成立,輸入字元為a,滿足後面的條件,轉換為大寫a;

a=2時,a%2!=0不成立,不轉換;

a=3時,a%2!=0成立,輸入字元為c,滿足後面的條件,轉換為大寫c;

以此類推。

c語言,下面程式執行的結果是什麼

最後輸出 1711717 過程 進入fun後s1指向字元 1 回s2指向答字元 7 t 1 s1指向 2 w 1234567 w 1734567 s2指向 6 w 1734517 t 7,s1指向 3 w 1734517 w 1714517 s2指向 5 w 1714717 t 1 s1指向 4 w...

c語言以下程式執行後的輸出結果是?請詳細說明

執行結果 13715 過程 i 1時,n 1 n 0 2 1 運算完得 到 n 列印輸出 n 1 i 2時,n 2 n 1 2 1 運算完得到 n 列印輸出 n 2 i 3時,n 3 n 2 2 1 運算完得到 n 列印輸出 n 3 i 4時,n 4 n 3 2 1 運算完得到 n 列印輸出 n 4...

c語言,下面的程式結果為啥是,c語言,下面的程式結果為啥是

恭喜你,你發現了一個非常重要的系統漏洞形式。有很多對系統的破解都是基於此原理,下面我此進行一下解釋。首先先大概指明錯誤 char buf 4 是分配了4個位元組的儲存空間,strcpy buf,aaaa 是向buf寫入5個位元組的資料,因為別忘了字串最後總隱藏著一個字串結束符 0 也就是說,strc...