C語言基本特性


C的關鍵字

  • 數據類型關鍵字:char、short、int、long、float、double、unsigned、signed、struct、union、enum、void
  • 控制語句關鍵字:if、else、switch、case、default、for、do、while、break、continue、goto、return
  • 存儲類關鍵字:auto、extern、register、static、const
  • 其他關鍵字:sizeof、typedef、volatile

數據類型

  • 基本類型:int、short、long、char、float、double
  • 構造類型:數組、結構體(struct)、共用體(union)、枚舉(enum)
  • 指針類型:char *、int *、int **等

常量與變量

  • 常量:在程序運行過程中,其值不能被改變的量。

    整型常量:0、-485、147

    實型常量:3.14、0.256、-5.369

    字符型常量:'q'、'd'、'2'

    字符串常量:"abc"、"12345"、"a"

  • 變量:在程序運行過程中,其值可以改變

    命名規則:變量名只能由字母、數字、下划線組成;第一個字符必須為字母或下划線。

    特點:變量在編譯時為其分配相應的內存地址,可以通過名字和地址訪問相應空間。

  • 整型數據

    整型常量:

      十進制:以數字1-9開頭,如:781,2563

      八進制:以數字0開頭,如:0123

      十六進制:以0X開頭,如:0x2d

    32位處理器下整型變量所占字節數:

      有/無符號短整型(un/signed)short (int):2字節

      有/無符號基本整型(un/signed)int:4字節

      有/無符號長整型(un/signed)long (int):4字節

  • 實型數據

    實型常量:實數或浮點數,不以f結尾的常量是double類型的,以f結尾的常量(如:3.14f)是float類型的。

    實型變量:有單精度(float)和雙精度(double)

      float型:占4字節,7位有效數字

      double型:占8字節,15~16位有效數字

  • 字符數據

    字符常量:用單引號括起來,如:'a'、'b'。

    轉義字符:以反斜杠“\”開頭,后跟一個或幾個字符,如:'\n','\t'(占一個字節)。

    字符變量:用char定義,每個字符變量被分配一個字節的內存空間,字符值以ASCII碼的形式存放在變量的內存單元中。如:a = 'x';a變量中存放的是字符'x'的ASCII碼值120。

  • 字符串常量:由雙引號引起來的字符序列,如:"china"。

    字符常量和字符串常量的不同:每個字符串的結尾,編譯器會自動的添加一個結束標志位'\0'。

  • typedef 類型重定義:給已有的類型重新起個名字。

格式化輸出字符

  %d:十進制有符號整數    %u:十進制無符號整數

  %x:以十六進制表示的整數  %0:以8進制表示的整數

  %f:float型浮點數       %lf:double型浮點數

  %e:指數形式的浮點數    %p:指針的值

  %s:字符串         %c:單個字符

  特殊應用:

    %3d:右對齊3位。

    %03d:右對齊3位,不夠補0。

    %-3d:左對齊3位。

    %5.2f:右對齊5位數長(小數點也算一位),小數點后保留兩位小數。

數據的混合運算

  • 自動轉換:遵循一定的規則,由編譯系統自動完成。

    自動轉換的原則:占用內存字節數少的類型向占用內存字節數多的類型轉換。

    轉換方向:

         

  

  • 強制類型轉換:把表達式的運算結果強制轉換成所需的數據類型,類型說明符必須加括號。

    格式:(類型說明符)(表達式)

    例如:(float)a;  //把a的值轉化為實型

       (int)(x+y);  //把x+y的結果值轉換為整型

  無論是自動轉換還是強制類型轉換,都只是對變量的數據長度進行的臨時性轉換,不改變數據定義的類型。

運算符

  • 自增自減運算符:使變量的值增1或減1。

    ++i,--i:先加/減,后使用。

    如:i = 3;

      j = ++i;      //i的值先加1變為4,再賦給j,此時i、j的值均變為4

    i++,i--:先使用,后加/減。

    如:i = 3;

      j = i++;      //先將i的值賦給j,j的值為3,然后i再加1變為4

  • 移位運算

    左移<<:將一個數的二進制位左移,高位丟棄,低位補0。

    算數右移>>:有符號數,如果為正數,則左邊移入0,右邊丟棄;如果為負數,左邊移入1,右邊丟棄。

    邏輯右移>>:無論是正數還是負數,左邊均移入0,右邊丟棄。

  • 優先級及結合性表格如下

              


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM