c語言為什麼么有
Ⅰ 為什麼c語言沒有直接支持二進制數
在編程語言中,C語言並沒有直接支持二進制數的原因主要是設計上的考量。C語言的目標是提供低級、高效的控制機制,讓程序員能直接與計算機硬體交互。直接支持二進制數可能會在一定程度上降低語言的通用性和易用性。
相比之下,C++為了更廣泛地適應不同的應用場景,提供了一些高級特性和功能,比如直接支持二進制數。C++標准中,通過前綴"0b"或"0B"來表示二進制數,如`int x = 0b100;`。這樣,使用二進制數既保持了靈活性,又滿足了特定需求,如位操作等。
使用二進制和十進製表示數值,雖然在同樣的位數下,二進製表示的數值范圍較小,但這種局限性在大多數實際應用中並不構成問題。在計算電路經濟性時,通常採用二進製表示,因為二進制簡化了電路設計和實現,減少了硬體成本和復雜性。例如,使用二進制可以更方便地進行邏輯運算和位操作,這些都是計算機硬體底層實現的基礎。
綜上所述,C語言沒有直接支持二進制數,是為了保持其簡潔高效和通用性。而C++通過標准支持二進制數,為用戶提供更多靈活性。在不同場景下,選擇使用二進制還是十進製取決於具體需求和效率考慮。在計算機專業中,理解這些底層原理有助於深入理解計算機硬體和軟體設計的經濟性和效率。
Ⅱ 為什麼有些C語言程式有SCANF,而有卻沒有
scanf 用於從鍵盤輸入數據,如果一個程序需要從鍵盤輸入數據,就要用到scanf ,如果不需要從鍵盤輸入數據,就不需要它。
從鍵盤輸入數據也有別的方法,例如按一個個符號讀入,或讀一行符號,這時要調用別的函數(getc,getchar,gets),而不是用scanf。
數據也可能程序里通過賦值語句給定,也可能用 fscanf 從磁碟文件讀入,也不需要scanf 函數。
Ⅲ 為什麼C語言沒有String類型
C語言沒有String類型,但是C語言提供了字元串常量。
C語言中字元串的概念:以 NUL 位元組結尾的零個或多個字元,字元串通常儲存在字元數組中
當一個字元串常量出現在一個表達式中時,表達式所使用的值就是這些字元所存儲的地址,因此可以把字元串常量賦值給一個「指向字元的指針」。