溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

C語言函數(shù)如何使用

發(fā)布時間:2022-04-25 13:07:48 來源:億速云 閱讀:254 作者:iii 欄目:開發(fā)技術(shù)

今天小編給大家分享一下C語言函數(shù)如何使用的相關(guān)知識點,內(nèi)容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。

一、函數(shù)的分類

1.庫函數(shù)

庫函數(shù)是C語言基礎(chǔ)庫為了方便程序員進行軟件開發(fā)而提供了一系列的函數(shù),可以支持可移植性和提高程序的效率。

C語言函數(shù)如何使用

?? 注意:庫函數(shù)需要引頭文件。

例如:strlen函數(shù)的頭文件是<string.h>

2.自定義函數(shù)

自定義函數(shù)和庫函數(shù)一樣,有函數(shù)名、返回值類型和函數(shù)參數(shù)。但是不一樣的是,這些都是我們自己來設(shè)計,這給程序員一個很大的發(fā)揮空間 

C語言函數(shù)如何使用

??注意:這個函數(shù)是在庫函數(shù)之外的,是不需要引頭文件的。

3.庫函數(shù)的分類

  • IO函數(shù) : printf 、scanf 、getchar、putchar

  •  字符串操作函數(shù) :strcmp、strlen

  • 字符操作函數(shù):toupper

  •  內(nèi)存操作函數(shù):memcpy、memcmp、memcet

  • 時間/日期函數(shù):time

  • 數(shù)學(xué)函數(shù):sqrt、pow

  • 其他庫函數(shù)

二、函數(shù)調(diào)用

1.傳值調(diào)用

函數(shù)的形參和實參分別占有不同的內(nèi)存塊,對形參的修改不會影響實參

#include<stdio.h>
void swap(int x, int y)
{
	int z = 0;
	z = x;
	x = y;
	y = z;
}
int main()
{
	int a = 10;
	int b = 20;
	printf("交換前=%d %d\n", a, b);
	swap(a, b);
	printf("交換后=%d %d\n", a, b);
	return 0;
}

C語言函數(shù)如何使用  

2.傳址調(diào)用

傳址調(diào)用是把函數(shù)外部創(chuàng)建變量的內(nèi)存地址傳遞地函數(shù)參數(shù)的一種調(diào)用函數(shù)方式。

這種操作可以讓函數(shù)和函數(shù)外邊的變量建立起真正的聯(lián)系,也就是函數(shù)內(nèi)部可以直接操作函數(shù)外部的變量。

定義指針變量,以通過訪問地址的方式來交換a和b的值。

函數(shù)定義部分的參數(shù)接收到的是變量a和變量b的地址,并通過地址來改變他們兩個的值。

#include<stdio.h>
void swap(int * pa, int * pb )
{
	int z = 0;
	z = *pa;
	*pa = *pb;
	*pb = z;
}
int main()
{
	int a = 10;
	int b = 20;
	printf("交換前=%d %d\n", a, b);
	swap(&a, &b);
	printf("交換后=%d %d\n", a, b);
	return 0;
}

C語言函數(shù)如何使用

三、函數(shù)的聲明

告訴編譯器有一個函數(shù),參數(shù)是什么?返回類型什么?但是具體是不是存在無關(guān)緊要。

函數(shù)的聲明一般出現(xiàn)在函數(shù)的使用之前,要滿足先聲明后使用。

函數(shù)的聲明一般要放在頭文件中。 

C語言函數(shù)如何使用

對函數(shù)聲明 

#include<stdio.h>
int main()
{
    int a = 10;
    int b = 20;
    //函數(shù)的聲明 - 告知
    int Add(int, int);
    int c = Add(a, b);
    printf("%d\n", c);
    return 0;
}
//函數(shù)的定義
int Add(int x, int y)
{
    return x + y;
}

四、函數(shù)定義 

函數(shù)的定義是指函數(shù)的具體實現(xiàn),交代函數(shù)的功能實現(xiàn) 。

定義是一種更強有力的聲明

C語言函數(shù)如何使用

#include<stdio.h>
int add(int a, int b)//函數(shù)定義
{
	return a + b;//返回a + b的值
}
int main()
{
	int a = 0;
	int b = 0;
	scanf("%d %d", &a, &b);
	int c = add(a, b);//函數(shù)調(diào)用 - 計算a + b的值
	printf("%d\n", c);
	return 0;
}

五、函數(shù)的參數(shù)

1.形式參數(shù)(形參)

函數(shù)定義部分的參數(shù)是形參

C語言函數(shù)如何使用

2.實際參數(shù)(實參)

函數(shù)調(diào)用部分的參數(shù)是實參

C語言函數(shù)如何使用

六、函數(shù)的練習(xí)

1.用函數(shù)求兩個整數(shù)的較大值

難易程度:?

#include<stdio.h>
//求最大值 - 函數(shù)定義 - 傳參
int get_max(int score_one, int score_two)//函數(shù)形參
{
	//如果score_one大于score_two就返回一個score_one的值
	//否則就返回score_two的值
	//返回的值即為最大值
	return score_one > score_two ? score_one : score_two;
}
int main()
{
	int score_one = 0;
	int score_two = 0;
	scanf("%d %d", &score_one, &score_two);
	//求最大值函數(shù) - 調(diào)用 - 并傳參
	int max = get_max(score_one, score_two);//函數(shù)實參
	printf("max=%d\n", max);
	return 0;
}

2.用函數(shù)打印100~200之間的素數(shù)

難易程度:??

素數(shù)又叫質(zhì)數(shù),質(zhì)數(shù)是指在大于1的自然數(shù)中,除了1和它本身以外,不能被其他自然數(shù)整除的數(shù)。

#include<stdio.h>
int is_prime(int i)
{
	int j = 0;
	for (j = 2; j < i; j++)//產(chǎn)生除了1和它本身的自然數(shù)
	{
		//拿i試除除了1和它本身的自然數(shù)
		if (i % j == 0)//整除進入語句
		{
			return 0;//返回0
		}
	}
	//i與所有除了1和它本身的自然數(shù)試除之后,返回的值就是素數(shù)
	return 1;//返回1,就是返回素數(shù)的值
}
int main()
{
	int i = 0;
	int count = 0;//統(tǒng)計素數(shù)的個數(shù)
	for (i = 100; i <= 200; i++)//產(chǎn)生100-200之間的數(shù)字
	{
		if (is_prime(i) == 1)//如果返回值等于1就進入語句
		{
			//打印的i就是素數(shù)
			printf("%d ", i);
			count++;//每一次打印i,count++
		}
	}
	printf("\ncount = %d\n", count);
	return 0;
}

3.用函數(shù)打印1000~2000之間的閏年

?? 注意   

  • 能被4整除,并且不能被100整除

  • 能被400整除

難易程度:??

#include<stdio.h>
int is_leap_year(int n)//打印1000-2000素數(shù)的實現(xiàn)
{
    if (n % 4 == 0 && n % 100 != 0)//如果能被4整除,并且不能被100整除就進入語句
    {
        return 1;//返回1就是返回素數(shù)
    }
    else if (n % 400 == 0)//如果能被400整除就進入語句
    {
        return 1;//返回1就是返回素數(shù)
    }
    else
    {
        return 0;//返回0就不是素數(shù)
    }
}
int main()
{
    int i;
    int count = 0;//統(tǒng)計閏年的個數(shù)
    for (i = 1000; i <= 2000; i++)//產(chǎn)生1000-2000之間的數(shù)
    {
        if (is_leap_year(i) == 1)//如果返回的值等于1就進入語句
        {
            printf("%d ", i);//打印i就是打印閏年
            count++;//閏年的個數(shù)++
        }
    }
    printf("\ncount = %d\n", count);
    return 0;
}

以上就是“C語言函數(shù)如何使用”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學(xué)習(xí)更多的知識,請關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI