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

下載本文檔

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

文檔簡介

實驗九 文件一、實驗?zāi)康?1熟悉文件和文件指針的概念以及文件指針的定義方法。2掌握文件打開和關(guān)閉的概念和方法。3掌握常用的關(guān)于文件操作庫函數(shù)的使用。二、實驗準(zhǔn)備C語言中處理文件的一般步驟為: (1)包含stdio.h頭文件:# include stdio.h (2)定義FILE類型文件指針:FILE *fp; (3)打開文件, 建立文件指針和文件的聯(lián)系: fp=fopen(文件名,打開方式); (4)根據(jù)需要選擇合適的文件讀寫函數(shù)對文件進(jìn)行讀寫操作。 (5)關(guān)閉文件:fclose(fp);三、實驗內(nèi)容( 按要求設(shè)計以下程序,并調(diào)試分析運行結(jié)果 ,此部分完成在實驗報告上)1、程序調(diào)試題(文件名為test1-1.c) 磁盤上有一個名為test1-1.c的C程序文件,其中函數(shù)fun的功能是:在字符串a(chǎn)中找出ASCII碼值最大的字符,將其放在第一個位置上;并將該字符前的原字符向后順序移動。例如,調(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é)果。請改正程序中的錯誤,使它能得出正確結(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) 磁盤上有一個名為test2-1.c 的C程序文件,其中函數(shù)fun的功能是:統(tǒng)計數(shù)組a中素數(shù)的個數(shù),并將個數(shù)作為函數(shù)值返回。在main函數(shù)中,從文件test2-1.txt中讀出10個整數(shù)放入整型數(shù)組中,調(diào)用fun函數(shù),將整型數(shù)組的10個數(shù)及素數(shù)的個數(shù)輸出到屏幕上。請改正程序中的錯誤,使它能得出正確的結(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)編寫程序,實現(xiàn)矩陣(3行列)的轉(zhuǎn)置(即行列互換)例如,輸入如下的矩陣:100 200 300400 500 600700 800 900則程序輸出:100 400 700200 500 800300 600 900注意:部分源程序給出如下。請勿改動主函數(shù)main 和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號中填入所編寫的若干語句。試題程序:#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ù)就寫一個換行符到out指針?biāo)傅奈募?/fclose(out); /*關(guān)閉文件*/4.編寫程序(程序文件名命為test2-2.c)(1)編寫函數(shù)fun,fun函數(shù)的功能是:將一個由二進(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ù)。四、實驗要求: “實驗內(nèi)容”中的任務(wù)要求在實驗課上完成,若未完成請在下次上課前利用課外時間完成。五、實驗報告填寫要求:1、第一頁用攀枝花學(xué)院實驗報告紙,其后用實驗報告附頁紙。2、第一頁填寫項目:實驗課程:計算機基礎(chǔ)2-C語言 實驗項目:本次實驗名稱 實驗日期:本次實驗日期系: 班級: 姓名: 學(xué)號:指導(dǎo)教師:3、實驗報告正文要求:實驗?zāi)康模海ǔ瓕懕敬螌嶒災(zāi)康模嶒瀮x器

溫馨提示

  • 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

提交評論