當(dāng)前位置:首頁 > 模擬 > 模擬
[導(dǎo)讀]C\\C++語言是國際上廣泛流行的計算機高級語言。絕大多數(shù)硬件開發(fā),均使用C/C++語言,Arduino也不例外。使用Arduino,需要有一定的C\\C++基礎(chǔ),由于篇幅有限,本書僅對C\\C++語言基礎(chǔ)進行簡單的介紹。此后章節(jié)中我們還會穿插介紹一些特殊用法及編程技巧。

1.1 C\C++語言基礎(chǔ)

C\C++語言是國際上廣泛流行的計算機高級語言。絕大多數(shù)硬件開發(fā),均使用C/C++語言,Arduino也不例外。使用Arduino,需要有一定的C\C++基礎(chǔ),由于篇幅有限,本書僅對C\C++語言基礎(chǔ)進行簡單的介紹。此后章節(jié)中我們還會穿插介紹一些特殊用法及編程技巧。

1.1

1.1.1 數(shù)據(jù)類型

在C\C++語言程序中,對所有的數(shù)據(jù)都必須指定其數(shù)據(jù)類型。數(shù)據(jù)又有常量和變量之分。

需要注意的是,Genuino 101與AVR做核心的Arduino中的部分?jǐn)?shù)據(jù)類型所占用的空間和取值范圍有所不同。

變量

在程序中數(shù)值可變的量稱為變量。其定義方法如下

  
l  類型 變量名;
  

例如,定義一個整型變量i:

  
int i;
  

我們可以在定義時為其賦值,也可以定義后,對其賦值,例如:

  
int i;
  
i=95;
  

  
int i=95;
  

兩者是等效的。

常量

在程序運行過程中,其值不能改變的量,稱為常量。常量可以是字符,也可以是數(shù)字,通常使用語句

  
const 類型 常量名 = 常量值
  

定義常量。

還可以用宏定義來達到相同的目的。語句如下:

  
#define 宏名 值
  

如在Arduino核心庫中已定義的常數(shù)PI,即是使用

  
#define PI  3.1415926535897932384626433832795
  

定義的。

l 整型

整型即整數(shù)類型。Genuino 101可使用的整型類型及取值范圍如下

表 2‑1 整型與取值范圍

  
類型
  
取值范圍
說明
int
–2,147,483,648                                                                       2,147,483,647
  
(–      – 1)
整型
unsigned int
0     4,294,967,295
  
(0       – 1)
無符號整型
long
–2,147,483,648      2,147,483,647
  
(–      – 1)
長整型
unsigned long
0     4,294,967,295
  
(0       – 1)
無符號長整型
short
–32,768     32,767
  
(–      – 1)
短整型

l 浮點型

浮點數(shù)也就是常說的實數(shù)。在Arduino中有float和double兩種浮點類型,在Genuino 101中,float類型占用4個字節(jié)(32位)內(nèi)存空間,double類型占用8個字節(jié)(64位)內(nèi)存空間。

浮點型數(shù)據(jù)的運算,速度較慢且可能有精度丟失。通常我們會把浮點型轉(zhuǎn)換為整型來處理相關(guān)運算。如9.8cm,我們通常把換算為98mm來計算。

l 字符型

字符型,即char類型,也是一種整形,占用一個字節(jié)內(nèi)存空間,常用于存儲字符變量。存儲字符時,字符需要用單引號引用,如

  
char col=’C’;
  

字符都是以整數(shù)形式儲存在char類型變量中的,數(shù)值與字符的對應(yīng)關(guān)系,請參照附錄中ASCII碼表。

l 布爾型

布爾型變量,即boolean。它的值只有兩個:false(假)和true(真)。boolean會占用1個字節(jié)的內(nèi)存空間。

1.1.2 運算符與表達式

C\C++語言中有多種類型的運算符,常見運算符見表2-2:

表 2‑2 常見C\C++運算符

  
運算符類型
  
運算符
說明
算術(shù)運算符
=
賦值
+
-
*
/
%
取模
比較運算符
==
等于
!=
不等于
<
小于
>
大于
<=
小于或等于
>=
大于或等于
邏輯運算符
&&
邏輯與運算
||
邏輯或運算
!
邏輯非運算
復(fù)合運算
++
自加
--
自減
+=
復(fù)合加
-=
復(fù)合減

1.1.3表達式

通過運算符將運算對象連接起來的式子,我們稱之為表達式。如

  
5+3、a-b、1<9等。
  

1.1.4數(shù)組

數(shù)組是由一組相同數(shù)據(jù)類型的數(shù)據(jù)構(gòu)成的集合。數(shù)組概念的引入,使得在處理多個相同類型的數(shù)據(jù)時,程序更加清晰和簡潔。

其定義方式如下:

  
l  數(shù)據(jù)類型  數(shù)組名稱[數(shù)組元素個數(shù)];
  

如,定義一個有5個int型元素的數(shù)組:

  
int a[5];
  

如果要訪問一個數(shù)組中的某一元素,需要使用

  
l  數(shù)組名稱[下標(biāo)]
  

需要注意的是數(shù)組下標(biāo)是從0開始編號的。如,將數(shù)組a中的第1個元素賦值為1:

  
a[0]=1;
  

你可以使用以上方法對數(shù)組賦值,也可以在數(shù)組定義時,對數(shù)組進行賦值。如:

  
int a[5]={1,2,3,4,5};
  

  
int a[5];
  
a[0]=1; a[1]=2; a[2]=3; a[3]=4; a[4]=5;
  

是等效的。

1.1.5 字符串

字符串的定義方式有兩種,一種是以字符型數(shù)組方式定義,另一種是使用String類型定義。

  
l  char字符串名稱[字符個數(shù)];
  

使用字符型數(shù)組的方式定義,使用方法和數(shù)組一致,有多少個字符便占用多少個字節(jié)的存儲空間。

大多數(shù)情況下,我們使用String類型來定義字符串,該類型中提供一些操作字符串的成員函數(shù),使得字符串使用起來更為靈活。

  
l  String  字符串名稱;
  

  
String   abc;
  

即可定義一個名為abc的字符串。你可以在定義時為其賦值,或在定義后為其賦值,如

  
String   abc;
  
abc = “Genuino 101”;
  

  
String   abc = “Genuino 101”;
  

是等效的。

相較于數(shù)組形式的定義方法,使用String類型定義字符串會占用更多的存儲空間。

1.1.6注釋

/*與*/之間的內(nèi)容,及 // 之后的內(nèi)容均為程序注釋,使用它可以更好的管理代碼。注釋不會被編譯到程序中,不影響程序的運行。

為程序添加注釋的方法有兩種:

單行注釋:

  
// 注釋內(nèi)容
  

多行注釋:

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

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

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

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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