回覆列表
  • 1 # 小橋談程式設計

    因為語句不等於指令1.機器指令

    程式設計語言(也叫程式語言),是與電腦互動的一種體系。而計算機只能夠識別二進位制的指令,確切的講,cpu只能認識二進位制指令,而cpu中的二進位制指令是沒有分號的,因為指令本來就是一條一條的,有操作碼和運算元構成。

    2.彙編指令

    後來,計算機指令,有二進位制發展成為了組合語言,也是沒有分號的,因為組合語言與機器指令是一對一的關係。

    3.高階語言

    而這裡所問的分號,其實是針對高階語言。

    高階語言是由一條一條語句構成,這裡的一行語句對應一條或多條cup指令。

    4.編譯原理

    那麼計算機如何識別高階語言中的語句呢?需要藉助於編譯器,不同的程式語言,需要藉助不同的編譯器,或直譯器,或虛擬機器,將高階語言,翻譯成機器指令。

    5.一條語句不一定是一行程式碼

    那麼什麼是一條語句呢?是不是一行程式碼就是一條語句?不是,編譯器識別一條語句,只看分號。即使將兩條語句寫在一行,只要用分號隔開,也是可行的。

    6.為什麼有的語句沒有分號,比如python

    有的程式語言沒有分號,比如python,因為python認為一行就是一條語句,你如果一行想寫兩條語句,可以加上分號隔開(python支援分號,只是說可以省略)。如果python想跨行,就需要加上‘’,這是續行符。

    7.總結

    分號是告訴編譯器,哪些程式碼是一條語句,然後將它翻譯成機器指令。

  • 2 # 程式碼Go說科技

    分號在編譯器對原始碼進行語法或語義分析時起到斷句作用。

    在寫文章的時,通常我們先組織詞語形成句子,然後再形成段落,主要的目的是讓讀者可以看懂。如果句子很長沒有停頓,讀者要一口氣讀完,能不能領會到作者要表達的意思難說,非常容易產生歧義。程式語言的語法的與作文類似,目的是讓編譯器能讀懂,並按照程式設計師想法去執行程式。

    為什麼用分號來斷句的緣由我沒有考究過,猜測會有一定說法在裡面。在此我們可以認為它跟你我的名字一樣就是個規定,記住就OK了。

  • 3 # 量子糾纏速度之謎

    語句分隔符,就和你日常書寫一樣,需要用標點符號,你讀小學時老師已教你書寫時必須使用標點符號了,如果你至今還不瞭解標點符號的作用,那麼你試試閱讀一篇沒有標點符號的文稿就知道了。

  • 4 # TonyDeng

    分號風格來源於C語言。對C編譯器來說,它是不看人類排版的,你排得再漂亮再清晰,編譯時第一趟掃描預處理階段就把所有多餘空格和回車換行之類排版字元刪掉,第二趟掃描編譯時認分號為語句間隔,這就是分號風格的原因。有些語言編譯器或直譯器不這樣處理,直接分析文字,認回車換行符,甚至以空格為縮排,其實你自己寫一個純粹的文字分析功能程式就知道哪個更省事。

    在HTML中,也是這個道理,每一個功能,都用開閉識別符號封閉,其實是方便瀏覽器解釋,加快處理速度,真說起來,那種左右區別只在於/符號又重複指令的形式更煩人。

  • 5 # 欽賜太醫

    大多數程式語言,後面都不加分號,加分號的程式語言大多數是受c語言(或者彙編)的影響,如java,pascal,ada,perl。

    打分好是明語句結束,給編譯器一個明確結束符合而已。

  • 6 # 面向物件思考

    這個規定差不多最好來源於C語言,由於最初計算機能力優先,因此早期的語言對格式要求非常嚴格,例如必能中間換行的等都有各種要求。C語言放鬆了這個要求,但我猜同樣是方便解析方便,需要一種標記表示一句話結束,這個結束符就選中了分號。

  • 7 # 散居獵人

    句子之間的分隔符。

    換行回車,是basic語言的分隔符。早期的語言如Fortran也是。

    但換行回車作為語句分隔符存在缺點:

    1 換行回車符不可見,可讀性可識別性受限;

    2 一個句子較長時,一行螢幕可能不夠;

    3 為可讀性好,一個句子多行更清晰;

    所以,一行不一定是一句,一句也不一定是一行。

    4 分號作為句子分隔符符合書寫閱讀習慣。

    C 和 Pascal類風語言風格一直都是分號作為句子分隔符。

  • 8 # 葉紅筆記

    很簡單,是這個程式語言的語法規則,它就這麼規定的。

    不同語言,有不同的規則。有的加;分號,有的用縮排。沒有啥高大上的理由。

  • 9 # Ren

    有些奇葩語言就比較特殊,LUA語言可以有分號,也可以沒有,但是你想在一行之內多寫兩句,就得用分號;Matlab的M語言也是可有可無,但是不加分號的話,它會把本句計算結果顯示在命令窗口裡,有時候會搞的執行速度很慢,有分號就只是默默的執行,需要檢視結果的時候再把某一句的分號去掉。

  • 10 # 小碼農薛堯

    為什麼要加分號?因為一些開發者寫程式碼沒有很好的規範,多行程式碼寫在一行上面,如果沒有分號,程式就不知道這些程式碼真正的意義,還沒辦法編譯程式碼,其它開發人員也沒辦法維護程式碼。

  • 11 # 運維小筆記

    這個有幾點:1、語言設計者的 taste;2、歷史因素;3、語言委員會的甩鍋。

    語言設計者 taste,主要是兩個考量:一、如何對待空白和換行,以及二、如何支援一行多個語句和一個語句多行。

    歷史因素就是,早期硬體限制極大,parser技術也還不太成熟,在設計和實現程式語言的時候,可能優先考慮編譯器實現便利。歷史因素的另外一重就是,儘管後來這些限制條件都不存在了,但新語言如借鑑老語言,很可能會直接繼承這些語法決策。

    語言委員會的甩鍋,是特指那些使用ASI(自動插入分號)演算法的語言比如JS,維護合理的ASI可能和新特性的語法有衝突,這個時候為了甩鍋,就號稱你們應該加分號。

  • 12 # 還有一隻喵

    分號用來標記一個指令的結束。

    當然也不一定用分號;比如basic語言就是用換行區分指令。一個指令一行。代價呢?就是一個指令如果非常長,就得費勁地橫向滾動,不能中間換行;也不能像c語言一樣在一行放多條指令(如i=1;i<10;i++這種)。

    python則使用縮排的方法避開了這個問題。

  • 中秋節和大豐收的關聯?
  • 什麼酒可以長時間儲存?