#includestdio.h
平邑ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場(chǎng)景,ssl證書未來(lái)市場(chǎng)廣闊!成為創(chuàng)新互聯(lián)公司的ssl證書銷售渠道,可以享受市場(chǎng)價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:028-86922220(備注:SSL證書合作)期待與您的合作!
int f(int n)
{
int p;
if(n1)
p=n*f(n-1);
else
p=1L;
return(p);
}
int main()
{
int m;
scanf("%d",m);
printf("%d!=%d",m,f(m));
getchar();
getchar();
}
fwrite是按二進(jìn)制寫數(shù)據(jù)到文件,而fprintf是嚴(yán)格按照參數(shù)里邊的格式控制符,寫數(shù)據(jù)到文件??梢允鞘M(jìn)制,二進(jìn)制,字符串,等等,而且可以直接打開文件查看數(shù)據(jù),二進(jìn)制文件是不能直接打開文件查看數(shù)據(jù)的。
使用for循環(huán)語(yǔ)句+文件操作函數(shù)即可把數(shù)組里的數(shù)據(jù)寫入文件。
1、C語(yǔ)言標(biāo)準(zhǔn)庫(kù)提供了一系列文件操作函數(shù)。文件操作函數(shù)一般以f+單詞的形式來(lái)命名(f是file的簡(jiǎn)寫),其聲明位于stdio.h頭文件當(dāng)中。例如:fopen、fclose函數(shù)用于文件打開與關(guān)閉;fscanf、fgets函數(shù)用于文件讀??;fprintf、fputs函數(shù)用于文件寫入;ftell、fseek函數(shù)用于文件操作位置的獲取與設(shè)置。一般的C語(yǔ)言教程都有文件操作一章,可以找本教材進(jìn)一步學(xué)習(xí)。
2、例程:
#includestdio.h
int?i,a[100];
int?main(){
FILE?*?fp1?=?fopen("input.txt",?"r");//打開輸入文件
FILE?*?fp2?=?fopen("output.txt",?"w");//打開輸出文件
if?(fp1==NULL?||?fp2==NULL)?{//若打開文件失敗則退出
puts("不能打開文件!");
rturn?0;
}
for(i=0;fscanf(fp1,"%d",a+i)!=EOF;i++);//從輸入文件連續(xù)讀取整數(shù)到數(shù)組a
for(;i--;)fscanf(fp2,"%d?",a[i]);//把數(shù)組a逆序?qū)懭氲捷敵鑫募?dāng)中
fclose(fp1);//關(guān)閉輸入文件
fclose(fp2);//關(guān)閉輸出文件,相當(dāng)于保存
return?0;
}
這個(gè)應(yīng)該是在聲明一個(gè)函數(shù)吧,返回類型為 int 函數(shù)名為 f,函數(shù)的參數(shù)為int 類型。應(yīng)該在代碼中還有一段是對(duì)這個(gè)函數(shù)的定義,比如
int f(int a)
{……
}
輸出函數(shù)printf
實(shí)際位數(shù)小于所定義的精度數(shù)時(shí),小數(shù)不夠是右補(bǔ)0;
總倍數(shù)不夠是左補(bǔ)空格。
比如:
printf("%6d",56);輸出“
56”(不含引號(hào))
printf("%8.3f",1.2);輸出“
1.200”(不含引號(hào))
printf()函數(shù)是格式輸出函數(shù),請(qǐng)求printf()打印變量的指令取決與變量的類型.例如,在打印整數(shù)是使用%d符號(hào),在打印字符是用%c 符號(hào).這些符號(hào)被稱為轉(zhuǎn)換說(shuō)明.因?yàn)樗鼈冎付巳绾尾粩?shù)據(jù)轉(zhuǎn)換成可顯示的形式.下列列出的是ANSI?。脴?biāo)準(zhǔn)peintf()提供的各種轉(zhuǎn)換說(shuō)明.
轉(zhuǎn)換說(shuō)明及作為結(jié)果的打印輸出%a 浮點(diǎn)數(shù)、十六進(jìn)制數(shù)字和p-記數(shù)法(C99)
%A浮點(diǎn)數(shù)、十六進(jìn)制數(shù)字和p-記法(C99)
%c一個(gè)字符
%d有符號(hào)十進(jìn)制整數(shù)
%e浮點(diǎn)數(shù)、e-記數(shù)法
%E浮點(diǎn)數(shù)、E-記數(shù)法
%f浮點(diǎn)數(shù)、十進(jìn)制記數(shù)法
%g根據(jù)數(shù)值不同自動(dòng)選擇%f或%e.
%G根據(jù)數(shù)值不同自動(dòng)選擇%f或%e.
%i 有符號(hào)十進(jìn)制數(shù)(與%d相同)
%o無(wú)符號(hào)八進(jìn)制整數(shù)
%p指針
%s字符串
%u無(wú)符號(hào)十進(jìn)制整數(shù)
%x使用十六進(jìn)制數(shù)字0f的無(wú)符號(hào)十六進(jìn)制整數(shù)
%X使用十六進(jìn)制數(shù)字0f的無(wú)符號(hào)十六進(jìn)制整數(shù)
%%打印一個(gè)百分號(hào) 使用printf ()函數(shù) printf()的基本形式: printf("格式控制字符串",變量列表);
#includecstdio int main()
{
//for int
int i=30122121;
long i2=309095024l;
short i3=30;
unsigned i4=2123453; printf("%d,%o,%x,%X,%ld,%hd,%u\n",i,i,i,i,i2,i3,i4);//如果是:%l,%h,則輸不出結(jié)果
printf("%d,%ld\n",i,i2);//試驗(yàn)不出%ld和%d之間的差別,因?yàn)閘ong是4bytes
printf("%hd,%hd\n\n\n",i,i3);//試驗(yàn)了%hd和%d之間的差別,因?yàn)閟hort是2bytes
//for string and char
char ch1='d';
unsigned char ch2=160;
char *str="Hello everyone!";
printf("%c,%u,%s\n\n\n",ch1,ch2,str);//unsigned char超過(guò)128的沒有字符對(duì)應(yīng)
//for float and double,unsigned and signed can not be used with double and float
float fl=2.566545445F;//or 2.566545445f
double dl=265.5651445;
long double dl2=2.5654441454;
//%g沒有e格式,默認(rèn)6位包括小數(shù)點(diǎn)前面的數(shù),
//%f沒有e格式,默認(rèn)6位僅只小數(shù)點(diǎn)后面包含6位
//%e采用e格式,默認(rèn)6位為轉(zhuǎn)化后的小數(shù)點(diǎn)后面的6位
printf("%f,%e,%g,%.7f\n",fl,dl,dl,dl);
printf("%f,%E,%G,%f\n",fl,dl,dl,dl);//%F is wrong
printf("%.8f,%.10e\n",fl,dl);
printf("%.8e,%.10f\n\n\n",fl,dl);
//for point
int *iP=i;
char *iP1=new char;
void *iP2;//dangerous!
printf("%p,%p,%p\n\n\n",iP,iP1,iP2);
//其他知識(shí):負(fù)號(hào),表示左對(duì)齊(默認(rèn)是右對(duì)齊);%6.3,6表示寬度,3表示精度
char *s="Hello world!";
printf(":%s: \n:%10s: \n:%.10s: \n:%-10s: \n:%.15s: \n:%-15s: \n:%15.10s: \n:%-15.10s:\n\n\n",
s,s,s,s,s,s,s,s); double ddd=563.908556444;
printf(":%g: \n:%10g: \n:%.10g: \n:%-10g: \n:%.15g: \n:%-15g: \n:%15.10g: \n:%-15.10g:\n\n\n",
ddd,ddd,ddd,ddd,ddd,ddd,ddd,ddd);
//還有一個(gè)特殊的格式%*.* ,這兩個(gè)星號(hào)的值分別由第二個(gè)和第三個(gè)參數(shù)的值指定 printf("%.*s \n", 8, "abcdefgggggg");
printf("%*.*f \n", 3,3, 1.25456f); return 0;
}