吴忠躺衫网络科技有限公司

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

詳解C語(yǔ)言變量和數(shù)據(jù)類型

玩轉(zhuǎn)嵌入式 ? 來(lái)源:玩轉(zhuǎn)嵌入式 ? 2023-12-11 10:40 ? 次閱讀

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

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

uint8_t Val_Counter; //數(shù)據(jù)類型為無(wú)符號(hào)整型,名稱為Val_Counter;

0cb30c56-964d-11ee-8b88-92fbcf53809c.png

變量聲明

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

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

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

0cc5b4e6-964d-11ee-8b88-92fbcf53809c.jpg

命名規(guī)范舉例

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

2.變量的初始化和賦值

變量一旦被合法聲明了,那么就可以在編程時(shí)使用了,可以根據(jù)編程的需要給變量賦值。當(dāng)然,任何變量都有初始值,在聲明變量的時(shí)候可以給變量賦一個(gè)值。被賦的值與進(jìn)制沒(méi)有關(guān)系,可以寫(xiě)十進(jìn)制,也可以寫(xiě)十六進(jìn)制或者是二進(jìn)制。

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

0cf601aa-964d-11ee-8b88-92fbcf53809c.jpg

變量初始化

也可以在程序中賦值,做計(jì)算。

#include 

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

0d0707ac-964d-11ee-8b88-92fbcf53809c.jpg

變量的應(yīng)用

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

#include 
 
int main()
{
   uint8_t a = 21,c; 
   c =  a;
   printf("Line 1 - =  運(yùn)算符實(shí)例,c 的值 = %d
", c );
   c +=  a;
   printf("Line 2 - += 運(yùn)算符實(shí)例,c 的值 = %d
", c );
   c -=  a;
   printf("Line 3 - -= 運(yùn)算符實(shí)例,c 的值 = %d
", c );
}

0d1067b6-964d-11ee-8b88-92fbcf53809c.jpg

賦值變形運(yùn)算

3.C語(yǔ)言常用的數(shù)據(jù)類型

C語(yǔ)言的變量數(shù)據(jù)類型,大致可以分為如下幾類:

基本數(shù)據(jù)類型,如整型、浮點(diǎn)型、字符型、布爾型等;

衍生數(shù)據(jù)類型,如指針型、數(shù)組型、結(jié)構(gòu)體struct、共用體union等;

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

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

typedef型,就是定義別名,可以給現(xiàn)有數(shù)據(jù)類型改名字,便于記憶和歸類,和結(jié)構(gòu)體合用比較方便;

常量,用const來(lái)表示;

幾種常見(jiàn)的數(shù)據(jù)類型如int、char、short、long、float、double等。

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

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

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

long,長(zhǎng)整型,至少占據(jù)4個(gè)字節(jié);

float,浮點(diǎn)型;

long,雙精度浮點(diǎn)型;

每種數(shù)據(jù)類型,都會(huì)占用不同的數(shù)據(jù)長(zhǎng)度,但是因?yàn)榫幊汰h(huán)境/編譯器的不同,每種類型的長(zhǎng)度也不完全相同。只能說(shuō)short 不會(huì)比 int 長(zhǎng), long 不會(huì)比 int 短。

對(duì)于整型數(shù)據(jù)類型而言,還有無(wú)符號(hào)整型,用unsigned來(lái)表示,變量加了unsigned之后,該變量的取值范圍就從0開(kāi)始、沒(méi)有負(fù)數(shù)了。這在單片機(jī)編程中應(yīng)用廣泛。

unsigned char的范圍從 0 開(kāi)始,至少到 255

unsigned int的范圍從 0 開(kāi)始,至少到 65,535

unsigned short的范圍從 0 開(kāi)始,至少到 65,535

unsigned long的范圍從 0 開(kāi)始,至少到 4,294,967,295

因?yàn)閿?shù)據(jù)類型有長(zhǎng)度,所以在編程的時(shí)候需要注意變量的邊界問(wèn)題,不能讓數(shù)據(jù)溢出。

各種類型的數(shù)據(jù)長(zhǎng)度,其實(shí)是可以根據(jù)自己的編程環(huán)境/編譯器進(jìn)行測(cè)試的,用sizieof()就可以實(shí)現(xiàn)。

#include 
//計(jì)算數(shù)據(jù)類型的長(zhǎng)度
int main(void) {
  printf("char size: %lu bytes
", sizeof(char));
  printf("int size: %lu bytes
", sizeof(int));
  printf("short size: %lu bytes
", sizeof(short));
  printf("long size: %lu bytes
", sizeof(long));
  printf("float size: %lu bytes
", sizeof(float));
  printf("double size: %lu bytes
", sizeof(double));
  printf("long double size: %lu bytes
", sizeof(long double));
}

0d325eac-964d-11ee-8b88-92fbcf53809c.jpg

數(shù)據(jù)類型長(zhǎng)度檢測(cè)

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

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 計(jì)算機(jī)
    +關(guān)注

    關(guān)注

    19

    文章

    7536

    瀏覽量

    88642
  • C語(yǔ)言
    +關(guān)注

    關(guān)注

    180

    文章

    7614

    瀏覽量

    137716
  • 編程
    +關(guān)注

    關(guān)注

    88

    文章

    3637

    瀏覽量

    93983
  • 變量
    +關(guān)注

    關(guān)注

    0

    文章

    613

    瀏覽量

    28466
  • 數(shù)據(jù)類型
    +關(guān)注

    關(guān)注

    0

    文章

    236

    瀏覽量

    13663

原文標(biāo)題:C語(yǔ)言高效編程第一步,搞定變量和數(shù)據(jù)類型

文章出處:【微信號(hào):玩轉(zhuǎn)嵌入式,微信公眾號(hào):玩轉(zhuǎn)嵌入式】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    C語(yǔ)言中的基本數(shù)據(jù)類型

    C語(yǔ)言是非常重要的一門程序設(shè)計(jì)語(yǔ)言,學(xué)好C語(yǔ)言再去學(xué)習(xí)其他編程語(yǔ)言將變得很輕松,因?yàn)榇蟛糠?/div>
    發(fā)表于 04-26 17:33 ?2101次閱讀
    <b class='flag-5'>C</b><b class='flag-5'>語(yǔ)言</b>中的基本<b class='flag-5'>數(shù)據(jù)類型</b>

    C語(yǔ)言中基本數(shù)據(jù)類型、變量和常量的使用

    C語(yǔ)言中基本數(shù)據(jù)類型、變量和常量的使用
    發(fā)表于 08-18 16:42 ?2919次閱讀
    <b class='flag-5'>C</b><b class='flag-5'>語(yǔ)言</b>中基本<b class='flag-5'>數(shù)據(jù)類型</b>、<b class='flag-5'>變量</b>和常量的使用

    C語(yǔ)言數(shù)據(jù)類型詳解

    計(jì)算機(jī)編程語(yǔ)言是用來(lái)控制計(jì)算機(jī)的行為及操作,協(xié)助人們解決現(xiàn)實(shí)中的問(wèn)題,其能表達(dá)的數(shù)據(jù)類型也是從實(shí)際中提取并抽象出來(lái)形成的數(shù)據(jù)結(jié)構(gòu)描述。
    發(fā)表于 11-02 11:32 ?1390次閱讀
    <b class='flag-5'>C</b><b class='flag-5'>語(yǔ)言</b><b class='flag-5'>數(shù)據(jù)類型</b><b class='flag-5'>詳解</b>

    技術(shù)干貨驛站 ▏深入理解C語(yǔ)言:基本數(shù)據(jù)類型變量

    C語(yǔ)言中,數(shù)據(jù)類型變量是編程的基礎(chǔ),也是理解更復(fù)雜概念的關(guān)鍵。數(shù)據(jù)類型決定了變量的內(nèi)存分配、
    的頭像 發(fā)表于 07-26 17:53 ?2271次閱讀
    技術(shù)干貨驛站 ▏深入理解<b class='flag-5'>C</b><b class='flag-5'>語(yǔ)言</b>:基本<b class='flag-5'>數(shù)據(jù)類型</b>和<b class='flag-5'>變量</b>

    變量和數(shù)據(jù)類型PPT教程

    變量和數(shù)據(jù)類型PPT教程程序是為執(zhí)行一項(xiàng)任務(wù)而編寫(xiě)的有序指令集算法是解決問(wèn)題的具體方法和步驟流程圖是算法的圖形化表現(xiàn)形式C語(yǔ)言的特點(diǎn)C程序的
    發(fā)表于 06-20 16:38

    C語(yǔ)言基本數(shù)據(jù)類型,變量和常量

    ),float(單精度浮點(diǎn)型),double(雙精度浮點(diǎn)型),signed(有符號(hào)) ,unsigned(無(wú)符號(hào)),long(長(zhǎng)整型)數(shù)據(jù)數(shù)據(jù)類型的單詞在C語(yǔ)言中稱為關(guān)鍵字非基本
    發(fā)表于 01-16 11:33

    C預(yù)處理與C語(yǔ)言基本數(shù)據(jù)類型

    指令表:注意:宏名的書(shū)寫(xiě)由標(biāo)識(shí)符與兩邊各兩條下劃線構(gòu)成。C語(yǔ)言基本數(shù)據(jù)類型不同操作系統(tǒng)中數(shù)據(jù)類型所占字節(jié)數(shù)圖解數(shù)據(jù)類型的其他分類:
    發(fā)表于 12-21 08:29

    C語(yǔ)言教程之數(shù)據(jù)類型與運(yùn)算符的詳細(xì)資料說(shuō)明

    本文檔的主要內(nèi)容詳細(xì)介紹的是C語(yǔ)言教程之數(shù)據(jù)類型與運(yùn)算符的詳細(xì)資料說(shuō)明主要內(nèi)容包括了:數(shù)據(jù)類型,常量與變量,算術(shù)運(yùn)算符。
    發(fā)表于 03-01 17:20 ?8次下載
    <b class='flag-5'>C</b><b class='flag-5'>語(yǔ)言</b>教程之<b class='flag-5'>數(shù)據(jù)類型</b>與運(yùn)算符的詳細(xì)資料說(shuō)明

    重視變量數(shù)據(jù)類型

    不管在什么語(yǔ)言中,定義一個(gè)變量時(shí)必然要在內(nèi)存中開(kāi)辟一個(gè)相應(yīng)大小的空間來(lái)存儲(chǔ)該變量。不同的數(shù)據(jù)類型在內(nèi)存所占的空間大小不同,其所能表示的數(shù)據(jù)
    發(fā)表于 01-13 15:05 ?1次下載
    重視<b class='flag-5'>變量</b>的<b class='flag-5'>數(shù)據(jù)類型</b>

    C語(yǔ)言-基本數(shù)據(jù)類型與位運(yùn)算

    這篇文章作為基礎(chǔ)知識(shí)點(diǎn),總結(jié)C語(yǔ)言的基本數(shù)據(jù)類型有哪些,浮點(diǎn)數(shù)的精度,整數(shù)變量的空間范圍,變量定義語(yǔ)法,
    的頭像 發(fā)表于 08-14 09:56 ?1636次閱讀

    C語(yǔ)言數(shù)據(jù)類型-2

    對(duì)于一個(gè)計(jì)算機(jī)程序,它所做的所有運(yùn)算的本質(zhì)都是數(shù)據(jù)的處理。但是數(shù)據(jù)的樣式并不單一,因此就有了各種各樣的數(shù)據(jù)類型。在C語(yǔ)言中,為了處理這些復(fù)雜
    的頭像 發(fā)表于 02-21 14:44 ?832次閱讀
    <b class='flag-5'>C</b><b class='flag-5'>語(yǔ)言</b>的<b class='flag-5'>數(shù)據(jù)類型</b>-2

    網(wǎng)絡(luò)工程師學(xué)Python之變量和簡(jiǎn)單數(shù)據(jù)類型

    Python是一種廣泛應(yīng)用于編程和數(shù)據(jù)科學(xué)的高級(jí)編程語(yǔ)言,它支持許多不同類型變量和簡(jiǎn)單數(shù)據(jù)類型
    的頭像 發(fā)表于 04-15 17:56 ?788次閱讀

    MATLAB變量和數(shù)據(jù)類型的基本介紹

    在MATLAB中,變量和數(shù)據(jù)類型是非常重要的概念。
    的頭像 發(fā)表于 07-05 09:44 ?2006次閱讀

    ARRAY 數(shù)據(jù)類型變量

    要求 全局數(shù)據(jù)塊已打開(kāi)。 操作步驟 要聲明一個(gè) ARRAY 數(shù)據(jù)類型變量,請(qǐng)按以下步驟操作: 在“名稱”(Name) 列中,輸入變量的名稱。 在“
    的頭像 發(fā)表于 07-06 11:08 ?1192次閱讀

    C語(yǔ)言數(shù)據(jù)類型有哪些

    C 語(yǔ)言中,數(shù)據(jù)類型指的是用于聲明不同類型變量或函數(shù)的一個(gè)廣泛的系統(tǒng)。變量
    發(fā)表于 03-20 10:56 ?515次閱讀
    <b class='flag-5'>C</b><b class='flag-5'>語(yǔ)言</b><b class='flag-5'>數(shù)據(jù)類型</b>有哪些
    澳门百家乐下注最低| 中骏百家乐官网的玩法技巧和规则| 瑞丰娱乐| 金钱豹百家乐官网的玩法技巧和规则 | 百家乐娱乐平台真人娱乐平台| 至尊百家乐官网娱乐场开户注册| 真钱德州扑克| 大发888娱乐城首页| 百家乐哪条路好| 百家乐官网游乐园| 百家乐官网怎么开户| 大发888注册送58| 沙龙百家乐娱乐| 百家乐扑克玩法| 百家乐官网博娱乐网提款速度快不| 美国百家乐官网怎么玩| 齐博线上娱乐| 大发888合营商| 精通百家乐的玩法技巧和规则| 百家乐连跳规律| 百家乐官网牌九| 澳门百家乐官网先赢后输| 鄂托克前旗| 联众德州扑克| 大发888娱乐场| 威尼斯人娱乐网注册| 网上百家乐大转轮| 百家乐开户送百元| 八大胜百家乐官网的玩法技巧和规则| 百家乐官网實戰後二穩賺| A8百家乐官网娱乐城| 保康县| 大发888官网下载| 百家乐技巧下载| 百家乐翻天粤语下载| 风水8闰24山| 百家乐官网一年诈骗多少钱 | 百家乐官网对保| 百家乐官网游戏分析| 万博88真人娱乐城| 澳门玩大小|