c語言題目 為什麼輸出是的是如果0代表假,1代表真,那麼2代表什麼?求詳細解釋

2021-03-29 13:01:32 字數 2740 閱讀 3316

1樓:匿名使用者

#include

void main()

case 0:

switch(c==5)

default:

printf("&");

}printf("\n");

}第一個switch(a>0)就是 switch(1),裡面是switch無滿足條件,未進去,但是case 1沒有break (break在裡面),就進入case 0了;

case 0裡面是switch(c==5)也是 switch(1),進入內部case 1,輸出「#」,但是case 0依然沒得break,就進入default了;

default 列印:「&」

所以結果列印:"#&"

2樓:我不知道啊啊

真假可表示為非零和零,所以任何非零的都表示真,2也表示真

因為上面最外層switch中,每個case執行後並沒有break,所以會繼續向下執行

switch(a>0)會進入到case 1,進而執行switch(b<0),b不小於0,則case 1和case 2都不會執行,但因為沒有break,所以程式會繼續向下執行,執行switch(a>0)的case 0,c==5為真, 所以會執行switch(c==5)的case 1,這裡有break則跳出本級switch,跳出後上一級switch還是沒有break,所以繼續執行default,所以輸出為"#&"

3樓:賣蘑菇的灰太狼

這個簡單,case 0:switch(c==5)這條開始是要看(c==5)的bool值,為1,所以列印"#",至於2,case「2」不是型別「bool」的切換條件的有效值,但是在while中也是當真來看的,你可以試一下。接下來就跳出了(c==5)的判斷,你如果後面加個break就結束了,這裡會繼續再列印"&".

你明白了麼^_^

4樓:匿名使用者

2的目的就是忽悠你,沒什麼作用

在計算機c語言中,1表示真,0表示否定,那麼2表示什麼?

5樓:蜻蜓點水

二進位制的資料中只有0和1的存在,一個十進位制數也可以用二進位制表示布林運算中規定專,0為假,非屬0為真

可以自己用if條件去實驗

這個也是條件布林運算,如果a>0,那麼這個裡面就代表真非0,否則條件不成立,那麼就是假,0

c語言中什麼時候0表示真,1表示假

6樓:南瓜蘋果

c語言規定1為真(true),0為假(false)。

c語言中0為假,1為真,邏輯與和整數乘法相同,而c語言中的1就是整數,整數除法1/2結果也會是整數,數學中答案是0.5,但是整型的不能儲存0,5。因此會直接變成0。

後面的計算結果是什麼就不重要了。

總的來說,計算機的最小儲存單位是位元組,一個位元組可儲存256個數字,真和假卻只有兩個數字。c語言從c99才有_ bool這 個布林型別。

c99之 前一直使用整數型別儲存布林值,那麼除去真和假兩值以外還至少有254個數字,這些數字不可能是非真非假,那麼只能使用一個值代表真或假,其他值代表前面值的相反值。

擴充套件資料

計算機識別0和1的原理:

計算機中ram儲存正在使用的程式和檔案,硬碟則是檔案永久儲存的地方。硬碟實際上由若干磁碟構成,磁碟上大量的有序的磁性粒子完成,磁性則可以表示0和1。當需要對檔案進行讀寫時,實際上是發出電脈衝訊號移動讀寫頭改變磁性粒子的磁性或者是得到磁性粒子的磁性。

計算機中,一串數碼作為一個整體來處理或運算的,稱為一個計算機字,簡稱宇。字通常分為若干個位元組(每個位元組一般是8位)。在儲存器中,通常每個單元儲存一個字,因此每個字都是可以定址的。

字的長度用位數來表示。

在計算機的運算器、控制器中,通常都是以字為單位進行傳送的。宇出現在不同的地址其含義是不相同。例如,送往控制器去的字是指令,而送往運算器去的字就是一個數。

在計算機中作為一個整體被存取、傳送、處理的二進位制數字串叫做一個字或單元,每個字中二進位制位數的長度,稱為字長。

7樓:_葉子妞妞

c語言規定,1為真(true), 0為假(false)。

所以題目本身是一個偽命題,在c語言的環境下,任何時候都不會出現0為真1為假的情況。

擴來,用來判斷的並不一定是1和0兩種,在出現其它值的情況下,c語言會做如下操作:

1 把非整型型別的值,如浮點型,指標等,強制轉為整型。

2 判斷該整型值是否為0。

3 如為0,則值為假;如不為0,則值為真。

8樓:匿名使用者

c語言裡面其實是0表示假,非0表示真。

例如if(i)

這句話中,如果i = 0那麼if不成立;i = -1,1,2,3,4,5,-23....都成立。

9樓:我擦嘞s型蘑菇

用非運算子'!',這樣正確的結果會顯示零,不正確就顯示一

10樓:匿名使用者

1是真 0是假 不論while 或者for 都是邏輯值

11樓:

系統返回定義的布林型函式時0表示假,1表示真,其他時候都是非0表示真…

12樓:靈小楓

可以用計算機幫你判斷真假!寫一個輸入函式,用a>b成立為真,不成立為假的情況。然後再寫一個c=a>b,然後用if語句的判斷c為0和c為1時輸出的結果。

忘記時開啟程式隨便輸入兩個數試試,多試幾次就記住了。

c語言題目程式設計輸出如下圖案C語言題目程式設計輸出如下圖案一個三個五個七個五個三個一個

include int main printf n 這個for 輸出下半個三角形 for i 7 i 1 i printf n return 0 include include void main int i,j,n 3 n值的選取根據所列印菱形的邊長而定,本例取3 for i n i n i fo...

c語言問題,為什麼會輸出負數,C語言問題,輸出結果總是負數,求教

在你的switch語句最後都加一個default 看一下switch d switch u 如果出現error這行,說明你的fflush 沒有起作用,改正方法是在scanf 函式後,加一個getchar 如果沒有出現,把你的輸入資訊粘出來,即x d u都是什麼。再幫你看 這個問題有多種可能,不一而足...

c語言字串輸出是亂碼,C語言,字串輸出是亂碼

include include include int random int num void main printf 請依次輸入學生姓名 for i 0 i被點到的同學的名字是 printf s p random n 1 int random int num 你好沒有亂碼 就是邏輯上有些錯誤如圖 ...