在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            博客專欄

            EEPW首頁 > 博客 > Linux C - C基礎篇(一)

            Linux C - C基礎篇(一)

            發(fā)布人:嵌入式Linux 時間:2023-01-11 來源:工程師 發(fā)布文章
            基本數(shù)據(jù)類型
            • char: 字符類型,占1個字節(jié),8bit位,取值范圍為 -128~127(-2^7~2^7-1)。

            • short: 短整形,2字節(jié),16bit位。

            • int: 整形,4字節(jié),32bit位。

            • long: 長整形,4字節(jié),32bit位。

            • float: 浮點型,4字節(jié),32bit位。

            • double: 雙精度浮點型,8字節(jié),64位

            • bool: true/false 使用時需包含頭文件<stdbool.h>。

            進制轉(zhuǎn)換之有符號的十進制數(shù)用二進制表示

            1) 最高位是符號位,0表示正數(shù),1表示負數(shù)。

            2) 如果是正數(shù),正常表示(即原碼),如果是負數(shù),先求反碼,再求補碼(補碼為反碼加1)即為他的二進制表示。例如char型的1,用二進制表示為00000001;char型的-1用二進制表示為11111111。

            • -1原碼:10000001

            • -1反碼:11111110 (求反碼符號位不變)

            • -1補碼:11111111

            常量與變量

            常量,就是在程序運行過程中值無法被改變;變量,就是在程序運行過程中內(nèi)部存儲的值隨時可以被改變。變量是“可讀、可寫”,而常量,是“只讀”的。

            整形常量:12、浮點型常量:12.35、實數(shù)型常量:1.3e-5、字符型常量:'a'、字符串型常量:"abc"、標識符常量:#define LEN 10。

            變量一般存放在內(nèi)存中:棧區(qū), 靜態(tài)數(shù)據(jù)區(qū),全局變量區(qū), 堆區(qū)。函數(shù)中定義的變量,如果不加特殊修飾,都是保存在棧區(qū),函數(shù)調(diào)用結束,??臻g被自動釋放。

            定義變量:

            <存儲類型> <數(shù)據(jù)類型> <變量名>

            static/auto/... int/char a

            例如:static int a;char c;

            存儲類型:

            • auto:自動存儲類型(一般都省略),申請的變量都保存在棧空間。

            • register:寄存器型變量,申請的變量保存在寄存器上。速度快,效率高,但不能對其進行取地址操作。

            • static:靜態(tài)存儲類型,申請的變量保存在靜態(tài)區(qū),默認初始化為0,初始化語句只執(zhí)行一次,生存周期為整個程序結束。目的:限制變量的作用域。

            • extern:外部引用,用于多文件編程。被引用的變量必須是在其他文件中定義過的。

            • const:只讀存儲類型,相當于常數(shù)。

            類型轉(zhuǎn)換

            自動類型轉(zhuǎn)換

            將一種類型的數(shù)據(jù)賦值給另外一種類型的變量時就會發(fā)生自動類型轉(zhuǎn)換,例如:float a = 10;10是int類型的數(shù)據(jù),需要先轉(zhuǎn)換成float類型然后再賦值給變量a。

            在不同類型的混合運算中,編譯器也會自動地轉(zhuǎn)換數(shù)據(jù)類型,將參與運算的所有數(shù)據(jù)先轉(zhuǎn)換為同一種類型,然后再進行計算。轉(zhuǎn)換的規(guī)則如下:

            • 轉(zhuǎn)換按數(shù)據(jù)長度增加的方向進行,以保證數(shù)值不失真,或者精度不降低。例如,int 和 long 參與運算時,先把 int 類型的數(shù)據(jù)轉(zhuǎn)成 long 類型后再進行運算。

            • 所有的浮點運算都是以雙精度進行的,即使運算中只有 float 類型,也要先轉(zhuǎn)換為 double 類型,才能進行運算。

            • char 和 short 參與運算時,必須先轉(zhuǎn)換成 int 類型。

            強制類型轉(zhuǎn)換

            自動類型轉(zhuǎn)換是編譯器根據(jù)代碼自己判斷的,有時候我們需要手動的進行數(shù)據(jù)類型轉(zhuǎn)換,稱之為強制類型轉(zhuǎn)換,例如:

            (int)(a+b); //將a + b 求得結果的數(shù)據(jù)類型強制轉(zhuǎn)換為int型。

            運算符
            • 算術運算符: + - * / % ++ --

            • 關系運算符: 結果只有真或者假:> < == >= <= !=

            • 邏輯運算:&& || !

            • 位運算:& | ~ ^ << >>

            • 賦值運算 : = , +=

            • 條件運算符: 表達式1 ? 表達式2 : 表達式3;

            • 逗號運算:從左到右依次計算,最后一個表達式的值,作為整個表達式的值。

            • sizeof運算符:測試變量所占空間的大小。sizeof(類型) 或者 sizeof(變量名)

            運算符的優(yōu)先級

            特殊運算符>單目運算符>雙目運算符>三目運算>賦值運算>逗號運算

            以上是老韓關于Linux c基礎的總結,如有不足歡迎指點;對Linux c或者Linux驅(qū)動感興趣的朋友可以收藏關注,我會持續(xù)更新的,謝謝支持!


            *博客內(nèi)容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點,如有侵權請聯(lián)系工作人員刪除。



            關鍵詞: Linux C

            相關推薦

            技術專區(qū)

            關閉