函數(shù)是用戶與程序的接口,在定義一個(gè)函數(shù)前,首先要清楚以下三個(gè)問題。1) 函數(shù)的功能實(shí)現(xiàn)及算法選擇。算法選擇會(huì)在后續(xù)文章詳細(xì)講解,本節(jié)重點(diǎn)關(guān)注函數(shù)的功能實(shí)現(xiàn)。一般選取能體現(xiàn)函數(shù)功能的函數(shù)名,且見名知意,如求和函數(shù)的函數(shù)名可取為 add,求最大值的函數(shù)名可取為 max,排序函數(shù)可取名為 sort 等。2) 需要用戶傳給該函數(shù)哪些參數(shù)、什么類型,即函數(shù)參數(shù)。3) 函數(shù)執(zhí)行完后返回給調(diào)用者的參數(shù)及類型,即函數(shù)返回值類型。 函教定義格式 函數(shù)定義的一般格式為: 返回類型 函數(shù)名 (類型參數(shù)1,類型參數(shù)2,…) {函數(shù)體 }也可以不含參數(shù),不含參數(shù)時(shí),參數(shù)表中可寫關(guān)鍵字 void 或省略,為規(guī)范起見,教程中對沒有參數(shù)的函數(shù),參數(shù)表中統(tǒng)一寫 void。例如: 類型 函數(shù)名 () {函數(shù)體 }等價(jià)于: 類型 函數(shù)名 (void) //建議的書寫方式 {函數(shù)體 } 如果該函數(shù)沒有返回類型,則為 void 類型。例如: void add (int x,int y) {printf ("sum=%d\n", x+y); } 除了 void 類型外,在函數(shù)體中,均需要顯式使用 return 語句返回對應(yīng)的表達(dá)式的值。 函教返回值 函數(shù)的值是指調(diào)用函數(shù)結(jié)束時(shí),執(zhí)行函數(shù)體所得并返回給主調(diào)函數(shù)的值。 關(guān)于函數(shù)返回值說明如下。1) 帶返回值的函數(shù),其值一般使用 return 語句返回給調(diào)用者。其格式為: return 表達(dá)式;或者 return (表達(dá)式);例如: int add (int a, int b) {return (a + b); //return 后為表達(dá)式 } 函數(shù)可以含一個(gè)或多個(gè) return 語句,但每次調(diào)用時(shí)只能執(zhí)行其中一個(gè) return 語句。例如,求整數(shù)絕對值的函數(shù): int f (int n) //含多個(gè)return語句,但每次調(diào)用只執(zhí)行一個(gè) {if (n = 0)return n;elsereturn -n; }
網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)!專注于網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、小程序設(shè)計(jì)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了天水免費(fèi)建站歡迎大家使用!
除了下面的,都可以使用auto :聲明自動(dòng)變量 一般不使用
double :聲明雙精度變量或函數(shù)
int: 聲明整型變量或函數(shù)
struct:聲明結(jié)構(gòu)體變量或函數(shù)
break:跳出當(dāng)前循環(huán)
else :條件語句否定分支(與 if 連用)
long :聲明長整型變量或函數(shù)
switch :用于開關(guān)語句
case:開關(guān)語句分支
enum :聲明枚舉類型
register:聲明積存器變量
typedef:用以給數(shù)據(jù)類型取別名(當(dāng)然還有其他作用)
char :聲明字符型變量或函數(shù)
extern:聲明變量是在其他文件正聲明(也可以看做是引用變量)
return :子程序返回語句(可以帶參數(shù),也看不帶參數(shù))
union:聲明聯(lián)合數(shù)據(jù)類型
const :聲明只讀變量
float:聲明浮點(diǎn)型變量或函數(shù)
short :聲明短整型變量或函數(shù)
unsigned:聲明無符號類型變量或函數(shù)
continue:結(jié)束當(dāng)前循環(huán),開始下一輪循環(huán)
for:一種循環(huán)語句(可意會(huì)不可言傳)
signed:生命有符號類型變量或函數(shù)
void :聲明函數(shù)無返回值或無參數(shù),聲明無類型指針(基本上就這三個(gè)作用)
default:開關(guān)語句中的“其他”分支
goto:無條件跳轉(zhuǎn)語句
sizeof:計(jì)算數(shù)據(jù)類型長度
volatile:說明變量在程序執(zhí)行中可被隱含地改變
do :循環(huán)語句的循環(huán)體
while :循環(huán)語句的循環(huán)條件
static :聲明靜態(tài)變量
if:條件語句
函數(shù)定義的格式為
return_type func_name(var_list)
{
func_body;
}
要素包括:
1 return_type:
函數(shù)返回值。
如不需要返回值,需要寫作void。
如果不寫return_type,默認(rèn)返回值為int。
2 func_name:
函數(shù)名。該項(xiàng)必須有。
3 (var_list):
括號必須有。內(nèi)部var_list為函數(shù)參數(shù)列表??梢允÷?。
當(dāng)不需要參數(shù)時(shí),寫作void。
注意,省略var_list時(shí),表示不定參數(shù),而不是無參數(shù)。
4 {func_body;}
{}必須存在。
func_body為實(shí)現(xiàn)函數(shù)功能的實(shí)際語句。
int My (int a,int b)
{
int c;
c = a*b;
return c;
}
這是一個(gè)函數(shù),My=函數(shù)名稱。每個(gè)函數(shù)必須有一個(gè)函數(shù)名稱。這個(gè)名稱可以在其它函數(shù)中調(diào)用。
My前面有一個(gè)int,這個(gè)叫做函數(shù)的返回類型。也就是這個(gè)函數(shù)執(zhí)行完成后,要返回一個(gè)數(shù)值。
My的后面有兩個(gè)int,這個(gè)是函數(shù)的輸入?yún)?shù)。一個(gè)是被乘數(shù)a,一個(gè)是乘數(shù)b。所以這個(gè)函數(shù)的功能是計(jì)算a*b,并返回計(jì)算機(jī)的結(jié)果。這個(gè)就仿佛計(jì)算器中的乘法運(yùn)算。
上面這個(gè)函數(shù)還可以寫成很多的形式。
void My(int a,intb)
void My(void)
void My(int *a,int *b)
void My(int a,int b)
void *My(int a,int b)
int *My(int a,int b)
int My(void)
可能還有其他的形式,這個(gè)就需要根據(jù)自己的要求編寫。
#include iostream
#include conio.h
#include dos.h
using namespace std;
int My (int a,int b)
{
int c;
c = a*b;
return c;
}
void main()
{
int m;
cout" ok"endl;
m = My(3,4);
printf("%d ",m);
getch();
}
上面的程序代碼在BCB6中測試通過。可以不斷的修改函數(shù),以理解測試各種類型的函數(shù)。
當(dāng)前題目:c語言函數(shù)的定義條件 c語言函數(shù)的定義條件是什么
標(biāo)題URL:http://chinadenli.net/article14/ddeejge.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站制作、微信公眾號、自適應(yīng)網(wǎng)站、標(biāo)簽優(yōu)化、網(wǎng)站設(shè)計(jì)、定制網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)