當(dāng)前位置:首頁(yè) > 公眾號(hào)精選 > 嵌入式微處理器
[導(dǎo)讀]c語(yǔ)言入門(mén)C語(yǔ)言一經(jīng)出現(xiàn)就以其功能豐富、表達(dá)能力強(qiáng)、靈活方便、應(yīng)用面廣等特點(diǎn)迅速在全世界普及和推廣。C語(yǔ)言不但執(zhí)行效率高而且可移植性好,可以用來(lái)開(kāi)發(fā)應(yīng)用軟件、驅(qū)動(dòng)、操作系統(tǒng)等。C語(yǔ)言也是其它眾多高級(jí)語(yǔ)言的鼻祖語(yǔ)言,所以說(shuō)學(xué)習(xí)C語(yǔ)言是進(jìn)入編程世界的必修課。hello,world#i...

c語(yǔ)言入門(mén)

C語(yǔ)言一經(jīng)出現(xiàn)就以其功能豐富、表達(dá)能力強(qiáng)、靈活方便、應(yīng)用面廣等特點(diǎn)迅速在全世界普及和推廣。C語(yǔ)言不但執(zhí)行效率高而且可移植性好,可以用來(lái)開(kāi)發(fā)應(yīng)用軟件、驅(qū)動(dòng)、操作系統(tǒng)等。C語(yǔ)言也是其它眾多高級(jí)語(yǔ)言的鼻祖語(yǔ)言,所以說(shuō)學(xué)習(xí)C語(yǔ)言是進(jìn)入編程世界的必修課。

hello,world


#include?
int?main()
{
????/*在雙引號(hào)中間輸入Hello?World*/?
????printf("Hello?World");
????return?0;?
}

注:在最新的C標(biāo)準(zhǔn)中,main函數(shù)前的類(lèi)型為int而不是void

c語(yǔ)言的具體結(jié)構(gòu)

簡(jiǎn)單來(lái)說(shuō),一個(gè)C程序就是由若干頭文件函數(shù)組成。#include 就是一條預(yù)處理命令, 它的作用是通知C語(yǔ)言編譯系統(tǒng)在對(duì)C程序進(jìn)行正式編譯之前需做一些預(yù)處理工作。
  • 函數(shù)就是實(shí)現(xiàn)代碼邏輯的一個(gè)小的單元

必不可少之主函數(shù)

一個(gè)C程序有且只有一個(gè)主函數(shù),即main函數(shù)。C程序就是執(zhí)行主函數(shù)里的代碼,也可以說(shuō)這個(gè)主函數(shù)就是C語(yǔ)言中的唯一入口。
  • main前面的int就是主函數(shù)的類(lèi)型.
  • printf()格式輸出函數(shù),這里就記住它的功能就是在屏幕上輸出指定的信息
  • return是函數(shù)的返回值,根據(jù)函數(shù)類(lèi)型的不同,返回的值也是不同的。
  • \n是轉(zhuǎn)義字符中的換行符。(注意:C程序一定是從主函數(shù)開(kāi)始執(zhí)行的)

良好習(xí)慣之規(guī)范

  1. 一個(gè)說(shuō)明或一個(gè)語(yǔ)句占一行,例如:包含頭文件、一個(gè)可執(zhí)行語(yǔ)句結(jié)束都需要換行。
  2. 函數(shù)體內(nèi)的語(yǔ)句要有明顯縮進(jìn),通常以按一下Tab鍵為一個(gè)縮進(jìn)
  3. 括號(hào)要成對(duì)寫(xiě),如果需要?jiǎng)h除的話也要成對(duì)刪除
  4. 當(dāng)一句可執(zhí)行語(yǔ)句結(jié)束的時(shí)候末尾需要有分號(hào)。
  5. 代碼中所有符號(hào)均為英文半角符號(hào)。

程序解釋——注釋

注釋是寫(xiě)給程序員看的,不是寫(xiě)給電腦看的。C語(yǔ)言注釋方法有兩種:
多行注釋?zhuān)?/* 注釋內(nèi)容 */
單行注釋?zhuān)?//注釋一行

有名有姓的C(標(biāo)識(shí)符)

C語(yǔ)言規(guī)定,標(biāo)識(shí)符可以是字母(A~Z,a~z)、數(shù)字(0~9)、下劃線_組成的字符串,并且第一個(gè)字符必須是字母或下劃線。在使用標(biāo)識(shí)符時(shí)還有注意以下幾點(diǎn):
  1. 標(biāo)識(shí)符的長(zhǎng)度最好不要超過(guò)8位,因?yàn)樵谀承┌姹镜腃中規(guī)定標(biāo)識(shí)符前8位有效,當(dāng)兩個(gè)標(biāo)識(shí)符前8位相同時(shí),則被認(rèn)為是同一個(gè)標(biāo)識(shí)符。
  1. 標(biāo)識(shí)符是嚴(yán)格區(qū)分大小寫(xiě)的。例如Imoocimooc?是兩個(gè)不同的標(biāo)識(shí)符。
  2. 標(biāo)識(shí)符最好選擇有意義的英文單詞組成做到"見(jiàn)名知意",不要使用中文。
  3. 標(biāo)識(shí)符不能是C語(yǔ)言的關(guān)鍵字。想了解更多C語(yǔ)言關(guān)鍵字的知識(shí)。

變量及賦值

變量就是可以變化的量,而每個(gè)變量都會(huì)有一個(gè)名字(標(biāo)識(shí)符)。變量占據(jù)內(nèi)存中一定的存儲(chǔ)單元。使用變量之前必須先定義變量,要區(qū)分變量名變量值是兩個(gè)不同的概念。
變量定義的一般形式為:數(shù)據(jù)類(lèi)型 變量名;
多個(gè)類(lèi)型相同的變量:數(shù)據(jù)類(lèi)型 變量名, 變量名, 變量名...;
注意:在定義中不允許連續(xù)賦值,如int a=b=c=5;是不合法的。
變量的賦值分為兩種方式:
  1. 先聲明再賦值
  2. 聲明的同時(shí)賦值

基本數(shù)據(jù)類(lèi)型

C語(yǔ)言中,數(shù)據(jù)類(lèi)型可分為:
  1. 基本數(shù)據(jù)類(lèi)型
  2. 構(gòu)造數(shù)據(jù)類(lèi)型
  3. 指針類(lèi)型
  4. 空類(lèi)型四大類(lèi)
最常用的整型, 實(shí)型與字符型(char,int,float,double):整型數(shù)據(jù)是指不帶小數(shù)的數(shù)字(int,short int,long int, unsigned int, unsigned short int,unsigned long int):注:
  • int?short int?long int根據(jù)編譯環(huán)境的不同,所取范圍不同。
  • 而其中short intlong int至少是表中所寫(xiě)范圍, 但是int在表中是以16位編譯環(huán)境寫(xiě)的取值范圍。
  • 另外 c語(yǔ)言int的取值范圍在于他占用的字節(jié)數(shù) ,不同的編譯器,規(guī)定是不一樣。
  • ANSI標(biāo)準(zhǔn)定義int是占2個(gè)字節(jié),TC是按ANSI標(biāo)準(zhǔn)的,它的int是占2個(gè)字節(jié)的。但是在VC里,一個(gè)int是占4個(gè)字節(jié)的。
浮點(diǎn)數(shù)據(jù)是指帶小數(shù)的數(shù)字。
生活中有很多信息適合使用浮點(diǎn)型數(shù)據(jù)來(lái)表示,比如:人的體重(單位:公斤)、商品價(jià)格、圓周率等等。
因?yàn)榫鹊牟煌址譃?種(float,double,long double):注:C語(yǔ)言中不存在字符串變量,字符串只能存在字符數(shù)組中,這個(gè)后面會(huì)講。

格式化輸出語(yǔ)句

格式化輸出語(yǔ)句,也可以說(shuō)是占位輸出,是將各種類(lèi)型的數(shù)據(jù)按照格式化后的類(lèi)型及指定的位置從計(jì)算機(jī)上顯示。其格式為:printf("輸出格式符",輸出項(xiàng));當(dāng)輸出語(yǔ)句中包含普通字符時(shí),可以采用一下格式:printf("普通字符輸出格式符", 輸出項(xiàng));注意:格式符個(gè)數(shù)要與變量、常量或者表達(dá)式的個(gè)數(shù)一一對(duì)應(yīng)

不可改變的常量

在程序執(zhí)行過(guò)程中,值不發(fā)生改變的量稱(chēng)為常量。mtianyan: C語(yǔ)言的常量可以分為直接常量和符號(hào)常量。
  • 直接常量也稱(chēng)為字面量,是可以直接拿來(lái)使用,無(wú)需說(shuō)明的量,比如:
    • 整型常量:13、0、-13;
    • 實(shí)型常量:13.33、-24.4;
    • 字符常量:‘a(chǎn)’、‘M’
    • 字符串常量:”I love imooc!”
在C語(yǔ)言中,可以用一個(gè)標(biāo)識(shí)符來(lái)表示一個(gè)常量,稱(chēng)之為符號(hào)常量。符號(hào)常量在使用之前必須先定義,其一般形式為:

#define 標(biāo)識(shí)符 常量值


#include?
#define?POCKETMONEY?10????//定義常量及常量值
int?main()
{
????// POCKETMONEY = 12;??//小明私自增加零花錢(qián)對(duì)嗎?
????printf("小明今天又得到%d元零花錢(qián)\n",?POCKETMONEY);
????return?0;??
}

符號(hào)常量不可以被改變。

自動(dòng)類(lèi)型轉(zhuǎn)換

數(shù)據(jù)類(lèi)型存在自動(dòng)轉(zhuǎn)換的情況.
自動(dòng)轉(zhuǎn)換發(fā)生在不同數(shù)據(jù)類(lèi)型運(yùn)算時(shí),在編譯的時(shí)候自動(dòng)完成。
char類(lèi)型數(shù)據(jù)轉(zhuǎn)換為int類(lèi)型數(shù)據(jù)遵循ASCII碼中的對(duì)應(yīng)值.注:
字節(jié)小的可以向字節(jié)大的自動(dòng)轉(zhuǎn)換,但字節(jié)大的不能向字節(jié)小的自動(dòng)轉(zhuǎn)換
char可以轉(zhuǎn)換為int,int可以轉(zhuǎn)換為double,char可以轉(zhuǎn)換為double。但是不可以反向。

強(qiáng)制類(lèi)型轉(zhuǎn)換

強(qiáng)制類(lèi)型轉(zhuǎn)換是通過(guò)定義類(lèi)型轉(zhuǎn)換運(yùn)算來(lái)實(shí)現(xiàn)的。其一般形式為:(數(shù)據(jù)類(lèi)型) (表達(dá)式)其作用是把表達(dá)式的運(yùn)算結(jié)果強(qiáng)制轉(zhuǎn)換成類(lèi)型說(shuō)明符所表示的類(lèi)型在使用強(qiáng)制轉(zhuǎn)換時(shí)應(yīng)注意以下問(wèn)題:
  1. 數(shù)據(jù)類(lèi)型和表達(dá)式都必須加括號(hào), 如把(int)(x/2 y)寫(xiě)成(int)x/2 y則成了把x轉(zhuǎn)換成int型之后再除2再與y相加了。
  2. 轉(zhuǎn)換后不會(huì)改變?cè)瓟?shù)據(jù)的類(lèi)型及變量值,只在本次運(yùn)算中臨時(shí)性轉(zhuǎn)換
  3. 強(qiáng)制轉(zhuǎn)換后的運(yùn)算結(jié)果不遵循四舍五入原則。

運(yùn)算符號(hào)

C語(yǔ)言中運(yùn)算符:※ 算術(shù)運(yùn)算符
※ 賦值運(yùn)算符
※ 關(guān)系運(yùn)算符
※ 邏輯運(yùn)算符
※ 三目運(yùn)算符

算術(shù)運(yùn)算符

c語(yǔ)言基本運(yùn)算符:除法運(yùn)算中注意
如果相除的兩個(gè)數(shù)都是整數(shù)的話,則結(jié)果也為整數(shù),小數(shù)部分省略,如8/3 = 2;
而兩數(shù)中有一個(gè)為小數(shù),結(jié)果則為小數(shù),如:9.0/2 = 4.500000。
mtianyan:?取余運(yùn)算中注意
該運(yùn)算只適合用兩個(gè)整數(shù)進(jìn)行取余運(yùn)算,如:10%3 = 1;
mtianyan: notes: 而10.0%3則是錯(cuò)誤的;運(yùn)算后的符號(hào)取決于被模數(shù)的符號(hào),如(-10)%3 = -1;10%(-3) = 1;
mtianyan:?%%表示這里就是一個(gè)%符.注:C語(yǔ)言中沒(méi)有乘方這個(gè)運(yùn)算符,也不能用×, ÷等算術(shù)符號(hào)。

自增與自減運(yùn)算符

  • 自增運(yùn)算符為 ,其功能是使變量的值自增1
  • 自減運(yùn)算符為--,其功能是使變量值自減1。
它們經(jīng)常使用在循環(huán)中。自增自減運(yùn)算符有以下幾種形式:

賦值運(yùn)算符

C語(yǔ)言中賦值運(yùn)算符分為簡(jiǎn)單賦值運(yùn)算符復(fù)合賦值運(yùn)算符簡(jiǎn)單賦值運(yùn)算符=號(hào)了,下面講一下復(fù)合賦值運(yùn)算符:復(fù)合賦值運(yùn)算符就是在簡(jiǎn)單賦值符=之前加上其它運(yùn)算符構(gòu)成.
例如 =、-=、*=、/=、%=
分析:定義整型變量a并賦值為3,a = 5;這個(gè)算式就等價(jià)于a = a 5;?將變量a和5相加之后再賦值給a注意:復(fù)合運(yùn)算符中運(yùn)算符和等號(hào)之間是不存在空格的。

關(guān)系運(yùn)算符

C語(yǔ)言中的關(guān)系運(yùn)算符:關(guān)系表達(dá)式的值是,在C程序用整數(shù)10表示。注意:>=, <=, ==, !=這種符號(hào)之間不能存在空格。

邏輯運(yùn)算符

C語(yǔ)言中的邏輯運(yùn)算符:邏輯運(yùn)算的值也是有兩種分別為,C語(yǔ)言中用整型的1和0來(lái)表示。其求值規(guī)則如下:
  • 與運(yùn)算?
嵌入式ARM

掃描二維碼,關(guān)注更多精彩內(nèi)容

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專(zhuān)欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車(chē)的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車(chē)技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車(chē)工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車(chē)。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車(chē) 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱(chēng),數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱(chēng)"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉