微控制器程式設計中常用到的幾種關鍵詞

2021-08-21 08:46:09 字數 1679 閱讀 1545

一、#define和const

#define:

1. 可以用來定義乙個沒有指定型別的常量,在定義的時候可以該對常量賦值;

2.也可以定義乙個表示式,表示式可以帶引數。

》定義後不能被更改《

用例一:

#define number 1000

用例二:

#define max(x,y) ((x)>(y)?(x):(y))

用例三:

#ifndef **

#define **

...#endif

const:

可以定義乙個有型別的變數,該變數一旦被定義就不能被修改。

const float a = 100.0;

二、條件編譯

可在程式中減少要編譯的程式。

#ifndef    ***

#define ***

...

#elif ***

...#endif

三、typedef

用例一:

typedef unsigned char uch

uch a,b[10];

等同於unsigned char a,b[10];

四、extern

#ifndef _a_h

#define _a_h

extern int number;

...#endif

#include "a.h"

int number = 100;

void a(void)

#include "b"

#include "a"

void b(void)

五、enum

方法1:

enum weekday

;enum weekday a,b,c;

方法2:

enum weekday

a,b,c;

方法3:

enum

a,b,c;

1.列舉是常量,不是變數,不能對其賦值,但可以在定義的時候賦值。

錯誤的寫法:

sun = 7;
正確的寫法:

enum weekday

a,b,c;

2.列舉元素的第乙個值預設的是0,後面的元素的值是前乙個元素值+1。

sun = 7,mou = 1,tue = 2,wed = 3,thu = 4,fri = 5,sat = 6
3.列舉元素不是字元也不是字串,在使用的時候不能加單、雙引號。

完整的用例:

#include enum weekday

a,b,c;

int main(void)

顯示結果:

0 

12

微控制器中常用的濾波演算法

說明 假定從8位ad中讀取資料 如果是更高位的ad可定義資料型別為int 子程式為get ad 又稱程式判斷濾波法 a 方法 根據經驗判斷,確定兩次取樣允許的最大偏差值 設為a 每次檢測到新值時進行判斷,如果本次值與上次值之差 a,則本次值有效 如果本次值與上次值之差 a,則本次值無效,放棄本次值,...

C 程式設計中的 New 關鍵詞的幾種用法

前段時間乙個朋友問到c 的new關鍵字有幾種用法,雖說在日常程式設計中經常用到這個小傢伙,但它到底有幾種用法還真沒有留意過,現將從網上總結出的資料記下以供同仁學習。1 new 運算子 用於建立物件和呼叫建構函式。2 new 修飾符 用於隱藏基類成員的繼承成員。3 new 約束 用於在泛型宣告中約束可...

C 程式設計中的 New 關鍵詞的幾種用法

1.值型別與引用型別 結構是值型別 值型別在堆疊上分配位址,所有的基型別都是結構型別,例如 int 對應system.int32 結構,string 對應 system.string 結構 通過使用結構可以建立更多的值型別 類是引用型別 引用型別在堆上分配位址 2 繼承性 結構 不能從另外乙個結構或...