97色伦色在线综合视频,无玛专区,18videosex性欧美黑色,日韩黄色电影免费在线观看,国产精品伦理一区二区三区,在线视频欧美日韩,亚洲欧美在线中文字幕不卡

建筑招工網站網站服務器 優(yōu)幫云

鶴壁市浩天電氣有限公司 2026/01/24 10:41:30
建筑招工網站,網站服務器 優(yōu)幫云,備案的網站程序上傳,微信公眾號怎么做預約功能一.函數(shù) 函數(shù)的本質 在C語言當中#xff0c;我們可以把函數(shù)當做一個任務或者一個功能。 C語言中函數(shù)也是一樣的#xff0c;給一個參數(shù)#xff0c;最終經過一系列步驟#xff0c;得到一個結果。整個過程其實…一.函數(shù)函數(shù)的本質在C語言當中我們可以把函數(shù)當做一個任務或者一個功能。C語言中函數(shù)也是一樣的給一個參數(shù)最終經過一系列步驟得到一個結果。整個過程其實就是在完成一個任務或者特定的功能。1. 函數(shù)分類C語言中的函數(shù)大致分為2類庫函數(shù)自定義函數(shù)2. 庫函數(shù)2.1 標準庫和頭文件2.1 標準庫和頭文件標準庫的概念C 標準庫C Standard Library包含了一組頭文件這些頭文件提供了許多函數(shù)和宏用于處理輸入輸出、字符串操作、數(shù)學計算、內存管理等常見編程任務。C語言標準給出了一系列函數(shù)的實現(xiàn)這些函數(shù)就被稱為庫函數(shù)。我們前面內容中學到的printf、scanf都是庫函數(shù)庫函數(shù)也是函數(shù)不過這些函數(shù)已經是現(xiàn)成的我們只要學會就能直接使用了。有了庫函數(shù)一些常見的功能就不需要程序員自己實現(xiàn)了一定程度提升了效率同時庫函數(shù)的質量和執(zhí)行效率上都更有保證。各種編譯器的標準庫中提供了一系列的庫函數(shù)這些庫函數(shù)根據(jù)功能的劃分都在不同的頭文件中進行了聲明。庫函數(shù)相關頭文件https://zh.cppreference.com/w/c/header有數(shù)學相關的有字符串相關的有日期相關的等每一個頭文件中都包含了相關的函數(shù)和類型等信息庫函數(shù)的學習不用著急一次性全部學會慢慢學習各個擊破就行。2.2 庫函數(shù)的使用方法庫函數(shù)的學習和查看工具很多比如C官方的鏈接https://zh.cppreference.com/w/c/headercplusplus.comhttps://legacy.cplusplus.com/reference/clibrary/h舉例sqrt2.2.1 功能Compute square root (計算平方根)。Returns the square root of x. (返回x的平方根)。2.2.2 頭文件包含庫函數(shù)是在標準庫中對應的頭文件中聲明的所以庫函數(shù)的使用務必包含對應的頭文件不包含是可能會出現(xiàn)一些問題的。sqrt函數(shù)需要包含頭文件math.h。2.2.3 實踐3. 自定義函數(shù)自定義函數(shù)的必要性庫函數(shù)再多都不能滿足程序員的特殊需求。這時候我們就得自己定義函數(shù)。3.1 函數(shù)的語法形式其實自定義函數(shù)和庫函數(shù)是一樣的形式如下函數(shù)語法格式ret_type fun_name(形式參數(shù)){// 函數(shù)體}ret_type是函數(shù)返回類型fun_name是函數(shù)名括號中放的是形式參數(shù){}括起來的是函數(shù)體3.2 函數(shù)定義1. 寫一個函數(shù)求2個整數(shù)的和2. 寫一個函數(shù)求n的階乘函數(shù)的名字最好見名思意不要花里胡哨。return的是結果同時也表示函數(shù)的結束。3.3 函數(shù)調用·上述只是函數(shù)的定義并不能被調用。我們以在main函數(shù)調用來進行舉例。示例1#includestdio.h int add(int a, int b) { return a b; } int main() { int x 1; int y 2; //此處就是進行函數(shù)的調用 int ret add(x,y); printf(%d ,ret); return 0; }函數(shù)調用需要使用函數(shù)名(參數(shù)列表)的方式進行調用。函數(shù)調用過程當中參數(shù)的個數(shù)、數(shù)據(jù)類型、順序均要匹配。函數(shù)調用過程當中返回值類型要匹配。3.4 函數(shù)聲明上述函數(shù)調用修改如下方式把函數(shù)的定義放在main函數(shù)之后。重新編譯程序編譯警告warning C4013: fac未定義假設外部返回 int原因C語言在編譯的時候是自頂向下進行編譯的。在編譯到fac的時候編譯器并沒有看到fac函數(shù)的定義所以就會出現(xiàn)警告。解決方案函數(shù)聲明解決辦法就是在main函數(shù)之前進行聲明提前告知程序函數(shù)是存在的。建議我們一般建議把main函數(shù)寫到最后因為只要多一步操作就有一次錯誤的風險4. 實參和形參4.1 實參實參的定義實參即實際參數(shù)是在調用函數(shù)時傳遞給函數(shù)的真實值。它可以是常量、變量、表達式或函數(shù)返回值。在上述代碼的 main 函數(shù)中調用 fac(a) 時的變量 a 就是實參。4.2 形參形參的定義形參即形式參數(shù)是在定義函數(shù)時函數(shù)名后面括號中的變量。它作為函數(shù)內部的局部變量用于接收調用時傳入的實參值。在 int fac(int n)的函數(shù)定義中變量 n 就是形參。4.3 實參和形參的關系參數(shù)傳遞機制值傳遞在目前的知識儲備之下我們可以理解為形參和實參是2個不同的內存空間。函數(shù)調用時實參把值傳遞給了形參形參是實參的一份臨時拷貝。這個現(xiàn)象是可以通過調試來觀察的。請看下面的代碼和調試演示:驗證示例嘗試交換2個數(shù)重要提示因為形參只是實參的拷貝所以在函數(shù)內部修改形參的值無法影響到main函數(shù)中的實參。要解決這個問題我們得引入指針這個問題我們將在指針章節(jié)解決。5. 數(shù)組做函數(shù)參數(shù)在使用函數(shù)解決問題的時候難免會將數(shù)組作為參數(shù)傳遞給函數(shù)在函數(shù)內部對數(shù)組進行操作。比如寫一個函數(shù)將一個整型數(shù)組的內容全部置為-1再寫一個函數(shù)打印數(shù)組的內容。簡單思考一下基本的形式應該是這樣的改進后的main函數(shù)調用如下數(shù)組作為參數(shù)傳遞給了set_arr和print_arr函數(shù)了那這兩個函數(shù)應該如何設計呢6. 嵌套調用和鏈式訪問6.1 嵌套調用示例求數(shù)字n的階乘和如5!的和為 1! 2! 3! 4! 5!1. 計算單個數(shù)字階乘的函數(shù)2. 計算階乘和的函數(shù)6.2 鏈式訪問所謂鏈式訪問就是將一個函數(shù)的返回值作為另外一個函數(shù)的參數(shù)像鏈條一樣將函數(shù)串起來進行調用。這種方式可以使代碼更緊湊。示例求n的階乘的平方7. static 和 externstatic和extern都是C語言中的關鍵字。static (靜態(tài)的)修飾局部變量修飾全局變量修飾函數(shù)extern (外部的)extern用于聲明一個在其他源文件中定義的全局變量或函數(shù)。前置知識作用域與生命周期作用域是程序設計概念通常來說一段程序代碼中所用到的名字并不總是有效可用的而限定這個名字的可用性的代碼范圍就是這個名字的作用域。局部變量的作用域變量所在的局部范圍如函數(shù)內部。全局變量的作用域整個工程項目。生命周期指的是變量的創(chuàng)建(申請內存)到變量的銷毀(收回內存)之間的一個時間段。局部變量的生命周期進入作用域變量創(chuàng)建生命周期開始出作用域生命周期結束。全局變量的生命周期與整個程序的生命周期相同。7.1 static 的用法7.1.1 static 修飾局部變量對比下面兩段代碼的效果可以理解static修飾局部變量的意義。對比代碼1和代碼2的效果理解static修飾局部變量的意義。代碼1的test函數(shù)中的局部變量i是每次進入test函數(shù)先創(chuàng)建變量生命周期開始并賦值為0然后再打印出函數(shù)的時候變量生命周期將要結束釋放內存。代碼2中我們從輸出結果來看i的值有累加的效果其實 test函數(shù)中的i創(chuàng)建好后出函數(shù)的時候是不會銷毀的重新進入函數(shù)也就不會重新創(chuàng)建變量直接上次累積的數(shù)值繼續(xù)計算。結論結論static修飾局部變量改變了變量的生命周期生命周期改變的本質是改變了變量的存儲類型本來一個局部變量是存儲在內存的棧區(qū)的但是被static修飾后存儲到了靜態(tài)區(qū)。存儲在靜態(tài)區(qū)的變量和全局變量是一樣的生命周期就和程序的生命周期一樣了只有程序結束變量才銷毀內存才回收。但是作用域不變的。使用建議未來一個變量出了函數(shù)后我們還想保留值等下次進入函數(shù)繼續(xù)使用就可以使用static修飾。7.1.2 static 修飾全局變量extern是用來聲明外部符號的如果一個全局的符號在A文件中定義的在B文件中想使用就可以使用extern進行聲明然后使用。代碼1正常代碼2在編譯的時候會出現(xiàn)鏈接性錯誤。結論一個全局變量被static修飾使得這個全局變量只能在本源文件內使用不能在其他源文件內使用。 本質原因是全局變量默認是具有外部鏈接屬性的在外部的文件中想使用只要適當?shù)穆暶骶涂梢允褂玫侨肿兞勘籹tatic修飾之后外部鏈接屬性就變成了內部鏈接屬性只能在自己所在的源文件內部使用了其他源文件即使聲明了也是無法正常使用的。使用建議如果一個全局變量只想在它所在的源文件內部使用不想被其他文件意外地訪問或修改就可以使用static修飾。8. 多文件下的代碼書寫在公司日常開發(fā)過程當中我們經常會涉及多文件下的代碼書寫項目代碼不可能只放在一個.c文件中。新建fac.c文件把階乘代碼放進去。按照上述方法可以通過extern關鍵字進行聲明。那如果fac.c中再有一個函數(shù)呢決方案使用頭文件為了解決多個extern聲明帶來的管理問題我們可以使用頭文件.h文件來統(tǒng)一管理所有外部函數(shù)的聲明。定義fac.h(頭文件)定義fac.c(源文件)test.c實現(xiàn)方式這樣就解決了多個extern帶來的問題。問題使用尖括號引入頭文件和使用雙引號引入頭文件的區(qū)別是什么主要區(qū)別在于編譯器搜索頭文件的路徑和順序不同使用雙引號時編譯器會按照以下順序查找頭文件當前目錄首先在包含此#include指令的源文件所在的目錄中查找。系統(tǒng)目錄如果在當前目錄中沒有找到該文件編譯器會接著到系統(tǒng)指定的標準包含目錄中查找這個過程和使用尖括號一樣。使用場景通常用于包含項目自定義的頭文件。因為這些頭文件通常與源文件存放在同一個項目目錄或其子目錄中。使用尖括號時編譯器只會在系統(tǒng)指定的標準包含目錄中查找頭文件。 它不會在源文件所在的當前目錄中查找。這些標準目錄通常包括1. 編譯器安裝時自帶的頭文件目錄例如 /usr/include。2. Windows上安裝的目錄比如我們可以找到stdio.h的所在的目錄。(具體方法可以右鍵代碼中的stdio.h打開該文件從而打開文件所在目錄)3.使用場景通常用于包含C標準庫頭文件或外部庫的頭文件。
版權聲明: 本文來自互聯(lián)網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若內容造成侵權/違法違規(guī)/事實不符,請聯(lián)系我們進行投訴反饋,一經查實,立即刪除!

怎么用wordpress搭建網站南寧網站推廣系統(tǒng)

怎么用wordpress搭建網站,南寧網站推廣系統(tǒng),建立網站站點的過程中正確的是,網站關鍵字工具從協(xié)議到代碼#xff1a;如何讓ESP32-S2變身即插即用的USB攝像頭你有沒有想過#xff0c;一塊

2026/01/22 21:44:01

aspcms網站使用教程建站模板更改

aspcms網站使用教程,建站模板更改,客戶管理軟件免費版哪個好用,wordpress商城微信支付寶NVIDIA顯卡高級配置實戰(zhàn)指南#xff1a;深度解鎖驅動隱藏潛能 【免費下載鏈接】nvidiaPr

2026/01/23 03:05:02

用手機做網站視頻小公司企業(yè)簡介300字

用手機做網站視頻,小公司企業(yè)簡介300字,上海營銷型網站開發(fā),電子報刊的傳播媒體是什么為什么會感覺blazor回到了asp時代#xff1f;我們來看看兩者的相似之處#xff1a;這種感覺主要應該源于

2026/01/23 06:06:01

大瀝網站制作網站建設銷售培訓

大瀝網站制作,網站建設銷售培訓,建筑導航網站,做圖素材網站 千paperxie-免費查重復率aigc檢測/開題報告/畢業(yè)論文/智能排版/文獻綜述/aippt https://www.paperxie

2026/01/22 21:37:02

政務網站建設及安全手機優(yōu)化大師下載2022

政務網站建設及安全,手機優(yōu)化大師下載2022,新手怎樣做網站,中國經濟排名世界第幾FaceFusion能否用于品牌代言#xff1f;明星臉授權安全替換在某國際美妝品牌的最新廣告中#xff0c;一位“似

2026/01/23 09:17:02