c語言基本數據類型short、int、long、char、float、double

2021-02-19 C語言三人行+

C 語言包含的數據類型如下圖所示:

一、數據類型與「模子」
short、int、long、char、float、double 這六個關鍵字代表C 語言裡的六種基本數據類型。

怎麼去理解它們呢? 舉個例子:見過藕煤球的那個東西吧?(沒見過?煤球總見過吧)。那個東西叫藕煤器,拿著它在和好的煤堆裡這麼一咔,一個煤球出來了。半徑12cm,12 個孔。不同型號的藕煤器咔出來的煤球大小不一樣,孔數也不一樣。這個藕煤器其實就是個模子。

現在我們聯想一下,short、int、long、char、float、double 這六個東東是不是很像不同類型的藕煤器啊?拿著它們在內存上咔咔咔,不同大小的內存就分配好了,當然別忘了給它們取個好聽的名字。

在32 位的系統上short 咔出來的內存大小是2 個byte;
int 咔出來的內存大小是4 個byte;
long 咔出來的內存大小是4 個byte;
float 咔出來的內存大小是4 個byte;
double 咔出來的內存大小是8 個byte;
char 咔出來的內存大小是1 個byte。
(注意這裡指一般情況,可能不同的平臺還會有所不同,具體平臺可以用sizeof 關鍵字測試一下)

很簡單吧?咔咔咔很爽吧?是很簡單,也確實很爽,但問題就是你咔出來這麼多內存塊,你總不能給他取名字叫做x1,x2,x3,x4,x5…或者長江1 號,長江2 號…吧。它們長得這麼像(不是你家的老大,老二,老三…),過一陣子你就會忘了到底哪個名字和哪個內存塊匹配了(到底誰嫁給誰了啊?^_^)。所以呢,給他們取一個好的名字絕對重要。下面我們就來研究研究取什麼樣的名字好。

二、變量的命名規則
1、命名應當直觀且可以拼讀,可望文知意,便於記憶和閱讀。
標識符最好採用英文單詞或其組合,不允許使用拼音。程序中的英文單詞一般不要太複雜,用詞應當準確。

2、命名的長度應當符合「min-length && max-information」原則。
C 是一種簡潔的語言, 命名也應該是簡潔的。例如變量名MaxVal 就比MaxValueUntilOverflow 好用。標識符的長度一般不要過長,較長的單詞可通過去掉「元音」形成縮寫。

另外,英文詞儘量不縮寫,特別是非常用專業名詞,如果有縮寫,在同一系統中對同一單詞必須使用相同的表示法,並且註明其意思。

3、當標識符由多個詞組成時,每個詞的第一個字母大寫,其餘全部小寫。比如:
   int CurrentVal;
這樣的名字看起來比較清晰,遠比一長串字符好得多。

4、儘量避免名字中出現數字編號,如Value1,Value2 等,除非邏輯上的確需要編號。比如驅動開發時為管腳命名,非編號名字反而不好。
初學者總是喜歡用帶編號的變量名或函數名,這樣子看上去很簡單方便,但其實是一顆顆定時炸彈。這個習慣初學者一定要改過來。

5、對在多個文件之間共同使用的全局變量或函數要加範圍限定符(建議使用模塊名(縮寫)作為範圍限定符)。
(GUI_ ,etc)標識符的命名規則:

6、標識符名分為兩部分:規範標識符前綴(後綴) + 含義標識。非全局變量可以不用使用範圍限定符前綴。

7、作用域前綴命名規則。

8、數據類型前綴命名規則。

9、含義標識命名規則,變量命名使用名詞性詞組,函數命名使用動詞性詞組。例如:

變量含義標識符構成:目標詞+ 動詞(的過去分詞)+ [狀語] + [目的地];

函數含義標識符構成:動詞(一般現時)+目標詞+[狀語]+[目的地];

10、程序中不得出現僅靠大小寫區分的相似的標識符。例如:
   int x, X; 變量x 與X 容易混淆
   void foo(int x); 函數foo 與FOO 容易混淆
   void FOO(float x);
這裡還有一個要特別注意的就是1(數字1)和l(小寫字母l)之間,0(數字0)和o(小寫字母o)之間的區別。這兩對真是很難區分的,我曾經的一個同事就被這個問題折騰了一次。

11、一個函數名禁止被用於其它之處。例如:
#include "c_standards.h"
void foo(int p_1)
{
   int x = p_1;
}
void static_p(void)
{
   int foo = 1u;
}

12、所有宏定義、枚舉常數、只讀變量全用大寫字母命名,用下劃線分割單詞。例如:
const int MAX_LENGTH = 100; //這不是常量,而是一個只讀變量,具體請往後看
   #define FILE_PATH 「/usr/tmp」

13、考慮到習慣性問題,局部變量中可採用通用的命名方式,僅限於n、i、j 等作為循環變量使用。
一定不要寫出如下這樣的代碼:
   int p;
   char i;
   int c;
   char * a;
一般來說習慣上用n,m,i,j,k 等表示int 類型的變量;c,ch 等表示字符類型變量;a 等表示數組;p 等表示指針。當然這僅僅是一般習慣,除了i,j,k 等可以用來表示循環變量外,別的字符變量名儘量不要使用。

14、定義變量的同時千萬千萬別忘了初始化。定義變量時編譯器並不一定清空了這塊內存,它的值可能是無效的數據。這個問題在內存管理那章有非常詳細的討論,請參看。

15、不同類型數據之間的運算要注意精度擴展問題,一般低精度數據將向高精度數據擴展。

相關焦點

  • C 語言學習之變量、數據類型
    位,如果想設置位數,可以printf("%.2f",d1); 保留2位#include <stdio.h>int main() { float d1 = 1.1; float d2 = 1.1f; double d3 = 1.3; printf("float類型的長度%d\n",sizeof
  • 詳解C語言數據類型:float與double
    當較小尺寸的參數(特別是char,short和float)傳遞給可變參數函數(如printf之類的函數,其參數數量不固定)時,它們將轉換為較大尺寸。Char和short轉換為int,float轉換為double。為什麼這樣 據我所知,純粹出於歷史原因。
  • Java基本數據類型
    華清遠見成都中心高端IT就業培訓專家java基本類型共有八種,基本類型可以分為三類,字符類型char,布爾類型boolean以及數值類型byte、short、int、long、float、double。
  • C語言的數據類型簡述
    C語言數據類型分類C語言數據類型分類C語言的數據分類:1.基本類型:整型類型包含:基本整型(int)、短整型(short int)、長整型(long int)、雙長整型(long long int)、字符型(char)和布爾型(bool)。註:整型數據可在類型符號前面加修飾符:signed(有符號整數類型)和unsigned(無符號整數類型),若不指定則默認為「有符號類型」。
  • C語言知識點概要第二部分(數據類型)
    部分格式字符輸出舉例:#include<stdio.h>int main(){ int a=1; short b=2; long c=2; long long d=4; printf(
  • 大數據語言,Java的八大基本數據類型
    Java中的數據類型,分為引用類型和基本數據類型。基本類型又分為8種,今天為大家介紹這8種基本數據類型:整型:byte,short,int,long浮點型:float,double字符型:charBoolean型:boolean1.整數類型
  • 物聯網開發筆記——嵌入式開發之Linux系統中C語言數據類型
    嵌入式開發學習C語言打下基礎。本節介紹《Linux系統中C語言數據類型》。1 數據類型分類short、int、long、char、float、double 這六個關鍵字代表C 語言裡的六種基本數據類型。
  • C語言簡明教程(二)數據類型
    基本類型(int 類型)編譯系統分配給 int 類型數據 2 個字節或者 4 個字節(由具體的編譯系統自行決定)。我們使用的 gcc 編譯器為每個整數類型分配四個字節(32 個二進位)。在存儲單元中的存儲方式是:用整數的補碼形式存放。所以當 4 個字節的整數類型取值範圍是 -2^31 到(2^31-1)。
  • 面試官:Java 中有幾種基本數據類型是什麼?
    int 32bitshort 16bitlong 64bitbyte 8bitchar 16bitfloat 32bitdouble 64bitboolean 1bit(boolean 的備註+>整數值型:byte、short、int、long字符型:char浮點類型:float、double布爾型:boolean整數型:
  • Java數據類型的「誰都看得懂」總結
    Java數據類型總結(用你敏銳的洞察力猜猜上圖可以組成什麼詞?)Java語言是一種強類型語言,所謂強類型語言就是所有變量的使用都必須嚴格符合規定,所有變量都必須先定義後使用。而Java的數據類型分為兩大類,分別是基本類型和引用類型,引用類型主要有類、接口和數組等等,那麼這裡主要總結的的是基本類型,基本數據類型呢,又可以分為數值類型和布爾類型(即Boolean類型),布爾類型比較簡單,它只有兩個值(true和false)。數值類型又可以再往下劃分,分別分為整數類型、浮點數類型以及字符類型。
  • 一文讀懂Java基本數據類型
    在Java中的數據類型,分為引用類型和基本數據類型。本文主要講解8種基本數據類型,引用類型將在面向對象中詳細講解。在8種基本數據類型中整型有4種:byte,short,int,long;浮點型有2種:float,double;字符型有1種:char;布爾型有一種:boolean。
  • 高效的C編程之: 變量類型
    本文引用地址:http://www.eepw.com.cn/article/257017.htmARMC編譯器支持基本的數據類型:char、short、int
  • Arduino 數據類型
    voidBooleancharUnsigned charbyteintUnsigned intwordlongUnsigned longshortfloatdoublearrayString-char arrayString-objectvoidvoid關鍵字僅用於函數聲明。
  • Java 變量、表達式和數據類型詳解
    >整數類型 : byte short int long 小數類型 : float double2.char c = '\u0061';所以可以說char本質上也是整型,數據範圍在0 ~ 65535.引用類型:除了8種基本數據類型,其他所有類型都是引用數據類型,包括類、接口、數組。
  • 第2節:常量、變量與C語言的數據類型
    它用來存放數據,也就是存放變量的值,在程序運行期間,變量的值是可以改變的。變量必須先定義,後使用。在定義時制定該變量的類型和名字。3.常變量定義方式例如const int a=1;變量存在期間其值不變。常變量與常量的異同:常變量具有變量的基本屬性:有類型,佔存儲單元,知識不允許改變其值。可理解為常變量是有名字的不變量,而常量是沒有名字的不變量。
  • JAVA定義變量和基礎的數據類型和關鍵字,詳解!
    1)布爾基本數據類型中,布爾類型boolean佔有一個字節,由於其本身所代碼的特殊含義,boolean類型與其他基本類型不能進行類型的轉換(既不能進行自動類型的提升,也不能強制類型轉換), 否則,將編譯出錯。
  • 51單片機C語言學習(第四課 數據類型)
    先來簡單說說C語言的標識符和關鍵字。標識符是用來標識源程序中某個對象的名字的,這些對象可以是語句、數據類型、函數、變量、數組等等。
  • 尚學堂知識整理:Java float數據類型
    有兩種類型的浮點類型,float和double,分別表示單精度和雙精度數。它們的寬度和範圍如下所示:浮點數據類型浮點數據類型使用32位來存儲浮點數。浮點數也稱為單精度浮點數。所有以下浮點字面量表示相同的實數42.5:float數據類型定義兩個零:+0.0F(或0.0F)和-0.0F。 +0.0F和-0.0F都被認為是相等的。float數據類型定義了兩個無窮大:正無窮大和負無窮大。未定義浮點的一些操作的結果。 例如,將0.0F除以0.0F是不確定的。
  • 尚學堂知識整理:Java double數據類型
    double數據類型使用64位來存儲浮點數。double值也稱為雙精度浮點數。它可以表示一個最小為4.9 x 10^-324,最大為1.7 x 10^308的數字。它可以是正的或負的。所有實數被稱為double字面量。double字面量可以可選地以d或D結尾,例如1.27d。後綴d或D在double字面量中是可選的。19.7和19.7d代表相同的double字面量。
  • 大數據開發基礎:Java基礎數據類型
    首先,Java八種數據類型,其實可以整合為四大數據類型,分別是:整型(byte、short、int、long)、浮點型(float、double)、字節型(char)、布爾型(boolean)。Java基礎數據類型