各種程序設計語言都具有許多獨具特色的特徵,這些特徵決定了每種語言所適合開發的應用程序的種類。程序設計語言也有一些共同的特徵。基本上所有的語言都要提供下列特徵:
- 內置數據類型,如 整型,字符型等。
- 表達式和語句:表達式和語句用於操縱上述類型的值。
- 變量:程序員可以使用變量對所使用的對象命名。
- 控制結構:如if, for, while等;程序員可以使用控制結構有條件的執行或者重複執行一組動作。
- 函數:程序員可以使用函數把行爲抽象爲可調用的計算單元。
大多數現代程序設計語言都採用兩種方式擴充上述基本特徵集:
- 允許程序員通過自定義數據類型擴展該語言。
- 提供一組庫例程,這些例程定義了一些並非內置在語言中的實用函數和數據類型。
c++ 是提供了一組內置的數據類型、操縱這些類型的操作符和一組少量的程序流控制語句。c++是一門簡單的語言,c++的表達能力是通過支持一些允許程序員自定義的數據結構的機制來提升的。包括c++在內的許多程序設計語言允許程序員定義類型的不僅包括數據還包括操作。c++設計的主要目標之一就是允許程序員自定義類型,而且這些類型和內置類型一樣易於使用。
類型是所有程序的基礎,類型告訴我們數據代表什麼意思以及可以對數據執行哪些操作。
基本內置類型:
- bool 布爾類型
- char類型, 字符類型 8位
- wchar_t類型 寬字符類型 32位
- short 短整型 16位
- int 整型 32位
- long 長整型 32位
- float 單精度浮點型 32位 (6位有效數字)
- double 雙精度浮點型 64位 (10位有效數字)
- long double 擴展精度浮點類型 96位
這個是本人的個人電腦上(32位linux系統)得出的結果,具體情況會應該編譯器等不同而有所不同。比如:
以前的系統是16位的所以int只有2字節,現在都是32位了,所以大部分編譯器把int提升爲32位,即4字節在TC中int似乎還是16位的;
win32 中 long 和 int 範圍一樣的,因爲C/C++語言標準只是規定sizeof(long int)> =sizeof(int) ,取等號也是可以的,具體如何實現由各個編譯器廠家決定。
這三個類型都表示整形值,存儲空間的大小不同,一般,short類型爲半個機器字長,int類型爲一個機器字長,而long類型爲兩個機器字長,根據編譯器的不同,其表示長度是有區別的,上面的列表只供參考,另外,int 、short、long都默認是帶符號型,要獲得無符號類型則必須制定該類型爲unsigned,比如unsigned long
(機器字長:計算機能直接處理的二進制數據的位數,它決定了計算機的運算精度;目前流行的是32位和64位)
這三個類型都是浮點數,一般,float用一個字長來表示,double用兩個字長,long double 用3個或者4個字長來表示。類型的取值範圍決定了浮點數所含的有效數字位數。 實際應用中float類型精度通常是不夠用的——float只能保證6位有效數字,而double型至少可以保證10位有效數字,能滿足大多數計算的需要。
Single ( Fortran's REAL*4, C's float ), ( Obligatory ),
Double ( Fortran's REAL*8, C's double ), ( Ubiquitous ),
Double-Extended ( Fortran REAL*10+, C's long double ), ( Optional ).