亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? c語言難點(diǎn)分析整理.txt

?? 這篇文章主要是介紹一些在復(fù)習(xí)C語言的過程中筆者個(gè)人認(rèn)為比較重點(diǎn)的地方
?? TXT
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):

文件: 

函數(shù)調(diào)用形式  說明  
fopen("路徑","打開方式") 打開文件 
fclose(FILE *) 防止之后被誤用 
fgetc(FILE *) 從文件中讀取一個(gè)字符 
fputc(ch,FILE *) 把ch代表的字符寫入這個(gè)文件里 
fgets(FILE *) 從文件中讀取一行 
fputs(FILE *) 把一行寫入文件中 
fprintf(FILE *,"格式字符串",輸出表列) 把數(shù)據(jù)寫入文件 
fscanf(FILE *,"格式字符串",輸入表列) 從文件中讀取 
fwrite(地址,sizeof(),n,F(xiàn)ILE *) 把地址中n個(gè)sizeof大的數(shù)據(jù)寫入文件里 
fread(地址,sizeof(),n,F(xiàn)ILE *) 把文件中n個(gè)sizeof大的數(shù)據(jù)讀到地址里 
rewind(FILE *) 把文件指針撥回到文件頭 
fseek(FILE *,x,0/1/2) 移動(dòng)文件指針。第二個(gè)參數(shù)是位移量,0代表從頭移,1代表從當(dāng)前位置移,2代表從文件尾移。 
feof(FILE *) 判斷是否到了文件末尾 

文件打開方式  說明  
r  打開只能讀的文件 
w  建立供寫入的文件,如果已存在就抹去原有數(shù)據(jù) 
a  打開或建立一個(gè)把數(shù)據(jù)追加到文件尾的文件 
r+  打開用于更新數(shù)據(jù)的文件 
w+  建立用于更新數(shù)據(jù)的文件,如果已存在就抹去原有數(shù)據(jù) 
a+  打開或建立用于更新數(shù)據(jù)的文件,數(shù)據(jù)追加到文件尾 

注:以上用于文本文件的操作,如果是二進(jìn)制文件就在上述字母后加“b”。 

我們用文件最大的目的就是能讓數(shù)據(jù)保存下來。因此在要用文件中數(shù)據(jù)的時(shí)候,就是要把數(shù)據(jù)讀到一個(gè)結(jié)構(gòu)(一般保存數(shù)據(jù)多用結(jié)構(gòu),便于管理)中去,再對(duì)結(jié)構(gòu)進(jìn)行操作即可。例如,文件aa.data中存儲(chǔ)的是30個(gè)學(xué)生的成績(jī)等信息,要遍歷這些信息,對(duì)其進(jìn)行成績(jī)輸出、排序、查找等工作時(shí),我們就把這些信息先讀入到一個(gè)結(jié)構(gòu)數(shù)組中,再對(duì)這個(gè)數(shù)組進(jìn)行操作。如下例:

#include<stdio.h> 
#include<stdlib.h> 
#define N 30 
typedef struct student /*定義儲(chǔ)存學(xué)生成績(jī)信息的數(shù)組*/ 
{ 
char *name; 
int chinese; 
int maths; 
int phy; 
int total; 
}ST; 

main() 
{ 
ST a[N]; /*存儲(chǔ)N個(gè)學(xué)生信息的數(shù)組*/ 
FILE *fp; 
void (*process[3])(ST *)={Output,Bubble,Find}; /*實(shí)現(xiàn)相關(guān)功能的三個(gè)函數(shù)*/ 
int choice,i=0; 
Show(); 
printf("\nChoose:\n?"); 
scanf("%d",&choice); 
while(choice>=0&&choice<=2) 
   { 
   fp=fopen("aa.dat","rb"); 
   for(i=0;i<N;i++) 
      fread(&a[i],sizeof(ST),1,fp); /*把文件中儲(chǔ)存的信息逐個(gè)讀到數(shù)組中去*/ 
   fclose(fp); 
   (*process[choice])(a); /*前面提到的指向函數(shù)的指針,選擇操作*/ 
   printf("\n"); 
   Show(); 
   printf("\n?"); 
   scanf("%d",&choice); 
   } 
} 

void Show() 
{ 
printf("\n****Choices:****\n0.Display the data form\n1.Bubble it according to the total score\n2.Search\n3.Quit!\n"); 
} 

void Output(ST *a) /*將文件中存儲(chǔ)的信息逐個(gè)輸出*/ 
{ 
int i,t=0; 
printf("Name Chinese Maths Physics Total\n"); 
for(i=0;i<N;i++) 
   { 
   t=a[i].chinese+a[i].maths+a[i].phy; 
   a[i].total=t; 
   printf("%4s%8d%8d%8d%8d\n",a[i].name,a[i].chinese,a[i].maths,a[i].phy,a[i].total); 
   } 
} 

void Bubble(ST *a) /*對(duì)數(shù)組進(jìn)行排序,并輸出結(jié)果*/ 
{ 
int i,pass; 
ST m; 
for(pass=0;pass<N-1;pass++) 
   for(i=0;i<N-1;i++) 
      if(a[i].total<a[i+1].total) 
         { 
         m=a[i]; /*結(jié)構(gòu)互換*/ 
         a[i]=a[i+1]; 
         a[i+1]=m; 
         } 
Output(a); 
} 

void Find(ST *a) 
{ 
int i,t=1; 
char m[20]; 
printf("\nEnter the name you want:"); 
scanf("%s",m); 
for(i=0;i<N;i++) 
   if(!strcmp(m,a[i].name)) /*根據(jù)姓名匹配情況輸出查找結(jié)果*/ 
   { 
   printf("\nThe result is:\n%s, Chinese:%d, Maths:%d,     Physics:%d,Total:%d\n",m,a[i].chinese,a[i].maths,a[i].phy,a[i].total); 
   t=0; 
   } 
if(t) 
   printf("\nThe name is not in the list!\n"); 
} 
 

鏈表: 
鏈表是C語言中另外一個(gè)難點(diǎn)。牽扯到結(jié)點(diǎn)、動(dòng)態(tài)分配空間等等。用結(jié)構(gòu)作為鏈表的結(jié)點(diǎn)是非常適合的,例如: 

struct node 
{ 
int data; 
struct node *next; 
};  

其中next是指向自身所在結(jié)構(gòu)類型的指針,這樣就可以把一個(gè)個(gè)結(jié)點(diǎn)相連,構(gòu)成鏈表。

鏈表結(jié)構(gòu)的一大優(yōu)勢(shì)就是動(dòng)態(tài)分配存儲(chǔ),不會(huì)像數(shù)組一樣必須在定義時(shí)確定大小,造成不必要的浪費(fèi)。用malloc和free函數(shù)即可實(shí)現(xiàn)開辟和釋放存儲(chǔ)單元。其中,malloc的參數(shù)多用sizeof運(yùn)算符計(jì)算得到。

鏈表的基本操作有:正、反向建立鏈表;輸出鏈表;刪除鏈表中結(jié)點(diǎn);在鏈表中插入結(jié)點(diǎn)等等,都是要熟練掌握的,初學(xué)者通過畫圖的方式能比較形象地理解建立、插入等實(shí)現(xiàn)的過程。 

typedef struct node 
{ 
char data; 
struct node *next; 
}NODE; /*結(jié)點(diǎn)*/ 

正向建立鏈表: 
NODE *create() 
{ 
char ch='a'; 
NODE *p,*h=NULL,*q=NULL; 
while(ch<'z') 
   { 
   p=(NODE *)malloc(sizeof(NODE)); /*強(qiáng)制類型轉(zhuǎn)換為指針*/ 
   p->data=ch; 
   if(h==NULL) h=p; 
      else q->next=p; 
   ch++; 
   q=p; 
   } 
q->next=NULL; /*鏈表結(jié)束*/ 
return h; 
}  

 

逆向建立:

NODE *create() 
{ 
char ch='a'; 
NODE *p,*h=NULL; 
while(ch<='z') 
   { 
   p=(NODE *)malloc(sizeof(NODE)); 
   p->data=ch; 
   p->next=h; /*不斷地把head往前挪*/ 
   h=p; 
   ch++; 
   } 
return h; 
}  

 

用遞歸實(shí)現(xiàn)鏈表逆序輸出:

void output(NODE *h) 
{ 
if(h!=NULL) 
   { 
   output(h->next); 
   printf("%c",h->data); 
   } 
}  

插入結(jié)點(diǎn)(已有升序的鏈表):

NODE *insert(NODE *h,int x) 
{ 
NODE *new,*front,*current=h; 
while(current!=NULL&&(current->data<x)) /*查找插入的位置*/ 
   { 
   front=current; 
   current=current->next; 
   } 
new=(NODE *)malloc(sizeof(NODE)); 
new->data=x; 
new->next=current; 
if(current==h) /*判斷是否是要插在表頭*/ 
   h=new; 
else front->next=new; 
return h; 
}  

 

刪除結(jié)點(diǎn):

NODE *delete(NODE *h,int x) 
{ 
NODE *q,*p=h; 
while(p!=NULL&&(p->data!=x)) 
   { 
   q=p; 
   p=p->next; 
   } 
if(p->data==x) /*找到了要?jiǎng)h的結(jié)點(diǎn)*/ 
   { 
   if(p==h) /*判斷是否要?jiǎng)h表頭*/ 
   h=h->next; 
      else q->next=p->next; 
   free(p); /*釋放掉已刪掉的結(jié)點(diǎn)*/ 
   } 
return h; 
}  

 
 
 

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲成av人片在www色猫咪| 91日韩在线专区| 奇米亚洲午夜久久精品| 天天综合网 天天综合色| 亚洲午夜免费电影| 亚洲福利国产精品| 香蕉久久夜色精品国产使用方法 | 日韩不卡手机在线v区| 亚洲成人黄色小说| 午夜精品久久久久久久久久久 | 成人欧美一区二区三区在线播放| 国产亚洲自拍一区| 中文字幕精品一区二区三区精品| 国产欧美日韩视频一区二区| 国产精品夫妻自拍| 一区二区三区成人| 婷婷久久综合九色综合绿巨人| 香港成人在线视频| 久久精品国产免费| 粉嫩嫩av羞羞动漫久久久| 成人动漫一区二区在线| 一本大道av一区二区在线播放| 91久久奴性调教| 欧美精品乱人伦久久久久久| 欧美成人a∨高清免费观看| 久久综合国产精品| 国产精品久久久久久妇女6080 | 蜜臀精品久久久久久蜜臀| 精品一区二区在线看| 成人精品鲁一区一区二区| av电影在线观看一区| 欧美色老头old∨ideo| 91精品国产综合久久精品性色| 欧美mv和日韩mv国产网站| 国产精品久久久久aaaa樱花 | 99精品偷自拍| 欧美日韩的一区二区| 久久综合狠狠综合久久激情| 亚洲欧洲av一区二区三区久久| 亚洲午夜久久久久久久久电影院| 美腿丝袜在线亚洲一区 | 精品国产91九色蝌蚪| 中文字幕不卡在线观看| 亚洲桃色在线一区| 免费高清在线一区| 91在线你懂得| 日韩欧美黄色影院| 亚洲色图欧美偷拍| 久久国产精品免费| 在线视频综合导航| 久久品道一品道久久精品| 亚洲黄色片在线观看| 韩国午夜理伦三级不卡影院| 91黄色免费版| 国产日韩欧美电影| 日韩精品午夜视频| 91网站黄www| 精品福利一二区| 一个色在线综合| 国产精品一区二区三区四区| 在线观看一区二区视频| 久久久精品一品道一区| 性做久久久久久免费观看欧美| 成人性视频免费网站| 日韩欧美一区中文| 亚洲一卡二卡三卡四卡无卡久久| 激情av综合网| 欧美日本在线视频| 亚洲欧美日韩国产综合| 国产激情一区二区三区四区| 91精品国产一区二区三区香蕉| 亚洲欧洲美洲综合色网| 久久99热99| 欧美精品一二三| 亚洲黄色在线视频| 成年人网站91| www一区二区| 久久精品国产99国产| 欧美日韩一区二区三区免费看| 日本一区二区三区在线不卡| 韩国一区二区在线观看| 欧美一区二区三区系列电影| 一区二区三区四区不卡在线| 懂色中文一区二区在线播放| 久久午夜电影网| 精品一区二区三区香蕉蜜桃| 欧美一区二区三区四区高清| 亚洲一区二区在线视频| 日本道免费精品一区二区三区| 国产精品丝袜在线| 国产风韵犹存在线视精品| 欧美www视频| 麻豆精品一区二区av白丝在线| 51精品秘密在线观看| 亚洲h精品动漫在线观看| 91久久精品网| 亚洲免费av网站| 色av一区二区| 一区二区三区中文字幕电影| 91麻豆精品视频| 亚洲欧美aⅴ...| 95精品视频在线| 亚洲乱码国产乱码精品精可以看| www.一区二区| ...xxx性欧美| 色综合久久天天综合网| 中文字幕一区二| 91福利社在线观看| 亚洲精品成人少妇| 欧美日韩精品一区二区三区 | 欧美日韩一本到| 亚洲大尺度视频在线观看| 欧美日韩国产免费| 日韩专区一卡二卡| 欧美本精品男人aⅴ天堂| 国产一区999| 中文字幕久久午夜不卡| 91理论电影在线观看| 一区二区三区在线播| 欧美日韩午夜在线| 蜜桃视频第一区免费观看| 精品久久久三级丝袜| 国产成人午夜精品5599| 国产精品传媒入口麻豆| 色猫猫国产区一区二在线视频| 亚洲一级片在线观看| 日韩欧美视频一区| 成人性生交大合| 一区二区三区久久| 69堂精品视频| 国产在线精品不卡| 综合久久综合久久| 欧美另类高清zo欧美| 精品一区二区三区在线播放 | 国产精品久久久一本精品| 91在线你懂得| 日韩电影免费在线| 久久久久亚洲综合| 日本高清不卡在线观看| 久久激情五月激情| 中文字幕人成不卡一区| 欧美精品自拍偷拍| 国产91在线看| 亚洲国产欧美日韩另类综合| 精品欧美一区二区久久| 不卡电影免费在线播放一区| 亚洲国产精品久久艾草纯爱| 日韩欧美综合在线| 97se亚洲国产综合自在线不卡| 视频一区中文字幕国产| 国产亚洲福利社区一区| 欧美日韩精品高清| 国产高清视频一区| 香蕉成人伊视频在线观看| 久久精品欧美一区二区三区麻豆| 色欧美日韩亚洲| 久久66热偷产精品| 玉足女爽爽91| 欧美精彩视频一区二区三区| 欧美三级午夜理伦三级中视频| 国产成人福利片| 图片区小说区国产精品视频| 国产精品美女久久久久aⅴ| 91精品国产综合久久精品app| 成人97人人超碰人人99| 老司机午夜精品| 亚洲黄色免费电影| 亚洲国产精品精华液ab| 欧美一区二区三区日韩视频| 91老师片黄在线观看| 狠狠色丁香婷综合久久| 亚洲国产成人tv| 中文字幕一区免费在线观看| 欧美大片一区二区| 欧美调教femdomvk| a美女胸又www黄视频久久| 久久91精品久久久久久秒播| 五月天精品一区二区三区| 亚洲私人黄色宅男| 国产午夜久久久久| 精品国产一区二区三区久久影院 | 欧美一区二区人人喊爽| 91理论电影在线观看| 大白屁股一区二区视频| 精品一区二区在线播放| 蜜臀av在线播放一区二区三区| 亚洲一区二区三区四区在线免费观看 | 精品国精品国产| 欧美日韩一区二区不卡| 在线免费视频一区二区| 成人网男人的天堂| 国产高清不卡一区二区| 国内精品免费在线观看| 久久成人av少妇免费| 免费av成人在线| 午夜精品久久久久久久| 一区二区成人在线| 亚洲一区二区三区四区的| 亚洲另类色综合网站| 日韩美女啊v在线免费观看|