原創(chuàng)-C語言整理_第1頁
原創(chuàng)-C語言整理_第2頁
原創(chuàng)-C語言整理_第3頁
原創(chuàng)-C語言整理_第4頁
原創(chuàng)-C語言整理_第5頁
已閱讀5頁,還剩2頁未讀 繼續(xù)免費(fèi)閱讀

付費(fèi)下載

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、C語言強(qiáng)化知識點(diǎn)復(fù)習(xí)1.2. 運(yùn)行c程序步驟:編輯源程序(*.cpp)(編譯程序)目標(biāo)程序(*.obj) (庫函數(shù)連接)可執(zhí)行程序(*.exe);3. 標(biāo)識符:對變量、符號常量、函數(shù)、數(shù)組、類型等數(shù)據(jù)對象的有效命名;由字母、數(shù) 字、下劃線組成;4. int型數(shù)字范圍:-32768327675. 常用字符常量:'t':跳格(第九列); 'b':退格; 'r':回車(不換行);6. 字符串常量:C語言中沒有專門的字符串變量,只有通過字符數(shù)組保存一個字符串;7. getchar()與字符串:如用戶在按回車之前輸入了不止一個字符,其他字符會保留在鍵盤緩存

2、區(qū)中,等待后續(xù)getchar調(diào)用讀取.也就是說,后續(xù)的getchar調(diào)用不會等待用戶按鍵,而直接讀取緩沖區(qū)中的字符,直到緩沖區(qū)中的字符讀完為后,才等待用戶按鍵;8. 各類數(shù)值型數(shù)據(jù)運(yùn)算的轉(zhuǎn)換:char、shortintunsignedlong(float)double;9. #include<stdio.h>:為用到標(biāo)準(zhǔn)輸入輸出庫函數(shù),如scanf、printf、gets、puts等;10. 某些格式字符:(i) d格式符: printf("%4d",12345);則輸出"12345"; (ii) o格式符: 以8進(jìn)制整數(shù)形式輸出; (iii

3、) x格式符:以16進(jìn)制整數(shù)形式輸出; (iv) u格式符:用來輸出unsigned型數(shù)據(jù); (v) c格式符:printf("%5.2s","ABC");則輸出"AB"; (vi) f格式符:小數(shù)輸出6位;%m.nf:四舍五入到小數(shù)點(diǎn)n位,m大于字符長度才奏效; (vii) e格式符:小數(shù)輸出6位,指數(shù)輸出5位;%m.ne: 四舍五入到小數(shù)點(diǎn)n位;printf("%5.2e",13.667);則輸出"1.37e+001"; 注:輸出百分號:printf("%") ;!(非)

4、 (高)算術(shù)運(yùn)算符關(guān)系運(yùn)算符&&和|邏輯運(yùn)算符(條件運(yùn)算符)自右至左賦值運(yùn)算符 自右至左 (低)11. 如:閏年判別:(year%4=0&&year%100!=0|year%400=0)12. If與else配對原則:else總與它上面的最近的未配對的if配對;13. 條件運(yùn)算符:如:a>b? printf("1"):printf("0");14. break與continue語句:break適用范圍:循環(huán)語句&switch語句;跳出整個循環(huán)體或結(jié)構(gòu)體 continue適用范圍:循環(huán)語句;結(jié)束本次循環(huán)15.

5、數(shù)組的規(guī)模不依賴于變量的值:如int n; scanf("%d",&n);int an;是非法的;16. 一維數(shù)組的初始化:int a10=0,1,2,3,4;則后五個元素皆為0;17. 數(shù)組的sizeof:數(shù)組的sizeof值等于數(shù)組所占用的內(nèi)存字節(jié)數(shù); 18. 字符數(shù)組與字符串:以'0'作為結(jié)束標(biāo)志; char c10="China"則后五個元素皆為'0'; 輸出數(shù)據(jù):可用printf("%s",c);即將整個字符串一起輸出; 輸入數(shù)據(jù):可用char c10; scanf("%s&

6、quot;,c);空格字符默認(rèn)為字符串間的分隔符; gets函數(shù):char c10; gets(c); puts函數(shù):puts(c); 注:只有字符串?dāng)?shù)組時,才可形如printf("%s",c);(只寫c即可, c為地址) 【string.h文件】strcat函數(shù):字符串二接到字符串1后面,結(jié)果放在字符數(shù)組1中;strcpy函數(shù):字符串二復(fù)制到字符數(shù)組1中;strncpy函數(shù):strncpy(str1,str2,n);將str2中最 前面n個字符復(fù)制到str1中; strcmp函數(shù):字符串按ASCII碼值比值大小比較; strlen函數(shù):測試字符串長度; strlwr函數(shù):

7、大寫轉(zhuǎn)換為小寫; strupr函數(shù):小寫轉(zhuǎn)換為大寫;19. 主函數(shù)調(diào)用:聲明:若用戶自己定義的函數(shù)在主調(diào)函數(shù)后面,則須在主調(diào)函數(shù)中進(jìn)行聲明或在文件的開頭進(jìn)行聲明;特殊:若被調(diào)用函數(shù)為整型,則無須聲明,但最好進(jìn)行聲明,以防出錯! 聲明中可以不寫形參名,而只寫形參類型,如float add(float,float); 單向值傳遞:實(shí)參向形參傳遞數(shù)據(jù)為“單向值傳遞”;注意:數(shù)組名作為實(shí)參時,傳遞給形參的是首元素地址,而非數(shù)組元素的值!即可以改變原數(shù)組的元素!20. 一維數(shù)組作為函數(shù)參數(shù):形參數(shù)組可以不指定大小,在定義數(shù)組時在數(shù)組名后面跟一 個空的方括號,即可以float average(float

8、array , int n);21. 多維數(shù)組作為函數(shù)參數(shù):至多可省略第一維的大小說明,如int array 10;22. 變量按作用域分為:注:在同一個源文件中,外部變量與局部變量重名,則在局部變量作用范圍內(nèi),外部變量被“屏蔽”,不起作用;23. 變量按存儲類別:分為:靜態(tài)存儲:全局變量;extern聲明的外部變量:擴(kuò)展外部變量的作用范圍。只需在聲明時加extern ; static聲明的外部變量:使外部變量僅限于本 文件使用。定義時加static;static聲明的局部變量:定義時加static(其他函數(shù)不能引用?。?;動態(tài)存儲:auto變量(無static的局部變量) ;register變

9、量(將變量存儲到寄存器中); 形參; 24. 內(nèi)部函數(shù)和外部函數(shù):內(nèi)部函數(shù):其他文件不能引用,定義函數(shù)時加static;外部函數(shù):使函數(shù)可供其他文件調(diào)用,只需在聲明函數(shù)時加static;25. 指針變量:定義一個指針變量的類型須和指針?biāo)赶蜃兞康念愋鸵恢拢?*與&與+與-運(yùn)算級別一致,但按自右向左方向結(jié)合;26. 指針變量作為函數(shù)參數(shù):通過調(diào)用函數(shù)利用指針,改變指針?biāo)赶虻闹担?,使變?的值發(fā)生變化;27. 數(shù)組與指針:指向數(shù)組的指針變量也可以帶下標(biāo),如int a10, *p=a;則pi等價(jià)于*(p+i); 數(shù)組名a是常量,所以a+是無法實(shí)現(xiàn)的;28. 二維數(shù)組與指針:根據(jù)一維數(shù)組中

10、ai和*(a+i)等價(jià),在二維數(shù)組中:a+i:第i行地址(與&ai等價(jià));*(a+i) :第i行第0個元素地址(即第i行地址) (與ai等價(jià));*(a+i)+j:第i行第j個元素地址(與ai+j等價(jià));*(*(a+i)+j):第i行第j個元素aij(與*(ai+j)等價(jià));29. 字符串與指針:char *string="I love China!"實(shí)際上在內(nèi)存中自動開辟了一個字符數(shù)組存放"I love China!",再將字符數(shù)組首元素地址賦給string;30. 賦值方式:字符數(shù)組:只能定義時賦值(即初始化); (如char c 5=”abc

11、”;或char c5=”abc”;但char c5;c=”abc”;錯誤!) 字符指針:不局限; (如char *c="abc"或char *c="abc"或char *c; c=”abc”;/*c自動指向字符串”abc”的地址*/)31. 字符指針可以指向一個格式字符串:如char *format; format=”%dn”; printf(format,a);32. 數(shù)組指針:如int (*p)5;指向含五個分量的數(shù)組的指針;(例如int a34;中,只能讓int (*p)4=a;而不能讓int *p=a; )助記:含(*p)形式的一定為指針。 指針

12、數(shù)組:如int *a5;含五個指針作為元素的數(shù)組; 函數(shù)指針:如int (*p)(int x);指向函數(shù)的指針; 指針函數(shù):如int *a(int x);返回值是指針類型的函數(shù);33. 指針數(shù)組作main函數(shù)的形參:如void main(int argc, char *argv);34. 結(jié)構(gòu)體初始化:先定義后初始化:struct stu; struct stu stu1=; 定義的同時初始化:struct stustu1=; (不能對結(jié)構(gòu)體變量整體輸入(或輸出),只能初始化時整體輸入)35. 結(jié)構(gòu)體數(shù)組:如 struct stuint num; char sex; student2=101,

13、M,102,W; 36. 結(jié)構(gòu)體指針:如struct stu int num; char sex; struct stu stu1; struct stu *p; p=&stu1; 通常,可以把(*p).num寫為p->num,也等價(jià)于stu1.num; (->優(yōu)先級相當(dāng)高,接近于括號優(yōu)先級)37. 指針變量p+1:指針變量p的后繼p+1所進(jìn)的字節(jié)取決于p的類型;38. 強(qiáng)制轉(zhuǎn)化:加括號:如p=(struct stu *)student0.num;即把student0元素的num成員 的起始地址強(qiáng)制賦給p,但p仍保持原來類型;39. 結(jié)構(gòu)體的地址:&stu1表示的是

14、結(jié)構(gòu)體變量stu1首元素地址;40. 文件:fopen使用:File *fp; fp=fopen (“file1”,”r”);/*file1為文件名,r為使用文件方式*/【常用打開文件方式】File *fp;if(fp=fopen(“file1”,”r”)=NULL) printf(“cannot openn”);exit(0);【文件使用方式】r:只讀;w:只寫;a:追加;rb:二進(jìn)制只讀;wb:二進(jìn)制只寫;ab:二進(jìn)制追加;r+:讀寫<打開>;w+:讀寫<新建,刪去重名文件>;a+:讀寫<打開>;rb+:二進(jìn)制讀寫<打開>;wb+:二進(jìn)制讀寫

15、<新建,刪去重名文件>;ab+:二進(jìn)制讀寫<打開>; fclose使用:fclose (fp);內(nèi)存 文件 (讀,輸入)內(nèi)存 文件 (寫,輸出) 一次讀寫一個字符 fgetc函數(shù):ch=fgetc (fp);(ch為字符變量,讀到內(nèi)存, 讀一個字符)fputc函數(shù):fputc (ch,fp);(ch為字符變量或字符常量,寫到文件上,寫一個字符) 一次讀寫一組數(shù)據(jù)(二進(jìn)制) fread函數(shù):fread (buffer,size,count,fp); (buffer為一個指針,存放讀入數(shù)據(jù)的地址) fwrite函數(shù):fwrite (buffer,size,count,fp)

16、; (將buffer指向的數(shù)據(jù)寫入文件中)fscanf函數(shù):fscanf (fp, ”%d” ,&a); (將文件上數(shù)據(jù)讀到a) fprintf函數(shù):fwrite (fp ,”%d”, a); (將a中的數(shù)據(jù)寫到文件上)fgets函數(shù):fgets(str, n ,fp); (將文件上n-1個字符(第n個字符為0)地址讀給str) fputs函數(shù):fputs(”China”, fp); (將字符串寫到文件上)41. 文件的定位:rewind函數(shù):rewind (fp);使文件位置指針重新定位于文件開頭; fseek函數(shù):fseek (fp, 10L, 0); 使位置指針移到離開頭10個字節(jié)處;fseek

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論