#include?stdio.h
站在用戶(hù)的角度思考問(wèn)題,與客戶(hù)深入溝通,找到天元網(wǎng)站設(shè)計(jì)與天元網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶(hù)體驗(yàn)好的作品,建站類(lèi)型包括:成都網(wǎng)站設(shè)計(jì)、做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、國(guó)際域名空間、網(wǎng)頁(yè)空間、企業(yè)郵箱。業(yè)務(wù)覆蓋天元地區(qū)。
int?fun(int?n)?{?return?n*n;?}
int?main()?{?int?n;
scanf("%d",n);
printf("%d",fun(n));
}
#include?stdio.h
int?fun()?{?int?n;?scanf("%d",n);?return?n*n;?}
int?main()?{?printf("%d",fun());?}
推薦使用前面那個(gè),一般由主程序進(jìn)行輸入和輸出,函數(shù)負(fù)責(zé)處理數(shù)據(jù),除非是輸入函數(shù)和輸出函數(shù),即使這樣也不會(huì)即輸入又計(jì)算n*n,導(dǎo)致函數(shù)功能過(guò)于復(fù)雜、調(diào)用含義不清
c語(yǔ)言中一個(gè)完整的函數(shù)由函數(shù)首部和函數(shù)體構(gòu)成,而且定義函數(shù)時(shí)兩者都是必不可少的。
函數(shù)定義的一般形式如下:
類(lèi)型標(biāo)識(shí)符
函數(shù)名(形參表列)
//
這是函數(shù)首部
//
以下{
}內(nèi)的是函數(shù)體
{
說(shuō)明部分
執(zhí)行部分
}
舉例說(shuō)明如下:
//
定義一個(gè)不帶返回值的函數(shù)
//
函數(shù)功能:輸出形參的值
void
fun(int
a,
int
b)
{
printf("%d,
%d\n",
a,
b);
}
//
定義一個(gè)帶返回值的函數(shù)
//
函數(shù)功能:返回2個(gè)整數(shù)數(shù)的最大值
int
fun(int
a,
int
b)
{
return
ab
?
a
:
b;
}
1 根據(jù)功能,想一個(gè)函數(shù)名,并設(shè)計(jì)好返回值類(lèi)型以及參數(shù)列表。參數(shù)列表包括參數(shù)個(gè)數(shù),每個(gè)參數(shù)類(lèi)型,以及該參數(shù)的作用。
2 根據(jù)函數(shù)要實(shí)現(xiàn)的功能,實(shí)現(xiàn)函數(shù)的主體代碼。
3 按照你設(shè)計(jì)的想法,傳入不同參數(shù)類(lèi)型,驗(yàn)證函數(shù)功能并調(diào)試。
函數(shù)是用戶(hù)與程序的接口,在定義一個(gè)函數(shù)前,首先要清楚以下三個(gè)問(wèn)題。1) 函數(shù)的功能實(shí)現(xiàn)及算法選擇。算法選擇會(huì)在后續(xù)文章詳細(xì)講解,本節(jié)重點(diǎn)關(guān)注函數(shù)的功能實(shí)現(xiàn)。一般選取能體現(xiàn)函數(shù)功能的函數(shù)名,且見(jiàn)名知意,如求和函數(shù)的函數(shù)名可取為 add,求最大值的函數(shù)名可取為 max,排序函數(shù)可取名為 sort 等。2) 需要用戶(hù)傳給該函數(shù)哪些參數(shù)、什么類(lèi)型,即函數(shù)參數(shù)。3) 函數(shù)執(zhí)行完后返回給調(diào)用者的參數(shù)及類(lèi)型,即函數(shù)返回值類(lèi)型。 函教定義格式 函數(shù)定義的一般格式為: 返回類(lèi)型 函數(shù)名 (類(lèi)型參數(shù)1,類(lèi)型參數(shù)2,…) {函數(shù)體 }也可以不含參數(shù),不含參數(shù)時(shí),參數(shù)表中可寫(xiě)關(guān)鍵字 void 或省略,為規(guī)范起見(jiàn),教程中對(duì)沒(méi)有參數(shù)的函數(shù),參數(shù)表中統(tǒng)一寫(xiě) void。例如: 類(lèi)型 函數(shù)名 () {函數(shù)體 }等價(jià)于: 類(lèi)型 函數(shù)名 (void) //建議的書(shū)寫(xiě)方式 {函數(shù)體 } 如果該函數(shù)沒(méi)有返回類(lèi)型,則為 void 類(lèi)型。例如: void add (int x,int y) {printf ("sum=%d\n", x+y); } 除了 void 類(lèi)型外,在函數(shù)體中,均需要顯式使用 return 語(yǔ)句返回對(duì)應(yīng)的表達(dá)式的值。 函教返回值 函數(shù)的值是指調(diào)用函數(shù)結(jié)束時(shí),執(zhí)行函數(shù)體所得并返回給主調(diào)函數(shù)的值。 關(guān)于函數(shù)返回值說(shuō)明如下。1) 帶返回值的函數(shù),其值一般使用 return 語(yǔ)句返回給調(diào)用者。其格式為: return 表達(dá)式;或者 return (表達(dá)式);例如: int add (int a, int b) {return (a + b); //return 后為表達(dá)式 } 函數(shù)可以含一個(gè)或多個(gè) return 語(yǔ)句,但每次調(diào)用時(shí)只能執(zhí)行其中一個(gè) return 語(yǔ)句。例如,求整數(shù)絕對(duì)值的函數(shù): int f (int n) //含多個(gè)return語(yǔ)句,但每次調(diào)用只執(zhí)行一個(gè) {if (n = 0)return n;elsereturn -n; }
可以的,前提是,在使用一個(gè)函數(shù)之前必須先對(duì)他進(jìn)行聲明:
//void B();聲明B函數(shù)的存在。
void A()
{
B();//非法,程序執(zhí)行到此時(shí)并不知道B函數(shù)的存在。
}
void B()
{
}
或者
#include stdio.h
#include stdlib.h
#include math.h
int fa(int n)
{
int a;
for(a=2;a=sqrt(n*1.0),n%a!=0;a++);
if(asqrt(n*1.0))
return(1);
else
return(0);
}
void main( )
{
int n,q;
scanf("%d",n);
擴(kuò)展資料
從函數(shù)定義的角度看,函數(shù)可分為庫(kù)函數(shù)和用戶(hù)定義函數(shù)兩種。
(1)庫(kù)函數(shù)
由C系統(tǒng)提供,用戶(hù)無(wú)須定義, 也不必在程序中作類(lèi)型說(shuō)明,只需在程序前包含有該函數(shù)原型的頭文件即可在程序中直接調(diào)用。在前面各章的例題中反復(fù)用到printf 、 scanf 、 getchar 、putchar、gets、puts、strcat等函數(shù)均屬此類(lèi)。
(2)用戶(hù)定義函數(shù)
由用戶(hù)按需要寫(xiě)的函數(shù)。對(duì)于用戶(hù)自定義函數(shù), 不僅要在程序中定義函數(shù)本身, 而且在主調(diào)函數(shù)模塊中還必須對(duì)該被調(diào)函數(shù)進(jìn)行類(lèi)型說(shuō)明,然后才能使用。
標(biāo)題名稱(chēng):c語(yǔ)言的函數(shù)怎樣自定義,c語(yǔ)言 自定義函數(shù)
文章網(wǎng)址:http://sd-ha.com/article14/hdhsde.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供關(guān)鍵詞優(yōu)化、企業(yè)網(wǎng)站制作、網(wǎng)站收錄、網(wǎng)站維護(hù)、服務(wù)器托管、微信小程序
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容