欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C語言超全面講解函數(shù)的使用方法上

 更新時間:2022年04月22日 16:34:05   作者:馬桶上看算法  
函數(shù)是一組一起執(zhí)行一個任務(wù)的語句。每個?C?程序都至少有一個函數(shù),即主函數(shù)?main()?,所有簡單的程序都可以定義其他額外的函數(shù),由于篇幅過大,分為兩篇講解,下面開始上篇

C語言超全面講解函數(shù)的使用方法下

一、函數(shù)的分類

1.庫函數(shù)

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

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

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

2.自定義函數(shù)

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

??注意:這個函數(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;
}

  

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;
}

三、函數(shù)的聲明

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

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

函數(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) 。

定義是一種更強(qiáng)有力的聲明

#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ù)是形參

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

函數(shù)調(diào)用部分的參數(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)//整除進(jìn)入語句
		{
			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就進(jìn)入語句
		{
			//打印的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整除就進(jìn)入語句
    {
        return 1;//返回1就是返回素數(shù)
    }
    else if (n % 400 == 0)//如果能被400整除就進(jìn)入語句
    {
        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就進(jìn)入語句
        {
            printf("%d ", i);//打印i就是打印閏年
            count++;//閏年的個數(shù)++
        }
    }
    printf("\ncount = %d\n", count);
    return 0;
}

碼字不易,還請多多點贊支持呀!

有了你們的的點贊和關(guān)注我將會寫出更加優(yōu)秀的文章。

到此這篇關(guān)于C語言超全面講解函數(shù)的使用方法的文章就介紹到這了,更多相關(guān)C語言函數(shù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • C語言中多維數(shù)組的內(nèi)存分配和釋放(malloc與free)的方法

    C語言中多維數(shù)組的內(nèi)存分配和釋放(malloc與free)的方法

    寫代碼的時候會碰到多維數(shù)組的內(nèi)存分配和釋放問題,在分配和釋放過程中很容易出現(xiàn)錯誤。下面貼上一些示例代碼,以供參考。
    2013-05-05
  • QString的常用方法(小結(jié))

    QString的常用方法(小結(jié))

    這篇文章主要介紹了QString的常用方法(小結(jié)),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • Qt實現(xiàn)http服務(wù)的示例代碼

    Qt實現(xiàn)http服務(wù)的示例代碼

    這篇文章將為大家詳細(xì)講解有關(guān)Qt如何實現(xiàn)http服務(wù),小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲
    2023-04-04
  • C++改變編程入口為main函數(shù)

    C++改變編程入口為main函數(shù)

    這篇文章主要介紹了C++改變編程入口為main函數(shù)的方法的相關(guān)資料,需要的朋友可以參考下
    2015-06-06
  • C++實現(xiàn)彩色飛機(jī)大戰(zhàn)

    C++實現(xiàn)彩色飛機(jī)大戰(zhàn)

    這篇文章主要為大家詳細(xì)介紹了C++實現(xiàn)彩色飛機(jī)大戰(zhàn),文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-10-10
  • 關(guān)于STL中set容器的一些總結(jié)

    關(guān)于STL中set容器的一些總結(jié)

    關(guān)于set,必須說明的是set關(guān)聯(lián)式容器。set作為一個容器也是用來存儲同一數(shù)據(jù)類型的數(shù)據(jù)類型,并且能從一個數(shù)據(jù)集合中取出數(shù)據(jù),在set中每個元素的值都唯一,而且系統(tǒng)能根據(jù)元素的值自動進(jìn)行排序
    2013-09-09
  • C語言將24小時制轉(zhuǎn)換為12小時制的方法

    C語言將24小時制轉(zhuǎn)換為12小時制的方法

    這篇文章主要介紹了C語言將24小時制轉(zhuǎn)換為12小時制的方法,涉及C語言針對時間的相關(guān)操作技巧,非常簡單實用,需要的朋友可以參考下
    2015-07-07
  • C++中的數(shù)據(jù)對齊示例詳解

    C++中的數(shù)據(jù)對齊示例詳解

    這篇文章主要介紹了C++中數(shù)據(jù)對齊的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • C++中的const限定符的使用和作用

    C++中的const限定符的使用和作用

    C++ 中的 const 限定符用于聲明不可變量,即在變量聲明時指定該變量的值不可修改。它的使用可以幫助程序員避免一些常見的編程錯誤,如誤修改不應(yīng)該被修改的變量的值等
    2023-05-05
  • 利用C++實現(xiàn)一個線程安全的map

    利用C++實現(xiàn)一個線程安全的map

    這篇文章主要為大家詳細(xì)介紹了如何利用C++實現(xiàn)一個線程安全的map(使用ChatCPT生成),代碼是通過兩輪對話完善的,感興趣的小伙伴可以了解一下
    2023-05-05

最新評論