計(jì)算機(jī)基礎(chǔ)2實(shí)驗(yàn)九 文件.doc_第1頁(yè)
計(jì)算機(jī)基礎(chǔ)2實(shí)驗(yàn)九 文件.doc_第2頁(yè)
計(jì)算機(jī)基礎(chǔ)2實(shí)驗(yàn)九 文件.doc_第3頁(yè)
計(jì)算機(jī)基礎(chǔ)2實(shí)驗(yàn)九 文件.doc_第4頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡(jiǎn)介

實(shí)驗(yàn)九 文件一、實(shí)驗(yàn)?zāi)康?1熟悉文件和文件指針的概念以及文件指針的定義方法。2掌握文件打開和關(guān)閉的概念和方法。3掌握常用的關(guān)于文件操作庫(kù)函數(shù)的使用。二、實(shí)驗(yàn)準(zhǔn)備C語(yǔ)言中處理文件的一般步驟為: (1)包含stdio.h頭文件:# include stdio.h (2)定義FILE類型文件指針:FILE *fp; (3)打開文件, 建立文件指針和文件的聯(lián)系: fp=fopen(文件名,打開方式); (4)根據(jù)需要選擇合適的文件讀寫函數(shù)對(duì)文件進(jìn)行讀寫操作。 (5)關(guān)閉文件:fclose(fp);三、實(shí)驗(yàn)內(nèi)容( 按要求設(shè)計(jì)以下程序,并調(diào)試分析運(yùn)行結(jié)果 ,此部分完成在實(shí)驗(yàn)報(bào)告上)1、程序調(diào)試題(文件名為test1-1.c) 磁盤上有一個(gè)名為test1-1.c的C程序文件,其中函數(shù)fun的功能是:在字符串a(chǎn)中找出ASCII碼值最大的字符,將其放在第一個(gè)位置上;并將該字符前的原字符向后順序移動(dòng)。例如,調(diào)用fun函數(shù)之前字符串為:123aBYdZf,調(diào)用后字符串中的內(nèi)容為:f123aBYdZ。在main函數(shù)中,從文本文件test1-1.txt中讀出字符串放入一維數(shù)組a中,調(diào)用fun函數(shù)構(gòu)成新的數(shù)組,在主函數(shù)中輸出處理后的結(jié)果。請(qǐng)改正程序中的錯(cuò)誤,使它能得出正確結(jié)果。注意:不得增行或刪行,也不得更改程序結(jié)構(gòu)。源程序如下:#include #include #includefun(char *p) char max,*q; int i=0; max=pi; while(pi!=0) if(maxpi) max=pi; q=p+1;i+; while(qp) *q=*(q-1);q+; p0=max;void main( ) FILE *fp; char a255; int i=0; if(fp=fopen(test1-1.txt,r)=NULL) printf(Cannot open the file.n); exit(0); while(1) ai+=fgets(fp); if(ai=EOF) break; i+; ai=0; printf(The original string : ); puts(a); fun(a); printf(The string of changing is : %snn,a); fclose(fp);2.程序調(diào)試題(文件名為test2-1.c) 磁盤上有一個(gè)名為test2-1.c 的C程序文件,其中函數(shù)fun的功能是:統(tǒng)計(jì)數(shù)組a中素?cái)?shù)的個(gè)數(shù),并將個(gè)數(shù)作為函數(shù)值返回。在main函數(shù)中,從文件test2-1.txt中讀出10個(gè)整數(shù)放入整型數(shù)組中,調(diào)用fun函數(shù),將整型數(shù)組的10個(gè)數(shù)及素?cái)?shù)的個(gè)數(shù)輸出到屏幕上。請(qǐng)改正程序中的錯(cuò)誤,使它能得出正確的結(jié)果。注意:不得增行或刪行,也不得更改程序的結(jié)構(gòu)。源程序如下:#include #include void fun(int *a,int n)int i,j,cnt=0;for(i=0;in;i+) for(j=2;jai/2) cnt+;return cnt;void main( )int a10,i,cnt;file *fp;if(fp=fopen(test2-1.txt,r)=NULL)printf(Cannot open the file.n);exit(0);for(i=0;i10;i+)fscanf(fp,%d,a+i);printf(%5d,ai);cnt=fun(a,10); printf(ncnt=%dn,cnt);fclose(fp);3.編程題(test1-2.c)編寫程序,實(shí)現(xiàn)矩陣(3行列)的轉(zhuǎn)置(即行列互換)例如,輸入如下的矩陣:100 200 300400 500 600700 800 900則程序輸出:100 400 700200 500 800300 600 900注意:部分源程序給出如下。請(qǐng)勿改動(dòng)主函數(shù)main 和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入所編寫的若干語(yǔ)句。試題程序:#include #include void fun(int array33)void main()int i,j;int array33=100,200,300,400,500,600,700,800,900;FILE *out; /*定義文件指針*/for (i=0;i3;i+)for(j=0;j3;j+)printf(%7d,arrayij);printf(n);fun(array);printf(Converted array:n);out = fopen(out.dat, w); /*以W方式新建out.dat文件,并讓out指針指向該文件*/for (i=0;i3;i+)for(j=0;j3;j+)printf(%7d,arrayij);fprintf(out, %7d,arrayij); /*將轉(zhuǎn)置后的數(shù)組寫到out指針?biāo)傅奈募ut.dat文件中*/printf(n);fprintf(out, n); /*將每寫完一行數(shù)據(jù)就寫一個(gè)換行符到out指針?biāo)傅奈募?/fclose(out); /*關(guān)閉文件*/4.編寫程序(程序文件名命為test2-2.c)(1)編寫函數(shù)fun,fun函數(shù)的功能是:將一個(gè)由二進(jìn)制數(shù)字字符組成的字符串轉(zhuǎn)換為與其面值相等的十進(jìn)制整數(shù)。規(guī)定輸入的字符串最多只能包含32位二進(jìn)制數(shù)字。例如,若輸入11111111,則輸出將是255。(2)在main函數(shù)中輸入二進(jìn)制數(shù)字字符串s的值,調(diào)用fun函數(shù),并輸出轉(zhuǎn)換后的十進(jìn)制數(shù)。四、實(shí)驗(yàn)要求: “實(shí)驗(yàn)內(nèi)容”中的任務(wù)要求在實(shí)驗(yàn)課上完成,若未完成請(qǐng)?jiān)谙麓紊险n前利用課外時(shí)間完成。五、實(shí)驗(yàn)報(bào)告填寫要求:1、第一頁(yè)用攀枝花學(xué)院實(shí)驗(yàn)報(bào)告紙,其后用實(shí)驗(yàn)報(bào)告附頁(yè)紙。2、第一頁(yè)填寫項(xiàng)目:實(shí)驗(yàn)課程:計(jì)算機(jī)基礎(chǔ)2-C語(yǔ)言 實(shí)驗(yàn)項(xiàng)目:本次實(shí)驗(yàn)名稱 實(shí)驗(yàn)日期:本次實(shí)驗(yàn)日期系: 班級(jí): 姓名: 學(xué)號(hào):指導(dǎo)教師:3、實(shí)驗(yàn)報(bào)告正文要求:實(shí)驗(yàn)?zāi)康模海ǔ瓕懕敬螌?shí)驗(yàn)?zāi)康模?shí)驗(yàn)儀器

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論