- 相關推薦
C語言知識點總結
總結在一個時期、一個年度、一個階段對學習和工作生活等情況加以回顧和分析的一種書面材料,它在我們的學習、工作中起到呈上啟下的作用,快快來寫一份總結吧。那么我們該怎么去寫總結呢?下面是小編幫大家整理的C語言知識點總結,僅供參考,希望能夠幫助到大家。
C語言知識點總結1
很多人對學習C語言感到無從下手,經(jīng)常問我同一個問題:究竟怎樣學習C語言?我是一個教師,已經(jīng)開發(fā)了很多年的程序,和很多剛剛起步的人一樣,學習的第一個計算機語言就是C語言。經(jīng)過這些年的開發(fā),我深深的體會到C語言對于一個程序設計人員多么的重要,如果不懂C語言,你想寫底層程序這幾乎聽起來很可笑,不懂C語言,你想寫出優(yōu)秀高效的程序,這簡直就是天方夜譚。為什么C語言如此重要呢?
第一:C語言語法結構很簡潔精妙,寫出的程序也很高效,很便于描述算法,大多數(shù)的程序員愿意使用C語言去描述算法本身,所以,如果你想在程序設計方面有所建樹,就必須去學它。
第二:C語言能夠讓你深入系統(tǒng)底層,你知道的操作系統(tǒng),哪一個不是C語言寫的?所有的windows,Unix,Linux,Mac,os/2,沒有一個里外的,如果你不懂C語言,怎么可能深入到這些操作系統(tǒng)當中去呢?更不要說你去寫它們的內(nèi)核程序了。
第三:很多新型的語言都是衍生自C語言,C++,Java,C#,J#,perl...哪個不是呢?掌握了C語言,可以說你就掌握了很多門語言,經(jīng)過簡單的學習,你就可以用這些新型的語言去開發(fā)了,這個再一次驗證了C語言是程序設計的重要基礎。還有啊,多說一點:即使現(xiàn)在招聘程序員,考試都是考C語言,你想加入it行業(yè),那么就一定要掌握好C語言。
那么究竟怎樣學習C語言呢?
1:工欲善其事,必先利其器
這里介紹幾個學習C語言必備的東東:
一個開發(fā)環(huán)境,例如turbo C 2.0,這個曾經(jīng)占據(jù)了DOS時代開發(fā)程序的大半個江山。但是現(xiàn)在windows時代,用turboC有感覺不方面,編輯程序起來很吃力,并且拖放,更沒有函數(shù)變量自動感應功能,查詢參考資料也不方便。建議使用VisualC++,這個東西雖然比較大塊頭,但是一旦安裝好了,用起來很方便。
一本學習教程,現(xiàn)在C語言教材多如牛毛,但推薦大家使用《C語言程序設計》譚浩強主編 第二版清華大學出版社,此書編寫的很適合初學者,并且內(nèi)容也很精到。
除此以外,現(xiàn)在有很多輔助學習的軟件,畢竟現(xiàn)在是Window時代了,學習軟件多如牛毛,不象我們當初學習,只有讀書做題這么老套。我向大家推薦一個“集成學習環(huán)境(C語言)”,里邊的知識點總結和例程講解都非常好,還有題庫測試環(huán)境,據(jù)說有好幾千題,甚至還有一個windows下的truboC,初學者甚至不用裝其它的編譯器,考試#大提示就可以練習編程了,非常適合初學者。還有一個“C語言學習系統(tǒng)”軟件,不過感覺只是一個題庫系統(tǒng),如果你覺得題做的不夠,不妨也可以試試。
2:葵花寶典
學習計算機語言的方法是什么?答曰:讀程序。
沒錯,讀程序是學習C語言入門最快,也是的方法。如同我,現(xiàn)在學習新的J#,C#等其他語言,不再是抱著書本逐行啃,而是學習它們的例程。當然,對于沒有學過任何計算機語言的初學者,還是先閱讀教程,學習完每一章,都要認真體會這一章的所有概念,然后不放過這一章中提到的所有例程,然后仔細研讀程序,直到每一行都理解了,然后找?guī)讉編程題目,是和例程類似的或一樣的`,自己試圖寫出這段已經(jīng)讀懂的程序,不要以為例程你已經(jīng)讀懂了,你就可以寫出和它一樣的程序,絕對不一定,不相信你就試一試吧,如果寫不出來,也不要著急,回過頭來再繼續(xù)研究例程,想想自己為什么寫不出來,然后再去寫這段程序,反反復復,直到你手到擒來為止,祝賀你,你快入門了。
3:登峰造極
寫程序的境界其實就是掌握各種解決問題的手段(數(shù)據(jù)結構)和解決問題的方法(算法)。
是不是寫出底層程序就是程序設計高手呢?非也,寫底層程序,無非是掌握了硬件的結構,況且硬件和硬件還不一樣,要給一個芯片寫驅動程序,無非就是掌握這塊芯片的各種寄存器及其組合,然后寫值讀值,而已。這不過是熟悉一些io函數(shù)罷了。那么怎樣才算精通程序設計呢?怎樣才能精通程序設計呢?舉個例子:你面前有10個人,找出一個叫“張三”的人,你該怎么辦?第一種方法:直接對這10個人問:“誰叫張三”。第2種方法:你挨個去問“你是不是張三?”,直到問到的這個人就是張三。第三種方法:你去挨個問一個人“你認不認識張三,指給我看”。不要小看這個問題,你說當然會選第一種方法,沒錯恭喜你答對了,因為這個方法最快,效率,但是在程序設計中找到解決問題的方法和你用的手段卻是考驗一個程序員程序設計水平的重要標志,而且是不容易達到的。剛才這個問題類似于數(shù)據(jù)結構和算法中的:Map數(shù)據(jù)結構,窮舉查找和折半查找。所以掌握好數(shù)據(jù)結構和一些常用算法,是登峰造極的必然之路。最后給大家推薦嚴尉敏的《數(shù)據(jù)結構》清華大學出版社,希望每一個想成為程序設計高手的人研讀此書。
C語言知識點總結2
1)printf函數(shù)格式考試:
%d對應整形;%c對應字符;%f對應單精度等。寬度、左對齊等修飾。
%ld對應longint;%lf對應double。
2)scanf函數(shù)格式調查:
注意函數(shù)的第二部分是函數(shù)&a這樣的地址,不是a;
Scanf(“%d%d%*d%d”,&a,&b,&c);跳過輸入的第三個數(shù)據(jù)。
3)putchar,getchar函數(shù)考試:
chara=get)沒有參數(shù),從鍵盤中獲取您輸入的一個字符給變量a。
put‘y將字符y輸出到屏幕上。
4)如何實現(xiàn)兩個變量xx,y中數(shù)值的.交換(要求背下來)
不可以把x=y,y=x;使用中間變量t=x;x=y;y=t。
5)如何保留三位小數(shù),第四位四舍五入的程序,(要求背下來)
這有推廣的意義,注意x=(int)x這是為了去除少數(shù)部分。
C語言知識點總結3
特別注意:C語言用非0表示真實邏輯,用0表示假邏輯。
1)關系表達式:
表達式值只能為1(表示為真),或0(表示假)
當關系的表達是真實的時候得到1。例如,9>8這是真的,所以表達式的值是1;
2)邏輯表達式:
只能為1(表示為真),或0(表示假)
a)共有&&||!三種邏輯運算符號。
b)!>&&>||優(yōu)先級別。
c)注意短路現(xiàn)象?荚嚫矚g考試。
d)要表示x是比0大,比10小的方法。00
3)if語句
else它與最接近的.if沒有else相結合。
4)條件表達式:
表達式1?表達式2:表達式3
注意,當不是0時,是表達式2的值,當0是表達式2的值。
考試公式:真前假后。
5)switch語句:
a)一定要注意有break與沒有break的區(qū)別,書中(34頁)的兩個例子,當沒有break時,只要有一個case匹配,剩下的就要執(zhí)行,而break則直接跳出swiche語句。
b)switch只能與break一起使用,不能與continue一起使用。
C語言知識點總結4
總體上必須清楚的:
1)程序結構是三種:順序結構、選擇結構(分支結構)、循環(huán)結構。
2)讀程序都要從main()入口,然后從最上面順序往下讀(碰到循環(huán)做循環(huán),碰到選擇做選擇),有且只有一個main函數(shù)。
3)計算機的數(shù)據(jù)在電腦中保存是以二進制的形式.數(shù)據(jù)存放的位置就是他的地址.
4)bit是位是指為0或者1。 byte是指字節(jié),一個字節(jié)=八個位.
概念常考到的:
1、編譯預處理不是C語言的一部分,不占運行時間,不要加分號。C語言編譯的程序稱為源程序,它以ASCII數(shù)值存放在文本文件中。
2、define PI 3.1415926;這個寫法是錯誤的,一定不能出現(xiàn)分號。 -
3、每個C語言程序中main函數(shù)是有且只有一個。
4、在函數(shù)中不可以再定義函數(shù)。
5、算法:可以沒有輸入,但是一定要有輸出。
6、break可用于循環(huán)結構和switch語句。
7、逗號運算符的級別最低,賦值的級別倒數(shù)第二。
第一章C語言的基礎知識
第一節(jié)、對C語言的基礎認識
1、C語言編寫的程序稱為源程序,又稱為編譯單位。
2、C語言書寫格式是自由的,每行可以寫多個語句,可以寫多行。
3、一個C語言程序有且只有一個main函數(shù),是程序運行的起點。
第二節(jié)、熟悉vc++
1、VC是軟件,用來運行寫的C語言程序。
2、每個C語言程序寫完后,都是先編譯,后鏈接,最后運行。(.c—.obj—.exe)這個過程中注意.c和.obj文件時無法運行的,只有.exe文件才可以運行。(?迹。
第三節(jié)、標識符
1、標識符(必考內(nèi)容):
合法的要求是由字母,數(shù)字,下劃線組成。有其它元素就錯了。
并且第一個必須為字母或則是下劃線。第一個為數(shù)字就錯了
2、標識符分為關鍵字、預定義標識符、用戶標識符。
關鍵字:不可以作為用戶標識符號。main define scanf printf都不是關鍵字。迷惑你的地方If是可以做為用戶標識符。因為If中的第一個字母大寫了,所以不是關鍵字。
預定義標識符:背誦define scanf printf include。記住預定義標識符可以做為用戶標識符。
用戶標識符:基本上每年都考,詳細請見書上習題。
第四節(jié):進制的轉換
十進制轉換成二進制、八進制、十六進制。
二進制、八進制、十六進制轉換成十進制。
第五節(jié):整數(shù)與實數(shù)
1)C語言只有八、十、十六進制,沒有二進制。但是運行時候,所有的進制都要轉換成二進制來進行處理。(考過兩次)
a、C語言中的八進制規(guī)定要以0開頭。018的數(shù)值是非法的,八進制是沒有8的,逢8進1。
b、C語言中的十六進制規(guī)定要以0x開頭。
2)小數(shù)的合法寫法:C語言小數(shù)點兩邊有一個是零的話,可以不用寫。
1.0在C語言中可寫成1.
0.1在C語言中可以寫成.1。
3)實型數(shù)據(jù)的合法形式:
a、2.333e-1就是合法的,且數(shù)據(jù)是2.333×10-1。
b、考試口訣:e前e后必有數(shù),e后必為整數(shù)。請結合書上的'例子。
4)整型一般是4個字節(jié),字符型是1個字節(jié),雙精度一般是8個字節(jié):
long int x;表示x是長整型。
unsigned int x;表示x是無符號整型。
第六、七節(jié):算術表達式和賦值表達式
核心:表達式一定有數(shù)值!
1、算術表達式:+,-,*,/,%
考試一定要注意:“/”兩邊都是整型的話,結果就是一個整型。 3/2的結果就是1.
“/”如果有一邊是小數(shù),那么結果就是小數(shù)。 3/2.0的結果就是0.5
“%”符號請一定要注意是余數(shù),考試最容易算成了除號。)%符號兩邊要求是整數(shù)。不是整數(shù)就錯了。[注意!!!]
2、賦值表達式:表達式數(shù)值是最左邊的數(shù)值,a=b=5;該表達式為5,常量不可以賦值。
1、int x=y=10:錯啦,定義時,不可以連續(xù)賦值。
2、int x,y;
x=y=10;對滴,定義完成后,可以連續(xù)賦值。
3、賦值的左邊只能是一個變量。
4、int x=7.7;對滴,x就是7
5、float y=7;對滴,x就是7.0
3、復合的賦值表達式:
int a=2;
a*=2+3;運行完成后,a的值是12。
一定要注意,首先要在2+3的上面打上括號。變成(2+3)再運算。
4、自加表達式:
自加、自減表達式:假設a=5,++a(是為6),a++(為5);
運行的機理:++a是先把變量的數(shù)值加上1,然后把得到的數(shù)值放到變量a中,然后再用這個++a表達式的數(shù)值為6,而a++是先用該表達式的數(shù)值為5,然后再把a的數(shù)值加上1為6,
再放到變量a中。進行了++a和a++后在下面的程序中再用到a的話都是變量a中的6了。
考試口訣:++在前先加后用,++在后先用后加。
5、逗號表達式:
優(yōu)先級別最低。表達式的數(shù)值逗號最右邊的那個表達式的數(shù)值。
。2,3,4)的表達式的數(shù)值就是4。
z=(2,3,4)(整個是賦值表達式)這個時候z的值為4。(有點難度哦。
z= 2,3,4(整個是逗號表達式)這個時候z的值為2。
補充:
1、空語句不可以隨意執(zhí)行,會導致邏輯錯誤。
2、注釋是最近幾年考試的重點,注釋不是C語言,不占運行時間,沒有分號。不可以嵌套!
3、強制類型轉換:
一定是(int)a不是int(a),注意類型上一定有括號的。
注意(int)(a+b)和(int)a+b的區(qū)別。前是把a+b轉型,后是把a轉型再加b。
4、三種取整丟小數(shù)的情況:
。薄nt a =1.6;
2、(int)a;
。、1/2;3/2;
第八節(jié)、字符
1)字符數(shù)據(jù)的合法形式::
‘1’是字符占一個字節(jié),”1”是字符串占兩個字節(jié)(含有一個結束符號)。
‘0’的ASCII數(shù)值表示為48,’a’的ASCII數(shù)值是97,’A’的ASCII數(shù)值是65。
一般考試表示單個字符錯誤的形式:’65’ “1”
字符是可以進行算術運算的,記。骸0’-0=48
大寫字母和小寫字母轉換的方法:‘A’+32=’a’相互之間一般是相差32。
2)轉義字符:
轉義字符分為一般轉義字符、八進制轉義字符、十六進制轉義字符。
一般轉義字符:背誦/0、、 ’、 ”、 。
八進制轉義字符:‘141’是合法的,前導的0是不能寫的。
十六進制轉義字符:’x6d’才是合法的,前導的0不能寫,并且x是小寫。
3、字符型和整數(shù)是近親:兩個具有很大的相似之處
char a = 65 ;
printf(“%c”, a);得到的輸出結果:a
printf(“%d”, a);得到的輸出結果:65
第九節(jié)、位運算
1)位運算的考查:會有一到二題考試題目。
總的處理方法:幾乎所有的位運算的題目都要按這個流程來處理(先把十進制變成二進制再變成十進制)。
例1:char a = 6, b;
b = a<<2;這種題目的計算是先要把a的十進制6化成二進制,再做位運算。
例2:一定要記住,異或的位運算符號” ^ ”。0異或1得到1。
0異或0得到0。兩個女的生不出來。
考試記憶方法:一男(1)一女(0)才可以生個小孩(1)。
例3:在沒有舍去數(shù)據(jù)的時候,<<左移一位表示乘以2;>>右移一位表示除以2。
C語言知識點總結5
1)三種循環(huán)結構:
a)for;while;do—三種while。
b)for循環(huán)中必須有兩個分號,千萬不要忘記。
c)寫程序的時候一定要注意,循環(huán)一定要有結束的條件,否則就會變成死循環(huán)。
d)do—while循環(huán)的最后一個while循環(huán);分號一定不能丟失。(小心上機改錯)
2)break和continue的.差異
記憶方法:
break:就是打破的意思,(打破整個循環(huán))所以看到break就退出真正的循環(huán)。
continue:這意味著繼續(xù),(繼續(xù)循環(huán)計算),但結束這個循環(huán),即循環(huán)中剩余的句子不再執(zhí)行,跳到循環(huán)開始,然后判斷循環(huán)條件,進行新一輪循環(huán)。
3)嵌套循環(huán)
有循環(huán)和循環(huán),這更復雜,一步一步耐心計算,一般記住兩層是處理二維數(shù)組。
4)while((c=get))!=’’)和while(c=get)!=‘’)的差異
先看a=3!=2和(a=3)!=2的區(qū)別:
。ǎ=號等級高于=號等級所以第一個先計算3!=2)A的第一個值是1;第二個A的值是3。
【C語言知識點總結】相關文章:
C語言實習總結11-09
c語言課程設計總結11-16
C語言實習總結范文11-21
C語言實習總結4篇11-09
c語言課程設計總結10篇11-16
c語言課程設計總結(10篇)11-16
C語言實習總結范文(精選6篇)05-14
c語言課程設計總結(集錦10篇)11-16
c語言心得體會04-20