版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
這篇文章主要是介紹一些在復(fù)習(xí)C語言的過程中筆者個(gè)人認(rèn)為比較重點(diǎn)的地方,較好的掌握這些重點(diǎn)會(huì)使對C的運(yùn)用更加得心應(yīng) 鏈表等。一些最基本的概念在此就不多作解釋了,僅希望能有只言片語給同是C語言初學(xué)者的學(xué)習(xí)和上機(jī)過程提供一點(diǎn)點(diǎn)的幫 了解了基本的變量類型后,我們要進(jìn)一步了解它 類別和變量作用域問題靜態(tài)變量(離開函數(shù),變量值仍保留靜態(tài)變量(只能在本文件中用非靜態(tài)變量(允許其他文件使用靜態(tài)變靜態(tài)局部變量(函數(shù)靜態(tài)全局變量(本文件非靜態(tài)全局/外部變量(其他文件動(dòng)態(tài)變externextern不用<>),能起到一定的效用。static型的在讀程序?qū)懡Y(jié)果的試題中是個(gè)考點(diǎn)。多數(shù)時(shí)候整個(gè)程序會(huì)出現(xiàn)多個(gè)定義的變量在不main),全局變量和局部變量重名時(shí)局部變量起作用,當(dāng)然還要注意靜態(tài)與自動(dòng)變量的區(qū)別。mainmain1 考試專業(yè)品牌預(yù)祝銀考考生旗開得勝longfun(intlongfun(int{longs;if(n==1||n==2)s=2;elses=n-fun(n-1);returns;}{} voidbubble(inta[],int{inti,j,k;{}}voidsort(inta[],int{inti,j,k,t;{if(a[k]<a[j])2 考試專業(yè)品牌預(yù)祝銀考考生旗開得勝{{}}}折半查找函數(shù)(原數(shù)組有序voidsearch(inta[],intn,int{intleft=0,right=n-1,mid,flag=0;{{flag=1;}elseif(x<a[mid])right=mid-else}}相關(guān)常用的算法還有判斷回文,求階乘,F(xiàn)ibanacci數(shù)列,任意進(jìn)制轉(zhuǎn)換, char字符串其實(shí)就是一個(gè)數(shù)組(指針),在scanf的輸入列中是不需要 charcharcharcharcharchar*a;char*a;chara[5]={"abcd"};而不能在賦值語句中整體賦值。3 考試專業(yè)品牌預(yù)祝銀考考生旗開得勝strcpy(char*,charstrcat(char*,charstrcmp(char*,char0不是比較長度,是比較字符ASCII碼的大小,可用于按字strlen(char返回字符串的長度,不包括'\0'.atoi(charitoa(int,charsprintf(char*,格式化輸入指針可以說是C值(即指針變量中存放的值)是指針(即地址)*“*”代表的是這是一個(gè)指swap(intc,intswap(intc,int{intt;}{inta=2,b=3;}這是不能實(shí)現(xiàn)abswap(#3333FF*p1,intswap(#3333FF*p1,int{intt;}{intint 考試專業(yè)品牌預(yù)祝銀考考生旗開得勝}swapp1,p2a,b1取指針變量所指內(nèi)容后sintatoi(char{intintatoi(char{intif(*s=='+'||*s=='-')/*判斷是否有符號(hào)*/sign=(*s++=='+')?1:-1;/*用到三目運(yùn)算符*/while(*s!='\0')/*對每一個(gè)字符進(jìn)行操作*/{m=m*10+(*s-s++;/*指向下一個(gè)字符}return} 地址,也就是一個(gè)指針變量。而a+1就不是簡單的在數(shù)值上加上1了,它代表的不是a[0][1],而是第1行的首地址,voidInput(ST*);voidOutput(ST*);voidBubble(ST*);voidFind(ST*);voidFailure(STvoidInput(ST*);voidOutput(ST*);voidBubble(ST*);voidFind(ST*);voidFailure(ST*);/*函 :這五個(gè)函數(shù)都是以一個(gè)指向ST型(事先定義過)結(jié)構(gòu)的指針變量作為參數(shù),無返回值。void(*process[5])(ST/*process55 考試專業(yè)品牌預(yù)祝銀考考生旗開得勝(*process[choice])(a);/*調(diào)用相應(yīng)的函數(shù)實(shí)現(xiàn)不同功能(*process[choice])(a);/*調(diào)用相應(yīng)的函數(shù)實(shí)現(xiàn)不同功能 fopen("fclose(FILEfgetc(FILE從文件中一個(gè)字fputc(ch,FILEchfgets(FILE從文件中一fputs(FILEfprintf(FILE*,"格式字符串",輸出表列fscanf(FILE*,"格式字符串",輸入表列fwrite(地址,sizeof(),n,F(xiàn)ILE把地址中nsizeoffread(地址,sizeof(),n,F(xiàn)ILE把文件中nsizeofrewind(FILEfseek(FILE移動(dòng)文件指針。第二個(gè)參數(shù)是位移量,0,12feof(FILErwa結(jié)構(gòu),便于管理)中去,再對結(jié)構(gòu)進(jìn)行操作即可。例如,文件aa.data中 的是30個(gè)學(xué)生的成績等信息,要遍歷這些信息,#defineN30typedefstructstudent/*定 學(xué)生成績信息的數(shù)組{char*name; intmaths;intphy;inttotal;6 考試專業(yè)品牌預(yù)祝銀考考生旗開得勝{STa[N];/* FILE*fp;void(*process[3])(ST*)={Output,Bubble,Find};/*實(shí)現(xiàn)相關(guān)功能的三個(gè)函數(shù)*/intchoice,i=0;{fread(&a[i],sizeof(ST),1,fp);/*把文件中 (*process[choice])(a);/*前面提到的指向函數(shù)的指針,選擇操作*/}}void{ ythedataform\n1.Bubbleitaccordingtothetotal}voidOutput(ST*a)/*將文件 的信息逐個(gè)輸出{int MathsPhysicsTotal\n");{ }}voidBubble(ST*a)/*對數(shù)組進(jìn)行排序,并輸出結(jié)果{inti,pass;STm;7 考試專業(yè)品牌預(yù)祝銀考考生旗開得勝for(pass=0;pass<N-for(pass=0;pass<N-for(i=0;i<N-{m=a[i];/*結(jié)構(gòu)互換*/}}voidFind(ST{inti,t=1;charprintf("\nEnterthenameyouwant:");if(!strcmp(m,a[i].name))/*{printf("\nTheresult匹配情況輸出查找結(jié)果}printf("\nThenameisnotinthe}鏈表是Cstructstruct{intstructnodenext ,不會(huì)像數(shù)組一樣必須在定義時(shí)確定大小,造成不必要的浪費(fèi)。用malloc和 單元。其中,malloc的參數(shù)多用sizeof運(yùn)算符計(jì)算得到。typedefstructtypedefstruct{charstructnode}NODE;/*結(jié)點(diǎn)8 考試專業(yè)品牌預(yù)祝銀考考生旗開得勝NODENODE{charNODE{p=(NODE*)malloc(sizeof(NODE));/*強(qiáng)制類型轉(zhuǎn)換為指針*/if(h==NULL)elseq-}q->next=NULL;/*鏈表結(jié)束*/returnh;}NODENODE{charch='a';NODE*p,*h=NULL;{p=(NODE*)malloc(sizeof(NODE));p->next=h;/*head*/}return}voidoutput(NODEvoidoutput(NODE{}9 考試專業(yè)品牌預(yù)祝銀考考生旗開得勝}}插入結(jié)點(diǎn)(已有升序的鏈表NODE*insert(NODE*h,intNODE*insert(NODE*h,int{NODEwhile(current!=NULL&&(current->data<x))/*查找插入的位置{}new=(NODE*)malloc(sizeof(NODE));new-if(current==h)/*判斷是否是要插在表頭*/elsefront->next=new;returnh;}NODE*delete(NODE*h,intNODE*delete(NODE*h,int
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 體育用品區(qū)域市場開發(fā)考核試卷
- 農(nóng)業(yè)固體廢物處理與農(nóng)村環(huán)境治理考核試卷
- 安全芯片技術(shù)與應(yīng)用考核試卷
- 體檢套餐設(shè)計(jì)與推廣考核試卷
- 2025年全球及中國電解鍍鎳服務(wù)行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報(bào)告
- 2025年全球及中國零售業(yè)供應(yīng)鏈IT轉(zhuǎn)型服務(wù)行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報(bào)告
- 2025年全球及中國CPE抗沖改性劑行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報(bào)告
- 2025年全球及中國腸內(nèi)營養(yǎng)袋行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報(bào)告
- 混凝土課程設(shè)計(jì)答疑記錄
- 頻譜儀設(shè)計(jì)課程設(shè)計(jì)
- 設(shè)計(jì)材料與工藝課程 課件 第1章 產(chǎn)品設(shè)計(jì)材料與工藝概述
- 幼兒園反恐防暴技能培訓(xùn)內(nèi)容
- 食品企業(yè)質(zhì)檢員聘用合同
- 中醫(yī)診所內(nèi)外部審計(jì)制度
- 自然辯證法學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 2024年國家危險(xiǎn)化學(xué)品經(jīng)營單位安全生產(chǎn)考試題庫(含答案)
- 護(hù)理員技能培訓(xùn)課件
- 河南省鄭州市2023-2024學(xué)年高二上學(xué)期期末考試 數(shù)學(xué) 含答案
- 2024年資格考試-WSET二級認(rèn)證考試近5年真題集錦(頻考類試題)帶答案
- 試卷中國電子學(xué)會(huì)青少年軟件編程等級考試標(biāo)準(zhǔn)python三級練習(xí)
- 公益慈善機(jī)構(gòu)數(shù)字化轉(zhuǎn)型行業(yè)三年發(fā)展洞察報(bào)告
評論
0/150
提交評論