C語言高手來幫忙,能不能解釋一下下面這個程式的執行,執行結果是SWi TCH到就看不明白了

時間 2021-08-11 17:49:52

1樓:匿名使用者

前面的不解釋了,到了h後是'1',因此執行case '1': break; 然後跳出switch,執行後面的putchar('*');

列印 '*',接著的字元是 '\1',也就是值 1 ,因此執行

='\0'); 注意while後面有分號,因此這個迴圈意思是,直到ch為'\n'或'\0'結束迴圈。那麼字串自然到了結尾,執行完這句之後到了case 9: putchar('#'); 列印'#',接著執行case 'e':

case 'l': continue; 然後跳出for迴圈

2樓:

\11,8進位制的11,就是9

#include

int main()

putchar('*');

}putchar('\n');

} 哪個蛋疼的傢伙把一個swi tch*#整這麼複雜

3樓:匿名使用者

那我就從h之後說起。

1是字元1,即'1',break;程式跳出switch,執行putchar('*');輸出一個*

\1即八進位制表示法,表示1,所以執行case 1:。case 1的**實際上是直接跳到下一個回車符或字串末尾,這裡沒有回車符,所以跳到字串末尾。注意case 1 裡面沒寫break;,所以繼續執行case 9:

輸出#。再執行case 'e'和case 'l',continue繼續迴圈。這時候已經到字串末尾了,所以迴圈結束。

4樓:戲雨南

前面知道我就不說了哈!!從1\1\11w\1wallmp1開始說起吧!!

過了h後面就是字元『1』,就會執行case '1': break; 就會跳出switch 執行 putchar('*');

然後在去for迴圈,接下來就是數字\1了,就執行='\0');

一直執行後面所有的的字元,直到遇上最後的\0後在進行下面語句的執行

case 9: putchar('#');

case 'e':

case 'l': continue;

完了後再去執行for,這時已近\0了就會跳出for執行 putchar('\n');

5樓:匿名使用者

整個程式是從字串s第三個字元開始檢查,根據內容有不同的輸出,前面字元switch中做不同的輸出後,因為執行了continue直接回到了頂部迴圈,只有碰到字元『1』時,因為執行了break,退出switch而接著執行putchar('*'),輸出一個『*』號,接著就碰到了1,這種情況下執行了一個迴圈該迴圈接著檢查字串s的內容不做任何操作,直到碰到'\0'退出該迴圈,並接著執行下面的語句putchar('#'),然後返回迴圈頂部,此時,這個迴圈也因為碰到'\0'退出,最後執行putchar('\n')結束程式。

估計這個程式就是讓你理解switch、break、continue語句是如何執行的。 關鍵之處是當switch語句表示式的值與某個常量表示式的值相等時, 即執行其後的語句,然後不再進行判斷,繼續執行後面所有case後的語句。 當然如表示式的值與所有case後的常量表示式均不相同時,則執行default後的語句。

6樓:匿名使用者

你這個程式貌似意義不大,但還是我可以說明一下啊,列印*是因為h後面是『1』,然後break,跳出switch,至於列印#,那就是ch = 9,這個有點問題,因為可以知道 j 是等於9,但不可能ch = j 啊!!!

下列程式的輸入結果是 main() {int x=1,a=0,b=0; switch(x){case 0:b++; case 1:a++; case 2:a++;b++; }

7樓:匿名使用者

這個例子告訴你switch語句不用break時的***。這幾個case會依次往下執行,結果如你如說。

8樓:

#include

void main()

printf("%d,%d\n",a,b); //所以輸出 2,1}

9樓:匿名使用者

switch(x)

x=1跳到case 1:a++;

case 2:前面沒用break;所以繼續a++;b++;

c語言是不是所有程式設計的基礎啊!!

10樓:楊塵一

c語言不是所有語言的基礎,只是眾多程式語言中的一種,很多人在大一就回

會學習c語言,

答是因為其學習難度不大,很快就能學習上手。

c語言是一門通用計算機程式語言,應用廣泛。c語言的設計目標是提供一種能以簡易的方式編譯、處理低階儲存器、產生少量的機器碼以及不需要任何執行環境支援便能執行的程式語言。

c語言特點:

1、c語言是一個有結構化程式設計、具有變數作用域(variable scope)以及遞迴功能的過程式語言。

2、c語言傳遞引數均是以值傳遞(pass by value),另外也可以傳遞指標(a pointer passed by value)。

3、不同的變數型別可以用結構體(struct)組合在一起。

4、只有32個保留字(reserved keywords),使變數、函式命名有更多彈性。

5、部份的變數型別可以轉換,例如整型和字元型變數。

6、通過指標(pointer),c語言可以容易的對儲存器進行低階控制。

7、預編譯處理(preprocessor)讓c語言的編譯更具有彈性。

11樓:蒙師妹

不是 最基礎的就是計算機語言 二進位制語言 然後再是低階語言 中級語言 高階語言 c語言只是中級語言 越高階的語言 人越容易識別 計算機越不容易識別

12樓:江西新華電腦學院

現在都是資訊化的時代,沒有一門好的技術是難以在社會之中立足的,現在的專

電腦技術飛屬速增長,每家公司都需要電腦人才,你可以去學習電腦專業,在這個領域中還是有很大的發展空間的,只要自己好好學習,以後的前景不可限量。

C語言的問題?誰能解釋一下,C語言問題,這個程式看不明白,誰能解釋一下 謝謝

這個程式寫的不對吧?前面應該是 include include 包含標頭檔案,調入c語言函式庫 後面主函式是 main 主函式main 主函式結束 詳解 程式的功能是從鍵盤輸入一個數x,求x的正弦值,然後輸出結果。在main 之前的兩行稱為預處理命令 詳見後面 預處理命令還有其它幾種,這裡的incl...

C語言問題 希望能解釋一下為何n輸出

只執行三次for迴圈 第一次for迴圈 i 2,所以i 3 2為真,執行continue,結束這次迴圈,開始下一次迴圈,但是結束的這次迴圈式do while迴圈,而不是for迴圈,因為continue距離最近的迴圈式do while 迴圈。所以第一次for迴圈,只執行了n 一次,n 1 第二次for...

能不能解釋一下抽象定義域的概念,這幾句話應該怎麼理解關於抽象函式的定義域

如果一個函式是具體的,它的定義域我們不難理解。但如果一個函式是抽象的,它的定義域就難以捉摸。例如 y f x 1 x 2與y f x 1 的定義域相同嗎?值域相同嗎?如果已知f x 的定義域是x 1,2 f x 1 的定義域是什麼?因為f x 的定義域是 x 1,2 即是說對1 x 2中的每一個數值...