加入星計劃,您可以享受以下權益:

  • 創(chuàng)作內容快速變現
  • 行業(yè)影響力擴散
  • 作品版權保護
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質創(chuàng)作者
  • 5000+ 長期合作伙伴
立即加入
  • 正文
    • 1.變量的命名規(guī)范
    • 2.變量的初始化和賦值
    • 3.C語言常用的數據類型
  • 推薦器件
  • 相關推薦
  • 電子產業(yè)圖譜
申請入駐 產業(yè)圖譜

C語言高效編程第一步,搞定變量和數據類型

2023/12/11
2426
閱讀需 8 分鐘
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

C語言大家都不陌生吧,計算機、電子信息、通信工程、自動化等專業(yè)的必學課程,前面和大家介紹過C語言的歷史和編程環(huán)境,今天再來介紹一下變量和數據類型。

C語言是一門靜態(tài)類型的底層編程語言,也就是說任何變量都必須有一個確定的類型,并且該類型在被編譯時是可知的。因此,在C語言編程時,每創(chuàng)建一個變量,就必須聲明變量類型。從單片機編程的角度,聲明一個變量,其數據類型為無符號整型uin8_t?,名稱為?Val_Counter:

uint8_t Val_Counter; //數據類型為無符號整型,名稱為Val_Counter;

變量聲明

1.變量的命名規(guī)范

所謂,無規(guī)矩不成方圓,變量的名字可以任意取,但是要遵循一定的命名規(guī)范,變量名可以包含任意的字母,但是區(qū)分大小寫,也可以包含數字和下劃線,但是不能以數字作為開頭。

uint8_t val_counter;       //正確的變量聲明;
uint8_t Val_Counter;      //正確的變量聲明;
uint8_t Val_Counter100;//正確的變量聲明;
uint8_t 1Val_Counter;    //錯誤的變量聲明;

命名規(guī)范舉例

變量的命名雖有規(guī)范,但是取名字也有規(guī)范,要保證的大原則就是:變量名通俗易懂,一看就能知道其含義,避免直接用a,b,c,aa,kk,tt這種無章法的命名方式。

2.變量的初始化和賦值

變量一旦被合法聲明了,那么就可以在編程時使用了,可以根據編程的需要給變量賦值。當然,任何變量都有初始值,在聲明變量的時候可以給變量賦一個值。被賦的值與進制沒有關系,可以寫十進制,也可以寫十六進制或者是二進制。

uint8_t val_counter1 = 10;       //初值為10;
uint8_t Val_Counter2 = 0x0A; //初值為10;

變量初始化

也可以在程序中賦值,做計算。

#include <reg51.h>

int main(void)
{
    uint_8 Val_Counter1 = 10,Val_Counter2;
    Val_Counter2 = Val_Counter1 + 2;
    printf("%d",Val_Counter2);
}

變量的應用

程序的“=”是賦值操作,更改變量的當前值時可以使用賦值操作,兩邊的數據類型要相同,表示把右邊操作數的值賦給左邊操作數?!?”是最簡單的賦值運算符,除此之外,還有“-=”、“+=”、“*=”、“/=”、“|=”、“&=”、“%=”、“<<=”、“>>=”等。。。

#include <reg51.h>
 
int main()
{
   uint8_t a = 21,c; 
   c =  a;
   printf("Line 1 - =  運算符實例,c 的值 = %dn", c );
   c +=  a;
   printf("Line 2 - += 運算符實例,c 的值 = %dn", c );
   c -=  a;
   printf("Line 3 - -= 運算符實例,c 的值 = %dn", c );
}

賦值變形運算

3.C語言常用的數據類型

C語言的變量數據類型,大致可以分為如下幾類:

基本數據類型,如整型、浮點型、字符型、布爾型等;

衍生數據類型,如指針型、數組型、結構體struct、共用體union等;

枚舉類型enum,適用于枚舉值有限,且變量初值自動遞加;

空類型,void,這種容易被忽略,它表示無類型或者無返回值的函數;

typedef型,就是定義別名,可以給現有數據類型改名字,便于記憶和歸類,和結構體合用比較方便;

常量,用const來表示;

幾種常見的數據類型如?int、char、short、long、float、double等。

int,整型,至少占據2個字節(jié);

char,字符型,至少占據1個字節(jié);

short,短整型,至少占據2個字節(jié);

long,長整型,至少占據4個字節(jié);

float,浮點型;

long,雙精度浮點型;

每種數據類型,都會占用不同的數據長度,但是因為編程環(huán)境/編譯器的不同,每種類型的長度也不完全相同。只能說short 不會比 int 長, long 不會比 int 短。

對于整型數據類型而言,還有無符號整型,用unsigned來表示,變量加了unsigned之后,該變量的取值范圍就從0開始、沒有負數了。這在單片機編程中應用廣泛。

unsigned char?的范圍從 0 開始,至少到 255

unsigned int?的范圍從 0 開始,至少到 65,535

unsigned short?的范圍從 0 開始,至少到 65,535

unsigned long?的范圍從 0 開始,至少到 4,294,967,295

因為數據類型有長度,所以在編程的時候需要注意變量的邊界問題,不能讓數據溢出。

各種類型的數據長度,其實是可以根據自己的編程環(huán)境/編譯器進行測試的,用sizieof()就可以實現。

#include <stdio.h>
//計算數據類型的長度
int main(void) {
  printf("char size: %lu bytesn", sizeof(char));
  printf("int size: %lu bytesn", sizeof(int));
  printf("short size: %lu bytesn", sizeof(short));
  printf("long size: %lu bytesn", sizeof(long));
  printf("float size: %lu bytesn", sizeof(float));
  printf("double size: %lu bytesn", sizeof(double));
  printf("long double size: %lu bytesn", sizeof(long double));
}

數據類型長度檢測

用C語言編程時,需要用到各種變量,而變量的命名規(guī)范也能反映出代碼是否通俗易懂。所以,要想提高編程效率,先從變量命名規(guī)范和數據類型入手吧。

推薦器件

更多器件
器件型號 數量 器件廠商 器件描述 數據手冊 ECAD模型 風險等級 參考價格 更多信息
AFBR-5715APZ 1 Broadcom Limited Transceiver, 830nm Min, 860nm Max, 1250Mbps(Tx), LC Connector, Panel Mount, ROHS COMPLIANT
暫無數據 查看
PS2701-1-F3-A 1 NEC Electronics Group Transistor Output Optocoupler, 1-Element, 3750V Isolation, LEAD FREE, PLASTIC, SOP-4
$0.74 查看
SN74AVC32T245ZKER 1 Texas Instruments 32-Bit Dual-Supply Bus Transceiver with Configurable Voltage Translation and 3-State Outputs 96-LFBGA -40 to 85

ECAD模型

下載ECAD模型
$3.65 查看

相關推薦

電子產業(yè)圖譜

玩轉嵌入式簡介,高級嵌入式工程師,具有多年的嵌入式研發(fā)經驗,主要從事傳感器、控制器、汽車電子、電機驅動等硬件和軟件的研發(fā)工作,主要分享單片機、ARM、嵌入式軟件、嵌入式硬件、電子技術、半導體、智能硬件等相關內容,創(chuàng)建技術專欄分享技術心得和大家一起暢游技術的海洋。