在大多數(shù)培訓(xùn)機(jī)構(gòu)、甚至大學(xué)躯泰,現(xiàn)在學(xué)習(xí)軟件編程谭羔,計(jì)算機(jī)編程課程已經(jīng)不把C語(yǔ)言列入學(xué)習(xí)內(nèi)容,或者重點(diǎn)學(xué)習(xí)內(nèi)容了麦向。但是上嵌一直把C語(yǔ)言作為第一門課程瘟裸,重點(diǎn)學(xué)習(xí)。iOS課程也加大C語(yǔ)言和Linux學(xué)習(xí)比重诵竭。
大家都知道C語(yǔ)言難學(xué)话告,上嵌這種課程設(shè)置對(duì)學(xué)生來說有什么特別的指導(dǎo)意義?
一卵慰、為什么要學(xué)習(xí)C語(yǔ)言
C語(yǔ)言是現(xiàn)代通用編程語(yǔ)言的鼻祖語(yǔ)言沙郭,也是所有操作系統(tǒng)必須支持的語(yǔ)言,在全世界編程社區(qū)的排行榜中常年穩(wěn)居榜首裳朋。不學(xué)好C語(yǔ)言病线,其它編程語(yǔ)言難于到精通的程度。
我們不想重復(fù)“C語(yǔ)言是編程的基礎(chǔ)”再扭、“學(xué)好 C 語(yǔ)言氧苍,走遍天下都不怕”等等。C作為一門工程實(shí)用性極強(qiáng)的語(yǔ)言泛范,提供了對(duì)操作系統(tǒng)和內(nèi)存的精準(zhǔn)控制让虐,高性能的運(yùn)行時(shí)環(huán)境,源碼級(jí)的跨平臺(tái)編譯等優(yōu)點(diǎn)罢荡,這才是我們學(xué)習(xí)C的理由赡突。
C語(yǔ)言也是個(gè)有趣的東西,對(duì)編程的認(rèn)知越深区赵,就會(huì)越覺得有意思惭缰,簡(jiǎn)單列舉一些 C 的優(yōu)點(diǎn):
結(jié)構(gòu)化設(shè)計(jì)語(yǔ)言,語(yǔ)法清晰笼才、結(jié)構(gòu)簡(jiǎn)單漱受,模塊化使得程序的各個(gè)部分除了必要的信息交流外彼此獨(dú)立,便于開發(fā)骡送、調(diào)試以及調(diào)試昂羡。
運(yùn)算符多,把括號(hào)摔踱、賦值虐先、強(qiáng)制類型轉(zhuǎn)換等都作為運(yùn)算符處理,靈活使用各種運(yùn)算符派敷,可以實(shí)現(xiàn)在其它高級(jí)語(yǔ)言中難以實(shí)現(xiàn)的運(yùn)算蛹批。
數(shù)據(jù)結(jié)構(gòu)豐富撰洗,能實(shí)現(xiàn)各種復(fù)雜的數(shù)據(jù)類型的運(yùn)算,引入指針腐芍、結(jié)構(gòu)體概念使程序效率更高差导。
為操作系統(tǒng)而生,可以像匯編語(yǔ)言一樣對(duì)位甸赃、字節(jié)和地址進(jìn)行操作柿汛,允許直接訪問物理地址對(duì)硬件進(jìn)行操作,把高級(jí)語(yǔ)言的基本結(jié)構(gòu)和語(yǔ)句與低級(jí)語(yǔ)言的實(shí)用性結(jié)合起來埠对。
程序執(zhí)行效率高络断,一般比匯編程序生成的目標(biāo)代碼效率低 10%~20%。
可移植性好项玛,C 語(yǔ)言抽象了針對(duì) CPU 編程的細(xì)節(jié)貌笨,能廣泛應(yīng)用于針對(duì)大型操作系統(tǒng)和系統(tǒng)軟件的編寫。
具備強(qiáng)大的繪圖功能襟沮,和 C++ 一樣也可以寫出很優(yōu)雅的二維锥惋、三維圖形和動(dòng)畫。
C++开伏、Java語(yǔ)言是所有平臺(tái)對(duì)C語(yǔ)言的功能補(bǔ)充膀跌,屬于界面開發(fā)、服務(wù)器開發(fā)的首選固灵。所以上嵌將C語(yǔ)言作為基礎(chǔ)技能捅伤,非常重視學(xué)員在這方面的培養(yǎng),會(huì)對(duì)后續(xù)的學(xué)習(xí)打下一個(gè)良好的基礎(chǔ)巫玻,也對(duì)上嵌學(xué)員的持續(xù)發(fā)展奠定堅(jiān)實(shí)基石丛忆。
二、C語(yǔ)言需要掌握哪些知識(shí)點(diǎn)
一些最基礎(chǔ)的就不列出來了仍秤。關(guān)鍵及難點(diǎn):
- 指針及使用注意
- 數(shù)組和字符串
- 指針和數(shù)組
- 預(yù)處理指令
- #include編譯預(yù)處理命令與多文件團(tuán)隊(duì)開發(fā)
- 算法
三熄诡、上嵌C語(yǔ)言項(xiàng)目
-
開發(fā)要求
- 寫出需求分析,明確自己的項(xiàng)目具有哪些功能诗力,
- 根據(jù)自己的需求分析畫出整個(gè)項(xiàng)目實(shí)現(xiàn)的流程圖凰浮,做到對(duì)整個(gè)項(xiàng)目的框架有個(gè)把握。
3.根據(jù)流程圖對(duì)整個(gè)項(xiàng)目進(jìn)行模塊化處理苇本,分模塊進(jìn)行編寫代碼导坟,最后通過makefile文件連接所有的模塊進(jìn)行編譯生成可執(zhí)行文件。
考察重點(diǎn)
- 鏈表的新建以及對(duì)鏈表的增圈澈,刪,改尘惧,查操作
- 文件的讀和瓤嫡弧(fopen,fread,fwrite)
- makefile 的使用
- 開發(fā)及功能要求