C 學習(五)入門篇 基本型別

2021-09-25 04:09:51 字數 3775 閱讀 1886

物件導向程式設計的本質是設計並擴充套件自己的資料型別,讓型別和資料匹配。

內建c++分成兩種型別:基本型別和復合型別

1.簡單變數

程式需要儲存資訊時,必須記錄三個基本屬性

(1)資訊將儲存在哪

(2)要儲存什麼值

(3)儲存何種型別的值

如:

int braincount;

braincount=5;

這語句表明它正在儲存整數,用braincount表示該整數的值,程式將找到一塊能夠儲存整數的記憶體,將該記憶體標記為braincount,並把5複製到該記憶體單元中。

這些語句沒說這個值將儲存在記憶體的什麼位置,但程式確實記錄了這種資訊。可使用&來檢索braincount的記憶體位址。

2.變數名

(1)在名稱中只能使用字母字元、數字和下劃線

(2)名稱的第乙個字元不能是數字

(3)區分大寫字母和小寫字母

(4)不能將c++關鍵字用作名稱

(5)以兩個下劃線或下劃線和大寫字母打頭的名稱被保留給實現(編譯器及其使用的資源)使用。以乙個下劃線開頭的名稱被保留給實現,用作全域性識別符號。

(6)c++對名稱長度沒有限制,名稱中所有字元都有意義,但某些平台有長度限制

如ansic標準前63個字元相同則認為名稱相同,即使第64個不同

如果想用兩個或更多的單詞組成乙個名稱,通常用下劃線字元將單詞分開,如my_onions,或者從第二個單詞開始將每個單詞的第乙個字母大寫,如myeyetooth

術語寬度用於描述儲存整數時使用的記憶體量,使用記憶體越多,則越寬

3.整型short、int、long和long long

計算機記憶體由一些叫位(bit)的單元組成

16≤short≤int≤long≤long long

且32≤long和64≤long long

位元組(byte)通常指8位(bit)的記憶體單元

很多系統都使用最小長度,short16位,long32位,int可以為16、24或32位。

int也可為64位,long和long long至少64位。

short是short int的簡稱,long是long int的簡稱。

這四種都是符號型別,取值範圍中,負值和正值幾乎相同,16位的int取值範圍-32768到+32767

用c++工具來檢查型別的長度,sizeof返回型別或變數的長度,單位為位元組

位元組的含義依賴於實現,乙個系統中,兩位元組的int可能是16位,另乙個系統可能為32位。

標頭檔案climits包含了關於整型限制的資訊,定義了各種限制的符號名稱,如int_max為int的最大取值,char_bit為位元組的位數。

程式清單3.1 limits.cpp

- - some integer limies

#include

#include

intmain()

1.運算子sizeof和標頭檔案limits

對型別名(如int)使用sizeof時,應將名稱放在括號中

但對變數名(如n_short)使用該符號,括號是可選的

標頭檔案climits定義了符號常量來表示型別的限制

下表對檔案中定義的符號常量進行了總結

climits中的符號常量

符號常量  

表示char_bit

char的位數

char_max

char的最大值

char_min  

char的最小值

schar_max

signed char的最大值

schar_min

signed char的最小值

uchar_max

unsigned char的最大值

shrt_max

short的最大值

shrt_min

short的最小值

ushrt_max

unsigned char的最大值

int_max

int的最大值

int_min

int的最小值

unit_max

unsigned int的最大值

long_max

long的最大值

long_min

long的最小值

ulong_max

unsigned long的最大值

llong_max

long long的最大值

llong_min

long long的最小值

ullong_max

unsigned long long的最大值

climits檔案中包含下面類似語句:

#define int_max 32767

該編譯指令告訴預處理器:在程式中查詢int_max,並將所有的int_max替換為32767。

2.初始化

int owls=101;

c++還有種c語言沒有的初始化語法:

int wrens(432);

如果不對函式內部定義的變數進行初始化,該變數的值將不確定,意味該變數值是它被建立之前,相應記憶體單元儲存的值。

採用大括號初始化方式:

可用=,也可以不用

int emus;

int rheas;

其次,可以不包含任何東西,變數將被初始化為0

int rocs={};

int psychics{};

第三,可以更好的防範型別轉換錯誤。

無符號型別

無符號變體的優點是可以增大變數能夠儲存的最大值

如short的範圍為-32768到+32767,無符號版本為0到65535

unsigned是unsigned int的縮寫

//

exced.cpp - - exceeding some integer limits

#include#include

intmain()

這些整型變數的行為就像里程表,如果超越了限制,其值將在範圍的另一端取值。

int被設定為對目標計算機而言最自然的長度,即計算機處理起來最有效率的長度。

節省一點就是贏得一點。

整型字面值:

如果第一位為0~9,則基數為10(十進位制)

如果第一位為0,第二位1~7,則基數為8(八進位制)

如果前兩位為0x或0x,則基數為16(十六進製制)

//

hexoct1.cpp - - shows hex and otcal literals

#includeint

main()

都轉化為了十進位制

如果要以十六進製制或者八進位制的形式顯示,要是用cout的一些特殊特性,採用控制符dec、hex和oct

- - display values in hex and octal

#include

int main()

{using std::cout;

//using std::cin;

using std::oct;

//using std::hex;

//using namespace std;

int chest = 42;

int waist = 42;

int inseam = 42;

cout << "monsieur cuts a striking figure!\n";

cout << "chest=" << chest << " (decimal for 42)\n";

cout

Swift入門篇 基本型別 1

今天遇到了乙個很煩的事情是,早上10點鐘開啟電腦,一直都進入系統 我的系統 mac os x yosemite 10.10 系統 一直卡在登陸介面上進不去,心裡想蘋果新系統這麼脆弱,現在很多軟體不相容就算了,搞的我還進不了系統,真是鬱悶。然後在google 上搜尋,google也打不開 真是悲催,據...

c 資料型別入門篇

型別 關鍵字布林型 bool 整型int 單精度float 雙精度double 無返回值型別 void 寬字元型 wchar t c 中sizeof獲取各種資料型別的大小 include cout numeric limits int max t numeric limits int min end...

Qt學習之入門篇(基本操作)

qt的基類 qwidget 常用基類,空白的視窗 qmainwindow 在qwidget的基礎上新增了一些功能 qdialog qt常用工具類 qpainter 基本的畫家類 qpainter p this 定義乙個畫家qpen 畫筆類 可以定義畫筆並設定筆的顏色和粗細 qpen pen pen....