c語言概要 第一章、概述 1、c語言的基本知識 1.1、c語言的執(zhí)行步驟 編輯-程序代碼的錄入,生成源程序*.c 編譯-語法分析查錯,翻譯生成目標程序*.obj (語法或邏輯錯誤,從第一個開始改,變量定義,語句格式,表達式格式等) 鏈接-與其他目標程序或庫鏈接裝配,生成可執(zhí)行程序*.exe 執(zhí)行 1.2、main函數(shù)的基本知識 main()函數(shù)的位置 c程序總是從main( )函數(shù)開始執(zhí)行 一個c程序可以包含一個主函數(shù),即main()函數(shù);也可以包含一個main()函數(shù)和若干其它函數(shù) 1.3、c程序的結構 函數(shù)與主函數(shù) 程序由一個或多個函數(shù)組成 必須有一個且只能有一個主函數(shù)main() 程序執(zhí)行從main開始,在main中結束,其他函數(shù)通過嵌套調用得以執(zhí)行 程序語句 C程序由語句組成 用“;”作為語句終止符 注釋 // 或 /* */ 為注釋,不能嵌套 不產生編譯代碼 1.4、c 程序書寫的規(guī)則 習慣用小寫字母,大小寫敏感 不使用行號,無程序行概念:通常一個語句占一行 可使用空行和空格 常用鋸齒形的書寫格式;同一層次結構的語句上下對齊。
第二章、基本數(shù)據類型與運算 2.1、c程序的數(shù)據類型 注意類型和變量含義的不同(類型是固定好的名字,變量是自己起的名字) 變量占用的存儲空間 數(shù)據類型 基本類型:整型、字符型、浮點型(單精度型,雙精度型) 構造類型:數(shù)組類型、結構體類型 指針類型 空類型 注意基本類型賦初值的方式 基本數(shù)據類型的表示形式 整形數(shù)據 十進制:以非0數(shù)字開頭,如:123,-9,0 八進制;以0數(shù)字開頭,如:0123,067 十六進制:以0x開頭,如:0x123,0xff 實型數(shù)據 十進制:必須帶小數(shù)點,如:123.0,-9.0 指數(shù)形式;如:1.23E3,0.9e-2,5e2 字符型數(shù)據 普通字符:如:'a','2','H','#' 轉義字符:如:'\n','\167','\xlf,'\\' (實現(xiàn)幾列的對齊:指定寬度。如%100\ '\t'制表位) (字符串長度。
“abc\n\t\\” strlen 6; sizeof 7) 基本數(shù)據類型的存儲長度 整型 Int 字節(jié)數(shù) 2 位數(shù) 16 數(shù)的表示范圍 -32768—32767 Short 2 16 -32768—32767 Long 4 32 -2147483648—2147483647 實型 Float 4 32 3.4e-38---3.4e38 Double 8 64 1.7e-308---1.7e308 字符型 Char 1 8 -128----127 2.2、標識符命名規(guī)則 C語言標志符命名規(guī)則 標識符有數(shù)字,字母,下劃線組成 標識符的首字符必須為字母和下劃線 標識符不能為c語言的保留字(關鍵字) 如:auto extern sizeof float static case for struct char goto switch continue in typedef const if union default long unsigned do register void double return else short while enum signed 算術運算符 + - * / % 關系運算符 > = <= != 邏輯運算符 ! && || 位運算符 <> ~ | ^ & 賦值運算符 = 及其擴展賦值運算符 條件運算符 ? : 逗號運算符 , 指針運算符 * & 求字節(jié)數(shù)運算符 sizeof 強制類型轉換運算符 (類型) 分量運算符 . -> 下標運算符 [ ] 其他 如函數(shù)調用運算符() 運算符的優(yōu)先級 由高到低:單目運算符,算數(shù)運算符,關系運算符,賦值運算符 說明:單目運算符:自增運算符,自減運算符,類型裝換運算符。結合方向:自右至左 如:++--I 先—i.。
算術運算 結合方向自左至右 2.3基本運算和表達式 關系表達式和邏輯表達式 (a>b)&&(x>y) (a==b)||(x==y) !=a||(a>b) A&&b.a為0.不執(zhí)行b A||b a為1.不執(zhí)行b 在 c 中邏輯運算結果:1代表“真”,0代表“假”; 判斷一個表達式是否真:0代表“假”,非0代表“真” 條件表達式 逗號表達式 如:k=5,k++ 逗號值為5;k為6. 表達式1?表達式2 :表達式3 K=5>6 ? 1 : 0 2.4、混合運算的數(shù)據類型轉換 2/3+0.5 雙精度浮點型 第三章、順序結構程序設計 3.1、c語句的分類 簡單語句 表達式語句 表達式+分號 空語句 只有分號的語句 復合語句 用花括號將若干語句括起來 流程控制語句 選擇語句 if ,switch 循環(huán)語句 while, do while , for 轉移語句 break ,continue ,return goto 3.2、格式輸入函數(shù)scanf 一般形式:scanf(“格式控制字符串“,地址列表); 使用scanf函數(shù)時,需要注意: 格式字符的個數(shù)必須與輸入項的個數(shù)相同,數(shù)據類型必須一一對應,非格式字符串(說明性的)要原封不動的輸入。 輸入實行數(shù)據時,可以不帶小數(shù)點,即按整型數(shù)據輸入 數(shù)值型數(shù)據與字符或字符串混合輸入時,需要注意輸入方式。
3.3、格式輸出函數(shù)printf Printf(“格式控制字符串“,輸出列表); 指定輸出格式,由格式字符串和非格式字符串兩種組成,非格式字符串照原樣輸出。 %[標志][輸出最小寬度][.精度][長度]類型 標志:- 左對齊;+ 右對齊; %f, %d, %c, %s 3.4、其他輸入輸出函數(shù) Putchar getchar puts gets 第四章、選擇結構程序設計 If選擇結構 單分支 If(表達式) 語句 雙分支 If(表達式) 語句1 Else 語句2 多分支 If (表達式1) 語句1 Else if(表達式2) 語句2 。
Else if(表達式m) 語句m Else 語句n Switch(表達式) { Case 常量表達式1:語句1;break; Case 常量表達式2:語句2;break; 。
Case 常量表達式m:語句m;break; Default:語句n;break; } 注意break的使用 第五章、循環(huán)結構程序設計 循環(huán)三要素 初始條件 ;終止條件 ;在初始條件和終止條件間反復做某件事情(循環(huán)體) While(表達式) 語句 Do 語句 While(表達式)。
(第六版) Bradley L. Jones, Peler Aitken 著. 信達工作室 譯. 人民郵電出版社 這本書對初學者很好, 如果有點基礎那就更好了. 建議選擇譚浩強譚老師的書,簡單易學,理論與實踐結合的很好,而且如果能認真學的話,你會發(fā)現(xiàn)你的C語言基礎非常的實。
也不是說其他的書不好,但是有些書只是為了讓讀者入門,沒有前途呀。 先讀譚浩強的《C語言程序設計》,這是公認的中文入門級教材。
但是書中的代碼風格不敢恭維。看完這本,推薦《21天學通C語言》,這本書比較好,個人感覺。
看完這兩本,你就可以進階C++了。 C語言只要把基礎打好就好,你要是想精通的話,最好是精通C++,這樣比較有前途。
但不要操之過急。
最低0.27元/天開通百度文庫會員,可在文庫查看完整內容>
原發(fā)布者:ofhyeiu2
C語言最重要的知識點總體上必須清楚的:1)程序結構是三種:順序結構、選擇結構(分支結構)、循環(huán)結構。2)讀程序都要從main()入口,然后從最上面順序往下讀(碰到循環(huán)做循環(huán),碰到選擇做選擇),有且只有一個main函數(shù)。3)計算機的數(shù)據在電腦中保存是以二進制的形式.數(shù)據存放的位置就是他的地址.4)bit是位是指為0或者1。byte是指字節(jié),一個字節(jié)=八個位.概念常考到的:1、編譯預處理不是C語言的一部分,不占運行時間,不要加分號。C語言編譯的程序稱為源程序,它以ASCII數(shù)值存放在文本文件中。誤的,一定不能出現(xiàn)分號。3、每個C語言程序中main函數(shù)是有且只有一個。4、在函數(shù)中不可以再定義函數(shù)。5、算法:可以沒有輸入,但是一定要有輸出。第一章C語言的基礎知識第一節(jié)、對C語言的基礎認識1、C語言編寫的程序稱為源程序,又稱為編譯單位。2、C語言書寫格式是自由的,每行可以寫多個語句,可以寫多行。3、一個C語言程序有且只有一個main函數(shù),是程序運行的起點。第二節(jié)、2、每個C語言程序寫完后,都是先編譯,后鏈接,最后運行。(.c---(.obj---(.exe)這個過程中注意.c和.obj文件時無法運行的,只有.exe文件才可以運行。(常考!)(程序編輯-程序編譯-程序連接-程序運行)第三節(jié)、標識符1、標識符(必考內容):合法的要求是由字母,數(shù)字,下劃線組成。有其它元素就錯了。并且第一個必須為字母或則是下劃線。第一個為數(shù)字就錯了預定義標識符:背誦
去百度文庫,查看完整內容>
內容來自用戶:暗香飛度
C語言考試必備基礎知識點整理
【考點1】C程序
C語言程序結構有三種:順序結構,循環(huán)結構(三個循環(huán)結構),選擇結構(if和switch)
【考點2】main函數(shù)
每個C語言程序中main函數(shù)是有且只有一個。讀程序都要從main()入口,然后從最上面順序往下讀(碰到循環(huán)做循環(huán),碰到選擇做選擇)。
【考點3】存儲形式
計算機的數(shù)據在電腦中是以二進制的形式保存。最低的存儲單元是bit(位),位是由為0或者1構成。byte是指字節(jié),一個字節(jié)=八個位。數(shù)據存放的位置就是它的地址。
【考點4】注釋
是對程序的說明,可出現(xiàn)在程序中任意合適的地方,注釋從“/*”開始到最近一個“*/”結束,其間任何內容都不會被計算機執(zhí)行,注釋不可以嵌套。
【考點5】書寫格式
每條語句的后面必須有一個分號,分號是語句的一部分。一行內可寫多條語句,一個語句可寫在多行上。
【考點6】標識符
合法的用戶標識符考查:
合法的要求是由字母,數(shù)字,下劃線組成。有其它元素就錯了。
并且第一個必須為字母或則是下劃線。第一個為數(shù)字就錯了。
C語言標識符分如下3類
(1)關鍵字。它們在程序中有固定的含義,不能另作他用。如int、for、switch等。
(2)預定義標識符。預先定義并具有特定含義的標識符。如 【考點 注意
最好的教材就是
清華大學出版社的
譚浩強 教授編寫的 《C語言教程》
原因就是因為此書介紹的簡單,入門相當?shù)暮谩?/p>
然后不急不躁的看,看到函數(shù)那一章,你就可以入門了
第一章要省略。那個理論太強,沒用;
變量 數(shù)組 基本的三大結構(順序,循環(huán),選擇)是重點。 這些看完了,你就基本入門了。
函數(shù)和指針是進一步了解掌握的重點。要想提高,在這兩個方面要深入理解一些。
參考的其他方面,可以買一本二級的上級真題看看。
至于自學細節(jié),重要的是兩點:
① C語言的思路方面。如果你從前沒有學過其他的編程語言,我覺得理解它的思路是很重要的事情!注意他們的條理和組織。
②就是內部的構成。可以按下面的一項項的學習:
先從最小的單位 變量 開始
然后簡單的 運算符(掌握算術和賦值,比較,邏輯運算符,前期就差不多了,沒有必要掌握高難度運算符)
再次三大結構。要牢固理解。
這些就算是入門了,其他的你再根據需要在深入學習吧。
祝學習成功
如果是想通過計算機等級考試 就買一本全國計算機等級考試二級試題認真做就可以了 當然也要加強上機實踐。
怎樣才能學好C語言
第一:C語言語法結構很簡潔精妙,寫出的程序也很高效,很便于描述算法,大多數(shù)的程序員愿意使用C語言去描述算法本身,所以,如果你想在程序設計方面有所建樹,就必須去學它。
第二:C語言能夠讓你深入系統(tǒng)底層,你知道的操作系統(tǒng),哪一個不是C語言寫的?所有的indows, Unix, Linux, Mac, os/2,沒有一個里外的,如果你不懂C語言,怎么可能深入到這些操作系統(tǒng)當中去呢?更不要說你去寫它們的內核程序了。
第三:很多新型的語言都是衍生自C語言,C++,Java,C#,J#,perl。哪個不是呢?掌握了C語言,可以說你就掌握了很多門語言,經過簡單的學習,你就可以用這些新型的語言去開發(fā)了,這個再一次驗證了C語言是程序設計的重要基礎。還有啊,多說一點:即使現(xiàn)在招聘程序員,考試都是考C語言,你想加入it行業(yè),那么就一定要掌握好C語言。
那么究竟怎樣學習C語言呢?
1:工欲善其事,必先利其器
這里介紹幾個學習C語言必備的東東:
一個開發(fā)環(huán)境,例如turbo C 2.0,這個曾經占據了DOS時代開發(fā)程序的大半個江山。但是現(xiàn)在windows時代,用turbo C有感覺不方面,編輯程序起來很吃力,并且拖放,更沒有函數(shù)變量自動感應功能,查詢參考資料也不方便。建議使用Visual C++,這個東西雖然比較大塊頭,但是一旦安裝好了,用起來很方便。
一本學習教程,現(xiàn)在C語言教材多如牛毛,但推薦大家使用《C語言程序設計》譚浩強主編 第二版 清華大學出版社,此書編寫的很適合初學者,并且內容也很精到。
除此以外,現(xiàn)在有很多輔助學習的軟件,畢竟現(xiàn)在是Window時代了,學習軟件多如牛毛,不象我們當初學習,只有讀書做題這么老套。我向大家推薦一個“集成學習環(huán)境(C語言)”,里邊的知識點總結和例程講解都非常好,還有題庫測試環(huán)境,據說有好幾千題,甚至還有一個windows下的trubo C,初學者甚至不用裝其它的編譯器,就可以練習編程了,非常適合初學者。還有一個“C語言學習系統(tǒng)”軟件,不過感覺只是一個題庫系統(tǒng),如果你覺得題做的不夠,不妨也可以試試。
2:葵花寶典
學習計算機語言最好的方法是什么?答曰:讀程序。
沒錯,讀程序是學習C語言入門最快,也是最好的方法。如同我,現(xiàn)在學習新的J#,C#等其他語言,不再是抱著書本逐行啃,而是學習它們的例程。當然,對于沒有學過任何計算機語言的初學者,最好還是先閱讀教程,學習完每一章,都要認真體會這一章的所有概念,然后不放過這一章中提到的所有例程,然后仔細研讀程序,直到每一行都理解了,然后找?guī)讉€編程題目,最好是和例程類似的或一樣的,自己試圖寫出這段已經讀懂的程序,不要以為例程你已經讀懂了,你就可以寫出和它一樣的程序,絕對不一定,不相信你就試一試吧,如果寫不出來,也不要著急,回過頭來再繼續(xù)研究例程,想想自己為什么寫不出來,然后再去寫這段程序,反反復復,直到你手到擒來為止,祝賀你,你快入門了。
3:登峰造極
寫程序的最高境界其實就是掌握各種解決問題的手段(數(shù)據結構)和解決問題的方法(算法)。
是不是寫出底層程序就是程序設計高手呢?非也,寫底層程序,無非是掌握了硬件的結構,況且硬件和硬件還不一樣,要給一個芯片寫驅動程序,無非就是掌握這塊芯片的各種寄存器及其組合,然后寫值讀值,僅此而已。這不過是熟悉一些io函數(shù)罷了。那么怎樣才算精通程序設計呢?怎樣才能精通程序設計呢?舉個例子:你面前有10個人,找出一個叫“張三”的人,你該怎么辦?第一種方法:直接對這10個人問:“誰叫張三”。第2種方法:你挨個去問“你是不是張三?”,直到問到的這個人就是張三。第三種方法:你去挨個問一個人“你認不認識張三,指給我看”。不要小看這個問題,你說當然會選第一種方法,沒錯恭喜你答對了,因為這個方法最快,效率最高,但是在程序設計中找到解決問題的最優(yōu)方法和你用的手段卻是考驗一個程序員程序設計水平的重要標志,而且是不容易達到的。剛才這個問題類似于數(shù)據結構和算法中的:Map數(shù)據結構,窮舉查找和折半查找。所以掌握好數(shù)據結構和一些常用算法,是登峰造極的必然之路。最后給大家推薦嚴尉敏的《數(shù)據結構》清華大學出版社,希望每一個想成為程序設計高手的人研讀此書。
C語言基礎教程別看了,學習C語言不能脫離具體的系統(tǒng),不能不了解計算機體系結構和操作系統(tǒng)原理、編譯原理,推薦你看這本開源的書:《Linux C編程一站式學習》如果是在Windows上學習,可以安裝cygwin來模擬linux環(huán)境,下載地址:/site/install/下面貼一下這本書的介紹,磨刀不誤砍柴工,看過之后你就會愛上這本書了:這本書有什么特點?面向什么樣的讀者? 這本書最初是為北京亞嵌教育研究中心的嵌入式Linux系統(tǒng)工程師就業(yè)班課程量身定做的教材之一。
該課程是為期四個月的全日制職業(yè)培訓,要求學員畢業(yè)時具備非常Solid的C編程能力,能熟練地使用Linux系統(tǒng),同時對計算機體系結構與指令集、操作系統(tǒng)原理和設備驅動程序都有較深入的了解。然而學員入學時的水平是非常初級而且參差不齊的:學歷有專科、本科也有研究生,專業(yè)有和計算機相關的也有很不相關的(例如會計專業(yè)),以前從事的職業(yè)有和技術相關的也有完全不相關的(例如HR),年齡從二十出頭到三十五六歲的都有。
這么多背景完全不同、基礎完全不同、思維習慣和理解能力完全不同的人來聽同一堂課,大家都迫切希望學會嵌入式開發(fā)技術,投身IT行業(yè),這就是職業(yè)教育的特點,也是我編這本書時需要考慮的主要問題。學習編程絕不是一件簡單的事,尤其是對于零基礎的初學者來說。
大學的計算機專業(yè)有四年時間從零基礎開始培養(yǎng)一個人,微積分、線代、隨機、離散、組合、自動機、編譯原理、操作系統(tǒng)、計算機組成原理等等一堆基礎課,再加上C/C++、Java、數(shù)據庫、網絡、軟件工程、計算機圖形學等等一堆專業(yè)課,最后培養(yǎng)出一個能找到工作的學生。很遺憾這最后一條很多學校沒有做好,來亞嵌培訓的很多學生就是四年這么學過來的,但據我們考查他們的基礎幾乎為零,我不知道為什么。
與之形成鮮明對比的是,只給我們四個月的時間,同樣要求從零基礎開始,最后培養(yǎng)出一個能找到工作的學生,而且還要保證他找到工作,這就是職業(yè)教育的特點。為什么我說“只給我們四個月的時間”?我們倒是想教四年呢,但學時的長短我們做不了主,是由市場規(guī)律決定的。
四年的任務要求四個月做好,要怎么完成這樣一個幾乎不可能的任務?有些職業(yè)教育給出的答案是“實用主義”,打出了“有用就學,沒有用就不學”的口號,大肆貶低說大學里教的基礎課都是過時的、無用的,只有他們教的技術才是實用的,這種炒作很不好,我認為大學里教的每一門課都是非常有用的,基礎知識在任何時候都不會過時,倒是那些時髦的“實用技術”有可能很快就過時了。四年的任務怎么才能用四個月做好?我們給出的答案是“優(yōu)化”。
現(xiàn)在大學里安排的課程體系最大的缺點就是根本不考慮優(yōu)化。每個過來人都會有這樣的感覺:大一大二學了好多數(shù)學課,卻不知道都是干什么用的,為什么要學。
連它有什么用都不知道怎么能有興趣學好呢?然后到大三大四學專業(yè)課時,用到以前的知識了,才發(fā)現(xiàn)以前學的數(shù)學是多么有用,然而早就忘得一干二凈了,考完試都還給老師了,回頭重新學吧,這時候才發(fā)現(xiàn)很多東西以前根本沒學明白,現(xiàn)在才真的學明白了,那么前兩年的時間豈不是都浪費了?大學里的課程體系還有一個缺點就是不靈活,每門課必須占一個學期,必須由一個老師教,不同課程的老師之間沒有任何溝通和銜接,其實這些課程之間是相互依賴的,把它們強行拆開是不符合人的認知規(guī)律的。比如我剛上大學的時候,大一上半學期就被逼著學C語言,其實C語言是一門很難的編程語言,不懂編譯原理、操作系統(tǒng)和計算機體系結構根本不可能學明白,那半個學期自然就浪費掉了。
當時幾乎所有學校的計算機相關專業(yè)都是這樣,大一上來就學C語言,有的學校更瘋狂,上來就學C++,導致大多數(shù)學生都以為自己會C語言,但其實都是半吊子水平,到真正寫代碼的時候經常為一個Bug搞得焦頭爛額,卻沒有機會再系統(tǒng)地學一遍C語言,因為在學校看來,C語言課早在大一就給你“上完了”,就像一頓飯已經吃完了,不管你吃飽沒吃飽,不會再讓你重吃一遍了。顯而易見,如果要認真地對這些課程做優(yōu)化,的確是有很多水份可以擠的。
本書有以下特點: * 不是孤立地講C語言,而是和編譯原理、操作系統(tǒng)、計算機體系結構結合起來講。或者說,本書的內容只是以C語言為載體,真正講的是計算機的原理和程序的原理。
* 強調基本概念和基本原理,在編排順序上非常重視概念之間的依賴關系,每次引入一個新的概念,只依賴于前面章節(jié)已經講過的概念,而絕不會依賴后面章節(jié)要講的概念。有些地方為了敘述得完整,也會引用后面要講的內容,比如說“有關XX我們到XX章再仔細講解”,凡是這種引用都不是必要的依賴,可以當它不存在,只管繼續(xù)往下看就行了。
* 盡量做到每個知識點直到要用的時候才引入。過早引入一個知識點,講完了又不用它,讀者很快就會遺忘,這是不符合認知規(guī)律的。
這是一本從零基礎開始學習編程的書,不要求讀者有任何編程經驗,但讀者至少需要具備以下素質: * 熟悉Linux系統(tǒng)的基本操作。如果不具備這一點,請先參考其它教材。
怎么樣學好C語言?! 很多人對學習C語言感到無從下手,經常問我同一個問題:究竟怎樣學習C語言?我是一個教師,已經開發(fā)了很多年的程序,和很多剛剛起步的人一樣,學習的第一個計算機語言就是C語言。
經過這些年的開發(fā),我深深的體會到C語言對于一個程序設計人員多么的重要,如果不懂C語言,你想寫底層程序這幾乎聽起來很可笑,不懂C語言,你想寫出優(yōu)秀高效的程序,這簡直就是天方夜譚。為什么C語言如此重要呢? 第一:C語言語法結構很簡潔精妙,寫出的程序也很高效,很便于描述算法,大多數(shù)的程序員愿意使用C語言去描述算法本身,所以,如果你想在程序設計方面有所建樹,就必須去學它。
第二:C語言能夠讓你深入系統(tǒng)底層,你知道的操作系統(tǒng),哪一個不是[size=2C語言寫的?所有的windows,Unix,Linux,Mac,os/2,沒有一個里外的,如果你不懂C語言,怎么可能深入到這些操作系統(tǒng)當中去呢?更不要說你去寫它們的內核程序了。 第三:很多新型的語言都是衍生自C語言,C++,Java,C#,J#,perl。
哪個不是呢?掌握了C語言,可以說你就掌握了很多門語言,經過簡單的學習,你就可以用這些新型的語言去開發(fā)了,這個再一次驗證了C語言是程序設計的重要基礎。還有啊,多說一點:即使現(xiàn)在招聘程序員,考試都是考C語言,你想加入it行業(yè),那么就一定要掌握好C語言。
那么究竟怎樣學習C語言呢? 1:工欲善其事,必先利其器 這里介紹幾個學習C語言必備的東東: 一個開發(fā)環(huán)境,例如turbo?C?2.0,這個曾經占據了DOS時代開發(fā)程序的大半個江山。但是現(xiàn)在windows時代,用turbo?C有感覺不方面,編輯程序起來很吃力,并且拖放,更沒有函數(shù)變量自動感應功能,查詢參考資料也不方便。
建議使用Visual C++,這個東西雖然比較大塊頭,但是一旦安裝好了,用起來很方便。 一本學習教程,現(xiàn)在C語言教材多如牛毛,但推薦大家使用《C語言程序設計》譚浩強主編,此書編寫的很適合初學者,并且內容也很精到。
除此以外,現(xiàn)在有很多輔助學習的軟件,畢竟現(xiàn)在是Window時代了,學習軟件多如牛毛,不象我們當初學習,只有讀書做題這么老套。我向大家推薦一個“集成學習環(huán)境(C語言)”,里邊的知識點總結和例程講解都非常好,還有題庫測試環(huán)境,據說有好幾千題,甚至還有一個windows下的trubo?C,初學者甚至不用裝其它的編譯器,就可以練習編程了,非常適合初學者。
還有一個“C語言學習系統(tǒng)”軟件,不過感覺只是一個題庫系統(tǒng),如果你覺得題做的不夠,不妨也可以試試。 2:葵花寶典 學習計算機語言最好的方法是什么?答曰:讀程序。
沒錯,讀程序是學習C語言入門最快,也是最好的方法。如同我,現(xiàn)在學習新的J#,C#等其他語言,不再是抱著書本逐行啃,而是學習它們的例程。
當然,對于沒有學過任何計算機語言的初學者,最好還是先閱讀教程,學習完每一章,都要認真體會這一章的所有概念,然后不放過這一章中提到的所有例程,然后仔細研讀程序,直到每一行都理解了,然后找?guī)讉€編程題目,最好是和例程類似的或一樣的,自己試圖寫出這段已經讀懂的程序,不要以為例程你已經讀懂了,你就可以寫出和它一樣的程序,絕對不一定,不相信你就試一試吧,如果寫不出來,也不要著急,回過頭來再繼續(xù)研究例程,想想自己為什么寫不出來,然后再去寫這段程序,反反復復,直到你手到擒來為止,祝賀你,你快入門了。 3:登峰造極 寫程序的最高境界其實就是掌握各種解決問題的手段(數(shù)據結構)和解決問題的方法(算法)。
是不是寫出底層程序就是程序設計高手呢?非也,寫底層程序,無非是掌握了硬件的結構,況且硬件和硬件還不一樣,要給一個芯片寫驅動程序,無非就是掌握這塊芯片的各種寄存器及其組合,然后寫值讀值,僅此而已。這不過是熟悉一些io函數(shù)罷了。
那么怎樣才算精通程序設計呢?怎樣才能精通程序設計呢?舉個例子:你面前有10個人,找出一個叫“張三”的人,你該怎么辦?第一種方法:直接對這10個人問:“誰叫張三”。第2種方法:你挨個去問“你是不是張三?”,直到問到的這個人就是張三。
第三種方法:你去挨個問一個人“你認不認識張三,指給我看”。不要小看這個問題,你說當然會選第一種方法,沒錯恭喜你答對了,因為這個方法最快,效率最高,但是在程序設計中找到解決問題的最優(yōu)方法和你用的手段卻是考驗一個程序員程序設計水平的重要標志,而且是不容易達到的。
剛才這個問題類似于數(shù)據結構和算法中的:Map數(shù)據結構,窮舉查找和折半查找。所以掌握好數(shù)據結構和一些常用算法,是登峰造極的必然之路。
首先要多看書;
自學下述書籍
《The C Programming Language》 《C程序設計語言》本書原著為C語言的設計者之一Dennis M.Ritchie和著名的計算機科學家Brian W.Kernighan合著的一本介紹C語言的權威經典著作。人們熟知的“hello,World”程序就是由本書首次引入的,現(xiàn)在,這一程序已經成為所有程序設計語言入門的第一課。原著第2版根據1987年制定的ANSIC標準做了適當?shù)男抻啠肓俗钚碌恼Z言形式,并增加了新的示例,通過簡潔的描述、典型的示例,作者全面、系統(tǒng)、準確地講述了C語言的各個特性以及程序設計的基本方法。對于計算機從業(yè)人員來說,本書是一本必讀的程序設計語言方面的參考書。
《Expert C Programming》 《C專家編程》展示了最優(yōu)秀的C程序員所使用的編碼技巧,并專門開辟了一章對C++的基礎知識進行了介紹。
書中C的歷史、語言特性、聲明、數(shù)組、指針、鏈接、運行時、內存以及如何進一步學習C++等問題進行了細致的講解和深入的分析。全書擷取幾十幾個實例進行講解,對C程序員具有非常高的實用價值。
《C Traps and Pitfalls》 《C陷阱與缺陷》作者以自己1985年在貝爾實驗室時發(fā)表的一篇論文為基礎,結合自己的工作經驗擴展成為這本對C程序員具有珍貴價值的經典著作。寫作本書的出發(fā)點不是要批判C語言,而是要幫助C程序員繞過編程過程中的陷阱和障礙。
全書分為8章,分別從詞法分析、語法語義、連接、庫函數(shù)、預處理器、可移植性缺陷等幾個方面分析了C編程中可能遇到的問題。最后,作者用一章的篇幅給出了若干具有實用價值的建議。
《Pointers on C》 《C和指針》本書提供與C語言編程相關的全面資源和深入討論。本書通過對指針的基礎知識和高級特性的探討,幫助程序員把指針的強大功能融入到自己的程序中去。 全書共18章,覆蓋了數(shù)據、語句、操作符和表達式、指針、函數(shù)、數(shù)組、字符串、結構和聯(lián)合等幾乎所有重要的C編程話題。書中給出了很多編程技巧和提示,每章后面有針對性很強的練習,附錄部分則給出了部分練習的解答。
《C: A Reference Manual》 《C參考手冊》全書分為兩大部分,共24章。第一部分討論了C語言的所有語言特征,包括詞法、預處理機制、聲明、類型、表達式、語句以及函數(shù)等基本語言特性。第二部分討論了C語言的標準庫,根據它們不同的功能分別詳細介紹。為幫助讀者理解相關概念,本書在討論C語言及其標準庫的各方面問題時,提供了許多實例和解釋。在第一部分的各章中還提供了練習題,書后則給出了主要練習的解答。這些練習的主要目的是幫助讀者理解C語言的基本機制及其重要細節(jié),其中并不涉及復雜的程序設計技術與問題。
《C Primer Plus》 本書全面講述了C語言編程的相關概念和知識。 全書共17章。第1.2章學習C語言編程所需的預備知識。第3到15章介紹了C語言的相關知識,包括數(shù)據類型、格式化輸入輸出、運算符、表達式、流程控制語句、函數(shù)、數(shù)組和指針、字符串操作、內存管理、位操作等等,知識內容都針對C99標準;另外,第10章強化了對指針的討論,第12章引入了動態(tài)內存分配的概念,這些內容更加適合讀者的需求。第16章和第17章討論了C預處理器和C庫函數(shù)、高級數(shù)據表示(數(shù)據結構)方面的內容。附錄給出了各章后面復習題、編程練習的答案和豐富的C編程參考資料。
然后呢,做些練習題,培養(yǎng)自己的興趣和編程思想
祝您學業(yè)有成
聲明:本網站尊重并保護知識產權,根據《信息網絡傳播權保護條例》,如果我們轉載的作品侵犯了您的權利,請在一個月內通知我們,我們會及時刪除。
蜀ICP備2020033479號-4 Copyright ? 2016 學習鳥. 頁面生成時間:2.588秒