c語言數(shù)據(jù)導(dǎo)出函數(shù) c語言導(dǎo)入數(shù)據(jù)

C語言數(shù)組的輸出函數(shù)

#include

創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供尖扎網(wǎng)站建設(shè)、尖扎做網(wǎng)站、尖扎網(wǎng)站設(shè)計、尖扎網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計與制作、尖扎企業(yè)網(wǎng)站模板建站服務(wù),十年尖扎做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡(luò)服務(wù)。

"stdio.h"

void

input(int

a[10])

//給一維數(shù)組輸入數(shù)據(jù)

{

int

i;

for(i=0;i10;i++)

scanf("%d",a[i]);

}

void

output(int

a[10])

//輸出一維數(shù)組輸入數(shù)據(jù)

{

int

i;

for(i=0;i10;i++)

printf("%d

",a[i]);

}

int

main()

{

int

b[10];

input(b);

//調(diào)用input函數(shù)給數(shù)組b賦值

output(b);//調(diào)用output函數(shù)輸出數(shù)組b中的值

}

c語言,有高手教我怎么導(dǎo)出運(yùn)行結(jié)果嗎??導(dǎo)出到指定文件。

那就需要熟悉文件操作啊。

不愿意看書就看看這個

C語言文件操作2008年07月17日 星期四 11:43 P.M.13.1C語言文件

1,兩種文件存取方式(輸入,輸出方式)

順序存取

直接存取

2,數(shù)據(jù)的兩種存放形式

文本文件

二進(jìn)制文件 13.2文件指針

定義文件類型指針變量的一般形式:

FILE *指針變量名;

例如:

FILE *fp1,*fp2;13.3打開文件

在使用文件之前,需打開文件.在C里使用fopen函數(shù)打開文件.格式為:

fopen(文件名,文件使用方式);

此函數(shù)返回一個指向FILE類型的指針.如:

FILE *fp;

fp=fopen("file_1","r");

如果調(diào)用成功,fp就指向file_1,否則返回為NULL,所以為了保證文件的正確使用,要進(jìn)行測試.采用如下語句:

If((fp=fopen("file_1","r"))==NULL)

{

printf("Cannot open this file\n");

exit(0);

}

最常用的文件使用方式及其含義如下:

1,"r".為讀而打開文本文件.(不存在則出錯)

2,"rb".為讀而打開二進(jìn)制文件.

3,"w".為寫而打開文本文件.(若不存在則新建,反之,則從文件起始位置寫,原內(nèi)容將被覆蓋)

4,"wb".為寫而打開二進(jìn)制文件.

5,"a".為在文件后面添加數(shù)據(jù)而打開文本文件.(若不存在,則新建;反之,在原文件后追加)

6,"ab".為在文件后面添加數(shù)據(jù)而打開一個二進(jìn)制文件.

最常用的文件使用方式及其含義如下:

7,"r+".為讀和寫而打開文本文件.(讀時,從頭開始;在寫數(shù)據(jù)時,新數(shù)據(jù)只覆蓋所占的空間,其后不變)

8,"rb+".為讀和寫而打開二進(jìn)制文件.只是在隨后的讀寫時,可以由位置函數(shù)設(shè)置讀和寫的起始位置.

9,"w+".首先建立一個新文件,進(jìn)行寫操作,隨后可以從頭開始讀.(若文件存在,原內(nèi)容將全部消失)

10,"wb+".功能與"w+"同.只是在隨后的讀寫時,可以由位置函數(shù)設(shè)置讀和寫的起始位置.

最常用的文件使用方式及其含義如下:

11,"a+".功能與"a"相同;只是在文件尾部添加新的數(shù)據(jù)后,可以從頭開始讀.

12,"ab+".功能與"a+"相同;只是在文件尾部添加新數(shù)據(jù)之后,可以由位置函數(shù)設(shè)置開始讀的起始位置.13.4關(guān)閉文件當(dāng)文件的讀寫操作完成之后,使用fclose函數(shù)關(guān)閉文件.格式如下:

fclose(文件指針)

如:fclose(fp);

13.5調(diào)用getc(fgetc)和putc(fputc)函數(shù)進(jìn)行輸入和輸出

1,調(diào)用putc(或fputc)函數(shù)輸出一個字符

調(diào)用形式為:

putc(ch,fp);

功能是:將字符ch寫到文件指針fp所指的文件中去.當(dāng)輸出成功,putc函數(shù)返回所輸出的字符;否則,返回一個EOF值.EOF是在stdio.h庫函數(shù)文件中定義的符號常量,其值等于-1.13.5調(diào)用getc(fgetc)和putc(fputc)函數(shù)進(jìn)行輸入和輸出

例如:把從鍵盤輸入的文本按原樣輸出到名為file_1.dat文件中,用字符@作為鍵盤輸入結(jié)束標(biāo)志.

#include

Void main()

{

FILE *fpout;

char ch;

if(fpout=fpopen("file_1","w")==NULL)

{

printf("Cannot open this file!\n");

exit(0);

}

ch=getchar();

while(ch!='@')

{ fputc(ch,fpout); ch=getchar(); }

fclose(fpout);

}

2.調(diào)用getc(或fgetc)函數(shù)輸入一個字符

調(diào)用形式為:

ch=getc(pf);

功能是:從pf指定的文件中讀如一個字符,并把它作為函數(shù)值返回.

例如:把一個已存在磁盤上的file_1.dat文本文件中的內(nèi)容,原樣輸出到終端屏幕上.

#include

void main(){

FILE *fpin;

char ch;

if((fpin=fopen("file_1.dat","r"))==NULL)

{ printf("Cann't open this file!\n");exit(0);}

ch=fgetc(fpin);

while (ch!=EOF)

{ putchar(ch); ch=fgetc(fpin);}

fclose(fpin);

}

13.6判斷文件結(jié)束函數(shù)feof

EOF可以作為文本文件的結(jié)束 標(biāo)志,但不能作為二進(jìn)制文件的結(jié)束符.feof函數(shù)既可以判斷二進(jìn)制文件,又可以判斷文本文件.

例:編寫程序,用于把一個文本文件(源)復(fù)制到另一個文件(目的)中,源文件名和目的文件名由命令行輸入.命令形式如下:

可執(zhí)行程序名 源文件名 目的文件名

#include

void filecopy(FILE* ,FILE *);

void main(int argc,char *argv[]){

FILE *fpin,*fpout;

if(argc==3)

{ fpin=fopen(argv[1],"r");

fpout=fopen(argv[2],"w");

filecopy(fpin,fpout);

fclose(fpin);fclose(fpout);

}

else if(argc3)

printf("The file names too many!!\n";

else

printf("There are no file names for input or output!!\n );

}

void filecopy(FILE *fpin,FILE *fpout)

{

char ch;

ch=getc(fpin);

while(!feof(fpin))

{putc(ch,fpout); ch=getc(fpin);}

}

13.7fscanf函數(shù)和fprintf函數(shù)

1,fscanf函數(shù)

fscanf只能從文本文件中按格式輸入,和scanf函數(shù)相似,只不過輸入的對象是磁盤上文本文件中的數(shù)據(jù).調(diào)用形式為:

fscanf(文件指針,格式控制字符串,輸入項表)

例如:fscanf(fp,"%d%d",a,b);

fscanf(stdin,"%d%d",a,b);

等價于scanf("%d%d",a,b);

3.fprintf函數(shù)

fprintf函數(shù)按格式將內(nèi)存中的數(shù)據(jù)轉(zhuǎn)換成對應(yīng)的字符,并以ASCII代碼形式輸出到文本文件中.Fprintf函數(shù)和printf函數(shù)相似,只是將輸出的內(nèi)容按格式存放到磁盤的文本文件中.調(diào)用形式如下:

fprintf(文件指針,格式控制字符串,輸出項表)

如:fprintf(fp,"%d %d",x,y);

以下語句 fprintf(stdout,"%d %d",x,y)

13.8fgets函數(shù)和fputs函數(shù)

1,fgets函數(shù)

fgets函數(shù)用來從文件中讀入字符串.調(diào)用形式如下:

fgets(str,n,fp);

函數(shù)功能是:從fp所指文件中讀入n-1個字符放入str為起始地址的空間內(nèi);如果在未讀滿n-1個字符時,則遇到換行符或一個EOF結(jié)束本次讀操作,并已str作為函數(shù)值返回.

13.8fgets函數(shù)和fputs函數(shù)

2,fputs函數(shù)

fput函數(shù)把字符串輸出到文件中.函數(shù)調(diào)用形式如下:

fputs(str,fp);

注意:為了便于讀入,在輸出字符串時,應(yīng)當(dāng)人為的加諸如"\n"這樣的字符串.13.9fread函數(shù)和fwrite函數(shù)

fread and fwrite函數(shù)用來讀,寫二進(jìn)制文件.它們的調(diào)用形式如下:

fread(buffer,size,count,fp);

fwrite(buffer,size,count,fp);

buffer:要輸入或輸出的數(shù)據(jù)塊的首地址

count:每讀寫一次,輸入或輸出數(shù)據(jù)塊的個數(shù)

size:每個數(shù)據(jù)塊的字節(jié)數(shù)

fp:文件指針

13.9fread函數(shù)和fwrite函數(shù)

例如有如下結(jié)構(gòu)體:

struct st{

char num[8];

float mk[5];

}pers[30];

以下循環(huán)將把這30個元素中的數(shù)據(jù)輸出到fp所指文件中.

for(i=0;i30;i++)

fwrite(pers[i],sizeof(struct st),1,fp);

13.9fread函數(shù)和fwrite函數(shù)

以下語句從fp所指的文件中再次將每個學(xué)生數(shù)據(jù)逐個讀入到pers數(shù)組中.

i=0;

fread(pers[i],sizeof(struct st),1,fp);

while(!feof(fp))

{ i++;

fread(pers[i],sizeof(struct st),1,fp);

}

13.10文件定位函數(shù)

1,fseek函數(shù)

fseek函數(shù)用來移動文件位置指針到指定的位置上,接著的讀或?qū)懖僮鲗拇宋恢瞄_始.函數(shù)的調(diào)用形式如下:

fseek(pf,offset,origin)

pf:文件指針

offset:以字節(jié)為單位的位移量,為長整形.

origin:是起始點(diǎn),用來指定位移量是以哪個位置為基準(zhǔn)的.

1,fseek函數(shù)

位移量的表示方法

標(biāo)識符 數(shù)字 代表的起始點(diǎn)

SEEK_SET 0 文件開始

SEEK_END 2 文件末尾

SEEK_CUR 1 文件當(dāng)前位置

假設(shè)pf已指向一個二進(jìn)制文件,則;

fseek(pf,30L,SEEK_SET)

fseek(pf,-10L*sizeof(int),SEEK_END)

對于文本文件,位移量必須是0;如:

fseek(pf,0L,SEEK_SET)

fseek(pf,0L,SEEK_END)

2. ftell函數(shù)

ftell函數(shù)用以獲得文件當(dāng)前位置指針的位置,函數(shù)給出當(dāng)前位置指針相對于文件開頭的字節(jié)數(shù).如;

long t;

t=ftell(pf);

當(dāng)函數(shù)調(diào)用出錯時,函數(shù)返回-1L.

我們可以通過以下方式來測試一個文件的長度:

fseek(fp,0L,SEEK_END);

t=ftell(fp);

3.rewind函數(shù)

調(diào)用形式為:

rewind(pf);

函數(shù)沒有返回值.函數(shù)的功能是使文件的位置指針回到文件的開頭.

13.10文件應(yīng)用

在磁盤上的test.txt文件中放有10個不小于2的正整數(shù),用函數(shù)調(diào)用方式編寫程序.要求實現(xiàn):

1,在被調(diào)函數(shù)prime中,判斷和統(tǒng)計10個整數(shù)中的素數(shù)以及個數(shù).

2,在主函數(shù)中將全部素數(shù)追加到磁盤文件test.txt的尾部,同時輸出到屏幕上.

#include

#include

Int prime(int a[],int n)

{

int I,j,k=0,flag=0;

for(i=0;i { for(j=2;j if(a[i]%j==0)

{ flag=0; break;}

else flag=1;

if(flag)

{a[k]=a[i];k++;}

}

return k;

}

void main(){

int n,I,a[10];

FILE *fp;

fp=fopen("test1-2.txt","r+");

for(n=0;n10;n++)

fscanf(fp,"%d",a[n]);

n=prime(a,n);

fseek(fp,o,2);

for(i=0;i {printf("%3d",a[i]);

fprintf(fp,"%3d",a[i]);

}

fclose(fp);

}

如何用c語言求函數(shù)導(dǎo)數(shù)

1、首先要有函數(shù),設(shè)置成double類型的參數(shù)和返回值。

2、然后根據(jù)導(dǎo)數(shù)的定義求出導(dǎo)數(shù),參數(shù)差值要達(dá)到精度極限,這是最關(guān)鍵的一步。

3、假如函數(shù)是double fun(doube x),那么導(dǎo)數(shù)的輸出應(yīng)該是(fun(x)-fun(x-e))/e,這里e是設(shè)置的無窮小的變量。

4、C由于精度有限,因此需要循環(huán)反復(fù)測試,并判斷無窮小e等于0之前,求出上述導(dǎo)數(shù)的值。二級導(dǎo)數(shù)也是一樣,所不同的是要把上述導(dǎo)數(shù)公式按定義再一次求導(dǎo)。這是算法,具體的實現(xiàn)自己嘗試編程。

C語言的數(shù)據(jù)長度和精度都有限,因此用C語言編程求的導(dǎo)數(shù)并不精確,換句話說C語言編程不適合求導(dǎo)和極限。

擴(kuò)展資料:

舉例說明:

一階導(dǎo)數(shù),寫一個函數(shù) y = f(x):

float f(float x){ ...}

設(shè) dx 初值

計算 dy

dy = f(x0) - f(x0+dx);

導(dǎo)數(shù) 初值

dd1=dy/dx;

Lab:;

dx = 0.5 * dx; ?// 減小步長

dy = f(x0) - f(x0+dx);

dd2=dy/dx; ?// 導(dǎo)數(shù) 新值

判斷新舊導(dǎo)數(shù)值之差是否滿足精度,滿足則得結(jié)果,不滿足則返回

if ( ?fabs(dd1-dd2) 1e-06 ) { 得結(jié)果dd2...}

else { dd1=dd2;goto Lab;}。

c語言格式輸入輸出函數(shù)

一:格式輸出函數(shù)printf()

1、調(diào)用形式一般為:printf("格式化控制字符串",輸出表列);

2、格式化控制字符串用于指定輸出格式,它有三種形式:

1、格式說明符:規(guī)定了相應(yīng)輸出表列內(nèi)容的輸出格式,以%打頭,如%d、%o等

2、轉(zhuǎn)義字符:用來輸出轉(zhuǎn)義字符所代表的控制代碼或者特殊字符,比如常用的‘\n'、‘\t'

3、普通字符:需要原樣輸出的字符。

3、輸出表列為若干需要輸出的數(shù)據(jù)項,它與格式說明符在數(shù)量和類型上一一對應(yīng);

4、格式字符m指定輸出數(shù)據(jù)所占寬度,n對實數(shù)表示輸出n位小數(shù),對字符串表示截取的字符個數(shù),+表示右對齊,通常省略。

—表示左對齊,l用于長整型數(shù)據(jù),可加在d、o、x、u前,更多格式說明符及其組合形式如下所示:

格式字符

數(shù)據(jù)對象

輸出形式

數(shù)據(jù)輸出方法

%(+)-md

int

unsigned

int

short

unsigned

short

char

十進(jìn)制整數(shù)

1、無m按實際位數(shù)輸出

2、有m輸出m位;超過m位,按實際位數(shù)輸出,不足補(bǔ)空格

3、有+(默認(rèn)為+)右對齊(左補(bǔ)空格)

4、有-左對齊(右補(bǔ)空格)

%(+)-mo

八進(jìn)制整數(shù)

%(+)-mx

十六進(jìn)制整數(shù)

%(+)-mu

無符號整數(shù)

%(+)-mld

long

unsigned

long

十進(jìn)制整數(shù)

%(+)-mlo

八進(jìn)制整數(shù)

%(+)-mlx

十六進(jìn)制整數(shù)

%(+)-mlu

無符號整數(shù)

%(+)-m.nf

float

double

十進(jìn)制小數(shù)

%(+)-m.ne

十進(jìn)制指數(shù)

%(+)-g

自動選用%f和%e中較短的輸出寬度輸出單、雙精度浮點(diǎn)數(shù)

%(+)-mc

char

int

short

單個字符

1、無m輸出單個字符

2、有m輸出m位,補(bǔ)空格

3、有+(默認(rèn)為+)右對齊(左補(bǔ)空格)

4、有-左對齊(右補(bǔ)空格)

%(+)-m.ns

字符串

一串字符

1.無m、n按實際字符串輸出全部字符

2、有m、n僅輸出前n個字符,補(bǔ)空格

3.有+(默認(rèn)為+)右對齊(左補(bǔ)空格)

4、有-左對齊(右補(bǔ)空格)

二:格式輸入函數(shù)scanf()

1、

調(diào)用格式一般為:scanf("格式化控制字符串",地址表列);

2、格式化控制字符串和printf()函數(shù)含義相似,所不同的是它是對輸入格式進(jìn)行控制;

3、地址表列是有若干等待輸入的數(shù)據(jù)所對應(yīng)的內(nèi)存單元地址組成,由逗號隔開,一般形式為a,a為變量;

4、地址表列在數(shù)量和類型上和格式化控制字符串中的格式說明符一一對應(yīng);

5、格式字符h表示輸入短型數(shù)據(jù),可用在d、o、x前面,m指定輸入數(shù)據(jù)所占寬度,

*表示對應(yīng)的數(shù)據(jù)項讀入后不賦給相應(yīng)的變量,更多格式說明符及其組合如下

格式字符

數(shù)據(jù)對象

輸入形式

數(shù)據(jù)輸入方法

%md

int

short

unsigned

int

unsigned

short

十進(jìn)制整數(shù)

1、無m按實際位數(shù)輸入

2、有m輸入m位,不足m則跟回車鍵

%mo

八進(jìn)制整數(shù)

%mx

十六進(jìn)制整數(shù)

%mld

long

unsigned

long

十進(jìn)制整數(shù)

%mlo

八進(jìn)制整數(shù)

%mlx

十六進(jìn)制整數(shù)

%mlf

float

double

十進(jìn)制整數(shù)

%mle

%mc

char

單個字符

1、無m取單個字符

2、有m輸入m位,僅取第一個字符

%ms

字符串

一串字符

1、無m取回車或空格前若干字符

2、有m僅取前m字符

當(dāng)前名稱:c語言數(shù)據(jù)導(dǎo)出函數(shù) c語言導(dǎo)入數(shù)據(jù)
瀏覽地址:http://www.muchs.cn/article24/docsjce.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供做網(wǎng)站、、靜態(tài)網(wǎng)站、網(wǎng)頁設(shè)計公司面包屑導(dǎo)航、云服務(wù)器

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站建設(shè)