c語言函數(shù)變量講解 c語言函數(shù)定義變量

C語言里面的函數(shù) 變量這些是什么意思呀,我初學(xué)看都看不懂

呃,其實(shí)很多C語言里的問題都是靠慢慢積累下來的,也不是說能說清楚的.

成都創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司,專注網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作、網(wǎng)站營(yíng)銷推廣,域名注冊(cè),虛擬空間,網(wǎng)站托管維護(hù)有關(guān)企業(yè)網(wǎng)站制作方案、改版、費(fèi)用等問題,請(qǐng)聯(lián)系成都創(chuàng)新互聯(lián)。

首先簡(jiǎn)單說下函數(shù),看到C語言里的函數(shù),很容易聯(lián)想到數(shù)學(xué)里的函數(shù).C語言里的函數(shù)和數(shù)學(xué)里的函數(shù)有不同,也有很多相似之處.比如,數(shù)學(xué)中一個(gè)y=sin(),也就是正弦函數(shù).這個(gè)的作用就是用y比上r得出的結(jié)果,那么當(dāng)有sin30度的時(shí)候,也就得到了二分之一.相似的,C語言里的函數(shù)也具備同樣的功能,就是用某一個(gè)庫函數(shù)(相當(dāng)于C語言系統(tǒng)自帶的函數(shù))或者自己寫的函數(shù)來實(shí)現(xiàn)特定的功能.比如寫一個(gè)函數(shù)max(),作用是求出兩個(gè)數(shù)中的最大數(shù).那么當(dāng)你給它1和2兩個(gè)數(shù)值的時(shí)候,它就能運(yùn)算的出來,2比1要大,并且輸出2

對(duì)于變量....常量是固定不會(huì)變的量,比如123456789這9個(gè)數(shù)字都是固定不變的,1就是1,2就是2,不能讓2=3,不能讓9=10.變量就是在運(yùn)行過程中可以發(fā)生改變的量.a是個(gè)變量名,你可以給它任何值,1也行,2也行,1000都行.只要你給a賦值,a的值就會(huì)改變.

C語言函數(shù)變量定義

C語言中變量遵循“先定義后使用”的原則:

1、定義變量的格式:數(shù)據(jù)類型? 變量名;

首先要強(qiáng)調(diào)的一點(diǎn)是:變量的定義是一條語句,每條語句都是以分號(hào)結(jié)尾的。故定義完變量,后面不要漏掉“;”分號(hào)。

在變量定義中,“數(shù)據(jù)類型”表示想要存儲(chǔ)什么類型的數(shù)據(jù)就定義什么類型的變量。

如想要存儲(chǔ)整數(shù)就定義成 int 型;想要存儲(chǔ)小數(shù)就定義成 float 型或 double 型;想要存儲(chǔ)字符就定義成 char 型等等。

“變量名”就是你想給這個(gè)變量起個(gè)什么名字,通常都是用字母、數(shù)字與下劃線組合而成。比如:

“int i;double price;double goods_price2”等等。

就表示定義了一個(gè)整型變量 i、小數(shù)型變量price、goods_price2;

2、變量定義完成后,接下來就是使用變量,為變量賦值。

將一個(gè)值放到一個(gè)變量中,這個(gè)動(dòng)作叫“賦值”。通俗點(diǎn)講,“給變量賦值”意思就是將一個(gè)值傳給一個(gè)變量。

賦值的格式是:

變量名 =? 要賦的值;

它的意思是將=右邊的數(shù)字賦給左邊的變量。比如:

i = 3;

這就表示將 3 賦給了變量 i,此時(shí) i 就等于 3 了。

3、變量的定義和賦值,可以分成兩步寫,也可以將它們合成一步,而且事實(shí)上,在實(shí)際編程中用得最多的也是合二為一的寫法。

形式如下:

數(shù)據(jù)類型? 變量名 = 要賦的值;

比如:int i = 3;

就表示定義了一個(gè)變量 i,并把 3 賦給這個(gè)變量。它與

int i;

i =3;

是等價(jià)的。

在定義變量時(shí)也可以一次性定義多個(gè)變量,比如:

int i, j;

這就表示定義了變量 i 和 j。這里需要強(qiáng)調(diào)的是,當(dāng)同時(shí)定義多個(gè)變量時(shí),變量之間是用逗號(hào)隔開的,千萬別寫成分號(hào)。這是很多新手最容易犯的錯(cuò)誤,即將逗號(hào)和分號(hào)記混了。

同樣也可以在定義多個(gè)變量的同時(shí)給它們賦值:

int i = 3, j = 4;

中間還是用逗號(hào)隔開,最后別忘記輸入分號(hào)。

最后需要注意的是,在較老的 C89/C90 標(biāo)準(zhǔn)(也稱 ANSI C 標(biāo)準(zhǔn))中,變量只能在程序的開頭定義,或者說變量定義的前面不能有其他非聲明或非定義的語句。

擴(kuò)展資料:

在主回答中,提到了變量定義時(shí),變量名通常都是用字母、數(shù)字與下劃線組合而成,但是實(shí)際上,變量名也不是隨便組合的,變量定義需要遵循一定的規(guī)范,否則容易產(chǎn)生歧義,影響整體程序代碼 的可讀性。

所以在定義變量的時(shí)候,要注意以下命名規(guī)范:

(1)、變量名的開頭必須是字母或下劃線,不能是數(shù)字。實(shí)際編程中最常用的是以字母開頭,而以下劃線開頭的變量名是系統(tǒng)專用的。命名應(yīng)當(dāng)直觀且可以拼讀,可望文知意,便于記憶和閱讀。

標(biāo)識(shí)符最好采用英文單詞或其組合,不允許使用拼音。程序中的英文單詞一般不要太復(fù)雜,用詞應(yīng)當(dāng)準(zhǔn)確。

(2)、變量名中的字母是區(qū)分大小寫的。比如 a 和 A 是不同的變量名,num 和 Num 也是不同的變量名。當(dāng)標(biāo)識(shí)符由多個(gè)詞組成時(shí),每個(gè)詞的第一個(gè)字母大寫,其余全部小寫。

比如:? ?int CurrentVal;

這樣的名字看起來比較清晰,遠(yuǎn)比一長(zhǎng)串字符好得多。

(3)、變量名絕對(duì)不可以是C語言關(guān)鍵字,不能有空格。

(4)、變量名的長(zhǎng)度應(yīng)當(dāng)符合“min-length max-information”原則。

C 是一種簡(jiǎn)潔的語言, 命名也應(yīng)該是簡(jiǎn)潔的。例如變量名MaxVal 就比MaxValueUntilOverflow 好用。標(biāo)識(shí)符的長(zhǎng)度一般不要過長(zhǎng),較長(zhǎng)的單詞可通過去掉“元音”形成縮寫。

另外,英文詞盡量不縮寫,特別是非常用專業(yè)名詞,如果有縮寫,在同一系統(tǒng)中對(duì)同一單詞必須使用相同的表示法,并且注明其意思。

C語言變量的定義與使用

變量的存儲(chǔ)類別決定了變量中的數(shù)據(jù)在計(jì)算機(jī)內(nèi)存中的存儲(chǔ)位置。C語言中局部變量存放在動(dòng)態(tài)存儲(chǔ)區(qū),全局變量或者靜態(tài)變量存放在靜態(tài)存儲(chǔ)區(qū)。下面是關(guān)于C語言變量的定義與使用,歡迎參考!

如果要為單片機(jī)控制系統(tǒng)編寫出高質(zhì)量的C語言程序,合理的定義并使用變量是非常重要的。程序是用來處理數(shù)據(jù)的,而變量就是用來存儲(chǔ)數(shù)據(jù)的。每定義一個(gè)變量,編譯器就會(huì)在系統(tǒng)的RAM中分配一個(gè)物理存儲(chǔ)區(qū)域。在單片機(jī)控制系統(tǒng)中,RAM資源是非常有限的,作為單片機(jī)程序員,絕對(duì)不能隨意的定義變量,需要精打細(xì)算合理定義。為了實(shí)現(xiàn)這個(gè)目標(biāo),必須要對(duì)變量的多個(gè)特性有深刻的認(rèn)識(shí)。

變量特性:

第一、變量定義要選擇恰到好處的類型,變量的類型直接決定了它所存儲(chǔ)的數(shù)據(jù)取值范圍,這類似于我們生活中使用的各種容器,選擇合適的變量類型,不但能保證數(shù)據(jù)存儲(chǔ)安全,還能有效的節(jié)約系統(tǒng)資源;

第二、變量的作用范圍必須清楚,C語言最基本的功能單元是函數(shù),在函數(shù)內(nèi)部使用的變量是私有變量,只能在函數(shù)內(nèi)部使用。多個(gè)函數(shù)組成一個(gè)程序的功能模塊,并安置在某一個(gè)C文件中,在這些函數(shù)的頭部定義的變量是靜態(tài)變量(局部變量),這種類型的變量模塊內(nèi)部的函數(shù)都可以訪問。如果在模塊內(nèi)部聲明變量,并在該模塊的頭文件中導(dǎo)出,該類型變量就是全局變量,全局變量在整個(gè)工程中的所有函數(shù)都可以訪問;

第三、變量占用的RAM資源,私有變量是可以釋放的,靜態(tài)變量與全局變量是不可以釋放的。也就是說在程序運(yùn)行的整個(gè)過程中,私有變量占用資源可以供不同的函數(shù)重復(fù)利用,而靜態(tài)變量與全局變量是完全被占用不能重復(fù)利用的;

第四、變量可以存放常數(shù),但因?yàn)閱纹瑱C(jī)RAM資源有限,強(qiáng)烈建議不要用變量存放常量,而是在資源相對(duì)豐富的FlashROM中存放常量;

第五、局部變量與全局變量對(duì)于函數(shù)來說,訪問非常方便,但缺點(diǎn)顯而易見:訪問的函數(shù)越多,數(shù)據(jù)的安全性越低,一旦出現(xiàn)數(shù)據(jù)異常,很難排除問題。所以,請(qǐng)盡量減少局部變量與全局變量的使用;

第六、函數(shù)的型參個(gè)數(shù)盡量減少,這樣型參只會(huì)占用通用寄存器組來完成參數(shù)傳遞工作。如果參數(shù)過多,編譯器可能會(huì)被迫分配占用RAM資源,這樣不但參數(shù)傳遞效率變低,同時(shí)還會(huì)導(dǎo)致RAM資源浪費(fèi);

明確上述變量定義與使用特點(diǎn)后,在編寫程序的時(shí)候,一定要利用好這些特性并結(jié)合程序的特點(diǎn),靈活的使用各種類型、各種作用范圍的變量,使程序在最大限度上得到優(yōu)化,使系統(tǒng)性能提升至最優(yōu)的狀態(tài),才是我們嵌入式開發(fā)者的終極目標(biāo)!

拓展:C語言入門學(xué)習(xí)

什么人需要學(xué)習(xí)C語言?

從51JOB的統(tǒng)計(jì)數(shù)據(jù)來看,選擇C語言人才的企業(yè)多數(shù)以電子工程師、嵌入式工程師、硬件工程師、IOS工程師等為主,學(xué)歷本科以上相關(guān)專業(yè),三年以上工作經(jīng)驗(yàn),且外語水平要求至少四級(jí)以上。既然C語言學(xué)習(xí)者的就業(yè)門檻那么高,為什么還有很多人執(zhí)著的去學(xué)習(xí)C語言呢?總結(jié)而言,無外乎以下幾點(diǎn)原由:

1)C語言不是面向?qū)ο笳Z言。

因?yàn)檫@一點(diǎn),任何學(xué)習(xí)C語言的人必須學(xué)會(huì)用函數(shù)思考問題。當(dāng)你真正的去學(xué)習(xí)一門面向?qū)ο笳Z言時(shí),就會(huì)有C語言的函數(shù)學(xué)習(xí)基礎(chǔ)去對(duì)比。這會(huì)使學(xué)習(xí)面向?qū)ο缶幊谈菀桌斫夂透袠啡ぁ?/p>

2)用C編程就像進(jìn)行智力體操。

你要顧及到每一件事情,而這在很多其他語言中他會(huì)為你處理。你要管理指針,內(nèi)存分配,和內(nèi)存回收。你要明白如何處理串,還有動(dòng)態(tài)數(shù)據(jù)。在其他語言中,所有這些對(duì)你來說是隱藏的。你不知道他們?nèi)绾芜\(yùn)行,更不用說改變他們的運(yùn)行方式了。你得到了使用的便利,失卻了對(duì)程序的控制和速度。很多情況下,這是筆值得的買賣。其他的情況下就不是這樣了。

3)不同情況下你會(huì)使用不同的編程語言。

某些情況下要求使用Lisp,其他的要Java,還有別的要C++。但是C是你堅(jiān)實(shí)的基礎(chǔ)。你可能不會(huì)使用它做一些項(xiàng)目,但是它會(huì)幫助提高你的能力,熟練的用其他語言編程。

4)除了匯編語言之外,C代碼生成的程序比其他任何語言生成的程序來得更小和運(yùn)行更快。

那么為什么不學(xué)匯編語言呢?匯編是一門學(xué)了很有用的.語言,但是它沒有C那樣的可移植性,并且其他流行的語言比如JAVA的語法是基于C的,而不是匯編。你仍然應(yīng)該學(xué)匯編,但它并不會(huì)證明它會(huì)像學(xué)C那樣有用。

5)如果你想要寫一個(gè)視頻游戲引擎或操作系統(tǒng),你會(huì)需要C。

你不能使用C#, Java, 或 Basic來完成這些編程任務(wù)。

C語言的發(fā)展史:

C語言是一種計(jì)算機(jī)程序設(shè)計(jì)語言,它既具有高級(jí)語言的特點(diǎn),又具有匯編語言的特點(diǎn)。它由美國(guó)貝爾研究所的D.M.Ritchie于1972年推出,1978年后,C語言已先后被移植到大、中、小及微型機(jī)上,它可以作為工作系統(tǒng)設(shè)計(jì)語言,編寫系統(tǒng)應(yīng)用程序,也可以作為應(yīng)用程序設(shè)計(jì)語言,編寫不依賴計(jì)算機(jī)硬件的應(yīng)用程序。它的應(yīng)用范圍廣泛,具備很強(qiáng)的數(shù)據(jù)處理能力,不僅僅是在軟件開發(fā)上,而且各類科研都需要用到C語言,適于編寫系統(tǒng)軟件,三維,二維圖形和動(dòng)畫,具體應(yīng)用比如單片機(jī)以及嵌入式系統(tǒng)開發(fā)。

我適合學(xué)習(xí)C語言嗎?

首先我們要認(rèn)清一個(gè)事實(shí):C語言工作者只是眾多從事軟件開發(fā)者中的一小部分,在深圳這樣一個(gè)IT企業(yè)云集的大城市,使用其它語言從事軟件開發(fā)的工作者多如牛毛,薪資待遇不比從事C語言開發(fā)的人低,當(dāng)編程愛好者在選擇第一個(gè)編程語言時(shí),C語言不一定是首先。我適合學(xué)習(xí)C語言嗎?解決這個(gè)問題,先回答以下幾個(gè)問題:

1)你學(xué)習(xí)C語言的目的是什么?如果是想從事這方面的工作,那么請(qǐng)義無反顧的堅(jiān)持下去,推薦你在《微機(jī)原理》、《計(jì)算機(jī)組成原理》和《計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)》三本書中選一本配合《C語言程序設(shè)計(jì)》來看,這樣可以融匯貫通,讓你對(duì)編程有更深入更系統(tǒng)化的理解。而這種理解對(duì)計(jì)算機(jī)類學(xué)科的學(xué)習(xí)來說很重要。

2)您具備學(xué)習(xí)C語言的條件嗎?由于入職C語言編程的企業(yè)對(duì)入職者的要求比較高,在沒有編程工作經(jīng)驗(yàn)前提下多數(shù)想通過自學(xué)進(jìn)入類似企業(yè)的人幾乎為零,包括很多計(jì)算機(jī)專業(yè)畢業(yè)的大、中專畢業(yè)生在校期間都會(huì)學(xué)到C語言,畢業(yè)出來后依然云里霧里。C語言的開發(fā),需要在實(shí)際工作中才能快速掌握。同時(shí),英語(從事C語言開發(fā)需要經(jīng)常查閱英文資料,尤其是單片機(jī)領(lǐng)域)、學(xué)歷、數(shù)學(xué)算法、極強(qiáng)的邏輯思維能力等等也是讓多數(shù)人望而卻步的門檻。

分享文章:c語言函數(shù)變量講解 c語言函數(shù)定義變量
網(wǎng)頁地址:http://muchs.cn/article14/hjcsge.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供ChatGPT標(biāo)簽優(yōu)化、響應(yīng)式網(wǎng)站、網(wǎng)站制作網(wǎng)站排名、網(wǎng)站改版

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)