C語言怎么樣?
C語言是一種面向過程的語言,目前主要應用于嵌入式開發,因為桌面開發有更高效的面向對象的開發技術。面向過程就是語言的設計流程是按照事物的時序來進行開發的,因此,當項目非常大的時候,維護起來就比較困難。
1.設計目標是為提供一種能以簡易的方式編譯、處理低級存儲器、僅產生少量的機器碼以及不需要任何運行環境支持便能運行的編程語言。相對于匯編語言,C語言標志易懂、上手快、可讀性好、易于調試、修改和移植,而代碼質量與匯編語言相當。一般C語言代碼只比匯編語言代碼生成的目標代碼效率低10%~20%。在當前單片機性能大幅提升、存儲器大幅拉升的情況下,這點犧牲換來了極大的提高了開發速度、降低了編程難度,完全值得。
2.主要特點簡潔 關鍵字非常少,而且意義明確,易懂易記。比如int是integer,char是character,float等等。
運算符豐富 C語言包含34個運算符,它將賦值、括號等均視作運算符來操作,使C程序的表達式類型和運算符類型均非常豐富。并且運算規則不是那么嚴格,編程非常靈活。比如一個字符char可以不進行轉換直接賦值給整數int,枚舉型直接賦值給char或int等,這些操作在高級語言里如果不進行明確轉換都是不允許直接賦值的。
地址讀寫 在嵌入式系統的應用中,必須要涉及對寄存器的訪問。C語言可以便捷高效的實現這個功能。比如,ARM的CMSIS通用接口代碼里,就用C的結構定義了所有片上的寄存器,對這些寄存器的訪問,和訪問變量沒什么兩樣。如定義一個指向寄存器的變量,
uint32_t regData= *((uint32_t*)0x08000000);
//讀取
x = regData;
//賦值
regData = a;
3.注意事項C語言也是在不斷的發展變化,因此也有許多不同的版本,如C89、C90、C95、C99等。這要求我們在實際應用的時候同樣要注意版本的兼容性。這一點很容易被初學者忽略。比如C99支持在函數中任意位置定義變量,但是早期的版本就不支持。
4.難不難學任意事物,只要下功夫,肯定會有收獲。況且現在程序員那么多,說明了只要學習,肯定是很掌握的。當然熟練的程度,要取決于做項目的多少,熟能生巧。建議初學者理論聯系實際,多做實際,學好它并不難。