作者前言
????????????????????????????????
? ? ? ? ?????????個人主頁::小小頁面
?????????????????gitee頁面:秦大大
? ? ? ? ? ? ? ??一個愛分享的小博主?歡迎小可愛們前來借鑒
__________________________________________________________
? 目錄
????????1.函數(shù)是什么
????????2. 庫函數(shù)
????????3. 自定義函數(shù)
????????4. 函數(shù)參數(shù)
????????5. 函數(shù)調(diào)用
????????6. 函數(shù)的嵌套調(diào)用和鏈?zhǔn)皆L問
????????7. 函數(shù)的聲明和定義
????????8. 函數(shù)遞歸
_____________________________________________________
插播小知識
1. c99標(biāo)準(zhǔn)中,加入了變長數(shù)組的概念,數(shù)組的大小允許使用變量來指定,但是數(shù)組的大小一旦確定后,是不能再變化,變長數(shù)組不能初始化,VS環(huán)境不支持變長數(shù)組
2.define、#include 等不是關(guān)鍵字,是預(yù)處理指令
3.指針是地址,但是我們平時說p是指針,p是指針變量,所以我們的口頭語的指針指的是指針變量
4. 求平均值的方法
方法1: (a+b)/2 (不建議寫這個)
方法二:
只需把多出的部分進行平分,就行了
a+(b-a)/2
函數(shù)是什么?
就拿數(shù)學(xué)來講,數(shù)學(xué)函數(shù)類似于f(x)=ax+b的形式,而C語言的函數(shù)就是類似于這樣的,只不過
C語言的不僅僅有ax+b還有很多的內(nèi)容在一起,共同組建成一個f(x),一般會有輸入?yún)?shù)并有返回值,提供對過程的封裝和細節(jié)的隱藏。
C語言中函數(shù)的分類:
1. 庫函數(shù)
2. 自定義函數(shù)
庫函數(shù)
簡單的說庫函數(shù)就是C語言編譯器廠商提供的函數(shù),使用這些庫函數(shù)的前提是要調(diào)用頭文件
,C語言只是起到一個規(guī)定這個函數(shù)怎能使用和創(chuàng)建,如下:
C語言標(biāo)準(zhǔn)規(guī)定:
1.函數(shù)的功能----比如計算字符長度
2.函數(shù)名-------strlen
3.參數(shù)--------strlen(const char* str)
4.返回類型--------isize_t
簡單的總結(jié),C語言常用的庫函數(shù)都有:
有興趣的小可愛可以來這里看看https://cplusplus.com/reference/cctype/
自定義函數(shù)
ret_type fun_name(para1, * )
{
statement;//語句項
}
ret_type 返回類型
fun_name 函數(shù)名
para1 ? ?函數(shù)參數(shù)
上面是函數(shù)的基本組成,簡單就是 函數(shù)名 參數(shù) 函數(shù)體 返回類型
比如創(chuàng)建一個求兩數(shù)最大值的函數(shù)定義
#include<stdio.h>
//int compare(int a, int b)
//{
// return (a > b ? a : b);
//}
int* compare(int* a, int* b)
{
return (*a > *b ? a : b);
}
int main()
{
int a = 1;
int b = 6;
compare(&a, &b);
printf("%d", *compare(&a, &b));
return 0;
}
?當(dāng)我們運行出來可以看出,使用第一種定義函數(shù),沒有改變nunm1和num2的值,這是因為將實參傳遞給形參,形參其實是實參的一種臨時拷貝,對形參的修改,不會改變實參
?第二種方法是通過操作地址來實現(xiàn)的,
.函數(shù)的參數(shù)
實際參數(shù)(實參)
簡單的說就是傳入值后的參數(shù),如上圖的&num1就是實參,(有真正的值),可以理解為調(diào)用函數(shù)后的參數(shù)變成了實參
實參可以是:常量、變量、表達式、函數(shù)等。
形式參數(shù)(形參)
形式參數(shù)是指函數(shù)名后括號中的變量,因為形式參數(shù)只有在函數(shù)被調(diào)用的過程中才實例化,
函數(shù)的調(diào)用:
#include<stdio.h>
#include<math.h>
int is_prime(int i)
{
int j = 0;
for (j = 2; j <= sqrt(i); j++)
{
if (i % j == 0)
{
return 0;
}
}
return 1;
}
int main()
{
int i = 0;
for (i = 101; i <= 200; i += 2)
{
int a = is_prime(i);
if (a)
{
printf("%d ", i);
}
}
return 0;
}
函數(shù)的嵌套調(diào)用和鏈?zhǔn)皆L問
嵌套調(diào)用
簡單的說就是函數(shù)里面有函數(shù)調(diào)用,注意一下,函數(shù)定義不能在函數(shù)內(nèi)部定義
文章來源:http://www.zghlxwxcb.cn/news/detail-601922.html

總結(jié):
C語言的函數(shù)先介紹到這里,后面還會有后續(xù)文章來源地址http://www.zghlxwxcb.cn/news/detail-601922.html
到了這里,關(guān)于C語言第七課----------函數(shù)的定義及使用--------C語言重要一筆的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!