#include stdio.h
我們提供的服務(wù)有:成都做網(wǎng)站、網(wǎng)站制作、微信公眾號(hào)開(kāi)發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、魚(yú)臺(tái)ssl等。為成百上千家企事業(yè)單位解決了網(wǎng)站和推廣的問(wèn)題。提供周到的售前咨詢(xún)和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的魚(yú)臺(tái)網(wǎng)站制作公司
void main(void)
{
int x,y;
printf("Please enter the x:");
scanf("%d",x);
if(x=-2)
y=x-2;
else if(x=2)
y=2*x-1;
else
y=(x+2)*(x+2);
printf("The y is %d\n",y);
scanf("%d",x);//只是為了停住看清結(jié)果,沒(méi)有任何意義
}
C語(yǔ)言輸入輸出函數(shù)有很多,標(biāo)準(zhǔn)I/O函數(shù)中包含了如下幾個(gè)常用的函數(shù):
scanf,printf,getc,putc,getchar,putchar,gets,puts,fgets,fputs,fgetc,fputc,fscanf,fprintf等.
int
getc(FILE
*fp)
getc主要是從文件中讀出一個(gè)字符.常用的判斷文件是否讀取結(jié)束的語(yǔ)句為
(ch
=
getc(fp))
!=
EOF.EOF為文件結(jié)束標(biāo)志,定義在stdio.h中,就像EXIT_SUCCESS,EXIT_FAILURE定義在stdlib.h中一樣,文件也可以被理解為一種流,所以當(dāng)fp為stdin時(shí),getc(stdin)就等同于getchar()了.
int
putc(int
ch,FILE
*fp)
putc主要是把字符ch寫(xiě)到文件fp中去.如果fp為stdout,則putc就等同于putchar()了.
int
getchar(void)
getchar主要是從標(biāo)準(zhǔn)輸入流讀取一個(gè)字符.默認(rèn)的標(biāo)準(zhǔn)輸入流即stdio.h中定義的stdin.但是從輸入流中讀取字符時(shí)又涉及到緩沖的問(wèn)題,所以并不是在屏幕中敲上一個(gè)字符程序就會(huì)運(yùn)行,一般是通過(guò)在屏幕上敲上回車(chē)鍵,然后將回車(chē)前的字符串放在緩沖區(qū)中,getchar就是在緩沖區(qū)中一個(gè)一個(gè)的讀字符.當(dāng)然也可以在while循環(huán)中指定終止字符,如下面的語(yǔ)句:while
((c
=
getchar())
!=
'#')這是以#來(lái)結(jié)束的.
int
putchar(int
ch)
putchar(ch)主要是把字符ch寫(xiě)到標(biāo)準(zhǔn)流stdout中去.
char
*
gets(char
*str)
gets主要是從標(biāo)準(zhǔn)輸入流讀取字符串并回顯,讀到換行符時(shí)退出,并會(huì)將換行符省去.
int
puts(char
*str)
puts主要是把字符串str寫(xiě)到標(biāo)準(zhǔn)流stdout中去,并會(huì)在輸出到最后時(shí)添加一個(gè)換行符.
char
*fgets(char
*str,
int
num,
FILE
*fp)
str是存放讀入的字符數(shù)組指針,num是最大允許的讀入字符數(shù),fp是文件指針.fgets的功能是讀一行字符,該行的字符數(shù)不大于num-1.因?yàn)閒gets函數(shù)會(huì)在末尾加上一個(gè)空字符以構(gòu)成一個(gè)字符串.另外fgets在讀取到換行符后不會(huì)將其省略.
int
fputs(char
*str,
file
*fp)
fputs將str寫(xiě)入fp.fputs與puts的不同之處是fputs在打印時(shí)并不添加換行符.
int
fgetc(FILE
*fp)
fgetc從fp的當(dāng)前位置讀取一個(gè)字符.
int
fputc(int
ch,
file
*fp)
fputc是將ch寫(xiě)入fp當(dāng)前指定位置.
int
fscanf(FILE
*fp,
char
*format,
輸入列表)
fscanf按照指定格式從文件中出讀出數(shù)據(jù),并賦值到參數(shù)列表中.
int
fprintf(FILE
*fp,
char
*format,
輸出列表)
fprintf將格式化數(shù)據(jù)寫(xiě)入流式文件中.
數(shù)據(jù)塊讀寫(xiě)函數(shù)
fread
(buffer,size,count,fp);
fwrite(buffer,size,count,fp);
參數(shù)說(shuō)明:
buffer:是一個(gè)指針。
對(duì)fread
來(lái)說(shuō),它是讀入數(shù)據(jù)的存放地址。
對(duì)fwrite來(lái)說(shuō),是要輸出數(shù)據(jù)的地址(均指起始地址)。
size:
要讀寫(xiě)的字節(jié)數(shù)。
count:
要進(jìn)行讀寫(xiě)多少個(gè)size字節(jié)的數(shù)據(jù)項(xiàng)。
fp:
文件型指針。
這是簡(jiǎn)單的循環(huán),對(duì)于正負(fù)號(hào)的問(wèn)題可以記錄一個(gè)變量來(lái)維護(hù)該次循環(huán)中是正號(hào)還是負(fù)號(hào),每次循環(huán)結(jié)束都將這個(gè)變量記錄的符號(hào)反轉(zhuǎn)。以下是樣例程序:
int?foo(int?n)
{
bool?sign?=?true;?//true表示正號(hào),false表示負(fù)號(hào)
int?sum?=?0;
for?(int?i?=?1;?i?=?n;?++i)?{
if?(sign)?sum?+=?i;
else?sum?-=?i;
sign?=?!sign;
}
return?sum;
}
當(dāng)然,n非常大時(shí)計(jì)算可能需要很久。這時(shí)可以考慮利用數(shù)學(xué)方法簡(jiǎn)化表達(dá)式。當(dāng)n是奇數(shù)時(shí),原式=1+(3-2)+...+(n-(n-1))=1+(n-1)/2=(n+1)/2,當(dāng)n是偶數(shù)時(shí),原式=(1-2)+...+(n-1-n)=-n/2。因此函數(shù)可以簡(jiǎn)單地寫(xiě)成:
int?foo(int?n)
{
return?n?%?2?==?0???-?n?/?2?:?(n?+?1)?/?2;
}
C語(yǔ)言函數(shù)在函數(shù)過(guò)程編寫(xiě)前定義,比如編寫(xiě)一個(gè)名稱(chēng)為fx的函數(shù),那么:
#include"stdio.h"
#......
void fx(變量類(lèi)型定義,用,分開(kāi));
main()
{
。。。。。。
fx(形參);
。。。。。。
}
void fx(變量類(lèi)型定義,用,分開(kāi))
{。。。。。。}
形參是一個(gè)形式,相當(dāng)于書(shū)架,你把實(shí)參(書(shū))賦值給(放到)形參(書(shū)架對(duì)應(yīng)位置上),并通過(guò)形參進(jìn)行編輯(理解為在書(shū)架上拿書(shū)操作);最終書(shū)架的東西不能動(dòng),你看完從哪里拿的放到哪,但是你拿下來(lái)過(guò)的東西的方式是你自己決定的
c語(yǔ)言的開(kāi)方函數(shù)是:sqrt()函數(shù)。
1、功能:計(jì)算一個(gè)非負(fù)實(shí)數(shù)的平方根。
2、函數(shù)原型:在VC6.0中的math.h頭文件的函數(shù)原型為double sqrt(double)。
3、說(shuō)明:sqrt系Square Root Calculations(平方根計(jì)算),通過(guò)這種運(yùn)算可以考驗(yàn)CPU的浮點(diǎn)能力。
4、頭文件:math
double sqrt(double x)
參數(shù)解釋?zhuān)?/p>
x 為要計(jì)算平方根的值。
如果 x 0,將會(huì)導(dǎo)致 domain error 錯(cuò)誤,并把全局變量 errno 的值為設(shè)置為 EDOM。
返回 x 平方根。
注意,使用 GCC 編譯時(shí)請(qǐng)加入-lm。
例:
擴(kuò)展資料:
sqrt()函數(shù)的注意事項(xiàng):
1、sqrt()函數(shù),里面的形參是double型的,所以調(diào)用的時(shí)候,要強(qiáng)制轉(zhuǎn)換成double型。
2、sqrt()函數(shù)都最后返回值是double型,而n是int型,所以要強(qiáng)制轉(zhuǎn)換n=(int)sqrt((double)x)。
3、到底要不要進(jìn)行強(qiáng)制轉(zhuǎn)換,需要看這個(gè)函數(shù)的形參和返回值是什么類(lèi)型,如果沒(méi)有進(jìn)行強(qiáng)制轉(zhuǎn)換,有的編譯器會(huì)警告,有的會(huì)報(bào)錯(cuò),有的就直接通過(guò)。
參考資料:
百度百科--平方根計(jì)算
c++中為什么需要main函數(shù)的解釋如下:
1、這個(gè)是由系統(tǒng)的c++運(yùn)行時(shí)決定的,編譯器生成目標(biāo)系統(tǒng)上的可執(zhí)行文件時(shí),操作系統(tǒng)啟動(dòng)的入口就是c++運(yùn)行時(shí)(c++
runtime
system),
然后運(yùn)行時(shí)完成初始化之后會(huì)調(diào)用main函數(shù)。
2、main函數(shù)定義了函數(shù)調(diào)用的入口,具體用法如下:
(1)main()函數(shù)及其參數(shù)
c++標(biāo)準(zhǔn)允許主函數(shù)main()有或沒(méi)有參數(shù)列表。
您能在主函數(shù)main()中使用一個(gè)或更多的參數(shù)。
如下是一些慣例:
int
main(int
argc,
char
*argv[])
第一個(gè)參數(shù)argc,指明有多少個(gè)參數(shù)將被傳遞給主函數(shù)main(),真正的參數(shù)以字符串?dāng)?shù)組(即第2個(gè)參數(shù)argv[])的形式來(lái)傳遞。每一個(gè)字符串均有自己意思。在這句法上面,
記住,
argc代表參數(shù)的數(shù)量,
main()函數(shù)本身是在索引0為的第一參數(shù)。
(2)所以,
argc總是至少為1
。它的總數(shù)是從argv列陣的元素?cái)?shù)目。
這意味著,
argv[0]的值是至關(guān)重要的。
如果用戶(hù)在控制臺(tái)環(huán)境中程序名稱(chēng)后鍵入含參數(shù)的指令,
那么隨后的參數(shù)將傳遞給argv[1]
。
例如,
如果程序名稱(chēng)為main,并且已經(jīng)事先編譯好了,這時(shí)如果用戶(hù)鍵入:d:/myprograms/aconsoleapp/main
68
值68將會(huì)傳遞給argv[1]
當(dāng)然取決于你怎么樣來(lái)編寫(xiě)程序了,也許你的用戶(hù)將可以輸入如下指令:
d:/myprograms/aconsoleapp/main
68
1250.50
因?yàn)閰?shù)argv是一些字符串,將這些字符串轉(zhuǎn)換為你需要的值就是我們程序員的任務(wù)了。
文章標(biāo)題:C十十語(yǔ)言函數(shù) c語(yǔ)言中是什么
分享鏈接:http://www.sd-ha.com/article28/docjjcp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站策劃、虛擬主機(jī)、企業(yè)建站、品牌網(wǎng)站建設(shè)、定制開(kāi)發(fā)、小程序開(kāi)發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)