1.
基本內建型別
c++包含算數型別和空型別。其中算數型別包含字元,整型數,布林值及浮點數。即char,int,long,bool,float,double
等。注意這裡有一種稱為無符號數的型別unsigned
,無符號數恆大於0.
需要注意,如果在while
中執行:
由於a是無符號整型,因此a
恆大於0,
邏輯判斷恒為真,程式會陷入死迴圈。
用例:字元char
:chara = 'a';char b = '1';char c = '!';char a = 0x0000
整型int
:inta = 10; int b = -10;
無符號整型unsignedint:unsigned int a = 10;
布林bool
:boola = true; bool b = false;
浮點float/double
:floata = 1.12321; float b = 3.54234
溢位:內建型別在記憶體中佔據的長度受到限制,若表示的值超過一定長度,則發生溢位。如char
長度為1
位元組,即8bit
,若執行:chara = 0x123456789
,將9bit
賦給a,則發生溢位。
2.型別轉換
基本內建型別間可互相轉換
int轉bool
:若int
的值不為0,
則轉換為bool
後為true
,否則為false
。浮點轉int
:將截斷小數點後的數
int轉浮點:轉換後對浮點數小數字為0 3.
字面值常量
字面值常量即為不可改變的量。如43,「hello」
等在c++
中,字串常量為constchar*
型別。其中*
代表指標。指標的概念將在之後對內容中進行講解。
4.轉義序列
有一些字元在c++
中含有特殊含義,這些情況下要用到轉意序列。
轉義序列可參考:
5.變數的初始化
建議對所有變數在定義時均賦乙個初值,即執行初始化,這一行為可避免大多意想不到的麻煩。
在定義乙個變數後,若未為其賦初值,則該變數會被系統預設初始化,賦予乙個預設的初始值。該初始值由變數型別決定。
注意初始化與賦值的區別,這在c++
中很重要。初始化的含義是建立變數時賦予其乙個初始值,賦值的含義是把物件的當前值擦除,以乙個新值代替。
初始化:inta = 1; //
這裡a被初始化為1
賦值:inta ; a = 1; //
這裡a首先被預設初始化為0,
之後執行賦值操作,將a
賦值為1. 6.
變數的作用域
變數可分為全域性變數和區域性變數。目前只需要知道,在函式體內部定義的變數是區域性變數,僅在函式體內有效。(
之後會學習到static
變數,即靜態變數是例外的,該變數定義後全域性有效) 例:
inta = 0;
voidfun()
intmain()
其中a是全域性變數,fa
,fb,b
均為區域性變數。
7.變數定義和宣告的區別
注意區分定義和宣告的區別,其中定義是在系統記憶體中開闢一塊空間,用於存放變數。宣告是告訴程式有這個變數存在。變數只能定義一次,但可以宣告多次。
ps:這裡對前一章中main
函式引數列表做一下解釋。
int_tmain(int argc, _tchar* argv)
其中main
對引數列表中包含兩個引數,乙個是整型int
,另乙個是tchar*
陣列,其實就是char**
型別,表示為乙個字串陣列。
當編譯完乙個程式後,在命令列中通過命令執行這段程式時,可能希望對其附上一些引數。如下圖所示
第二章 Ioc的基本概念
ioc是隨著近年來輕量級容器 lightweight container 的興起而逐漸被很多人提起的乙個名詞,它的全稱為inversion of control,中文通常翻譯為 控制反轉 它還有乙個別名叫做依賴注入 dependency injection 以前我們要獲取乙個物件都要通過new構造物...
c 第二章 變數
c 基本算術型別 char 8位 wchar t 16位 short 16位 int 16位 long 32位 float 6位有效數字 double 10位有效數字 long double 10位有效數字 1.8位的塊為乙個位元組,32位為乙個字 2.unsigned無符號型別,表示大於等於0的數...
C 基礎學習教程 第二章 變數(2)
第二節 復合型別 在第一節中我們介紹了變數的定義,宣告,初始化等變數基本基礎知識。本節我們將講解比較複雜的復合型別。復合型別是指基於其他型別定義的型別,即在基礎資料型別的基礎上,又指明了該變數與基本資料型別有關的某種型別。本節將介紹其中兩種 引用和指標。1 引用型別 1.1 定義與初始化 引用是為變...