課程目標(biāo)
函數(shù)
什么是函數(shù)
函數(shù)的定義
函數(shù)的類型
無(wú)參無(wú)返回值
有參無(wú)返回值
有參有返回值
無(wú)參有返回值
一,函數(shù)
我們之前一直在使用各種各樣的函數(shù),如:printf();scanf();getch();等
其實(shí)函數(shù)就是把一些實(shí)現(xiàn)某一功能的代碼裝一起,起一個(gè)名字方便多次重復(fù)調(diào)用,只不過上面這些函數(shù)是系統(tǒng)自帶的,我們看不到函數(shù)的代碼,下面我們要學(xué)會(huì)自己編寫函數(shù)。
格式如下
返回值類型 函數(shù)名稱(參數(shù)表)
{
語(yǔ)句1;
語(yǔ)句2;
....;
語(yǔ)句n;
return s;
}
說(shuō)明:
函數(shù)名稱,即是函數(shù)下面{}中代碼的一個(gè)總稱,在程序中,直接輸入"函數(shù)名稱()"(即調(diào)用函數(shù))則立即執(zhí)行函數(shù){}中的代碼,函數(shù)不調(diào)用是不執(zhí)行的。
函數(shù)名稱后面的(參數(shù)),是可選的,不填則該函數(shù)叫無(wú)參函數(shù),有值,則是有參函數(shù),一般為了使得函數(shù)根據(jù)不同的信息返回不同的值時(shí),需用有參函數(shù),返回值的語(yǔ)句是"return"
無(wú)參無(wú)返回值函數(shù)
main()
{
printf("********\n");
printf("welcome\n");
printf("**********\n");
}
無(wú)參無(wú)返回值函數(shù)
void aa()
{
printf("**********\n");
printf("aaaaaaaaaa\n");
}
main()
{
aa();
printf("welcome\n");
aa();
}
void為返回值類型,這里是無(wú)參無(wú)返回值函數(shù)不需要寫void
有參無(wú)返回值函數(shù)
void aa(int x)
{
printf("**********%d***********\n",x);
}
main()
{
int a,b,c,d;
scanf("%d%d%d%d",&a,&b,&c,&d);
aa(a); 調(diào)用aa(a),把a(bǔ)的值賦給x
aa(b); 調(diào)用aa(b),把b的值賦給x
aa(c); 調(diào)用aa(c),把c的值賦給x
aa(d); 調(diào)用aa(d),把d的值賦給x
}
有參有返回值函數(shù)
int max(int a,int b)
{
int c;
c=(a>b)?a:b;
return c;
}
main()
{
int x,y,z;
x=3;
y=5;
~~~~~~~~~~~~~~~~~~~~~~~~~~~
main()
{
int a,b,c;
scanf("%d%d",&a,&b);
c=(a>b)?a:b;
printf("ab大的數(shù)是%d",c);
}
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
int max(int x,int y)
{
int z;
z=(x>y)?x:y
return z;
}
main()
{
int a,b,c,d,e,f,g,h,j;
scanf("%d%d%d%d%d%d",&a,&b,&c,&d,&e,&f);
g=max(a,b);
h=max(c,d);
j=max(e,f);
printf("ab大的數(shù)是%d",g,h,j);
}
函數(shù)定義的思路
確定函數(shù)的功能
確定返回值類型
確定參數(shù)個(gè)數(shù)及類型
編寫函數(shù)體內(nèi)的代碼
確定返回值
作業(yè)
根據(jù)半徑求圓的周長(zhǎng)和面積
main()
{
int r;
float s,t;
scanf("%d",&r);
s=2*3.14*r;
t=r*r*3.14;
printf("%f\n",s);
printf("%f\n",t);
}
~~~~~~~~~~~~~~~~~~~~~~~~~~
float zc(int z)
{
float c;
c=2*3.14*z;
return c;
}
float mj(int x)
{
float t1;
t1=3.14*x*x;
return t1;
}
main()
{
int r;
float s,t;
scanf("%d",&r);
s=zc(r);
t=mj(r);
printf("%f\n",s);
printf("%f\n",t);
}
用戶輸入等級(jí),輸出分?jǐn)?shù)
用戶輸入2個(gè)數(shù),求最大的數(shù)
用戶輸入任意2個(gè)數(shù),求2個(gè)數(shù)之間所有數(shù)的和
總結(jié):
C語(yǔ)言基本語(yǔ)法結(jié)構(gòu)
C語(yǔ)言三種程序結(jié)構(gòu)
順序
選擇
if else
swith
循環(huán)
for while
函數(shù)
z=max(x,y);
printf("%d",z);
}