程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> C++教程第二章-變量基礎

C++教程第二章-變量基礎

編輯:C++入門知識

C++教程第二章-變量基礎


 

 

1.基本內置類型

C++包含算數類型和空類型。其中算數類型包含字符,整型數,布爾值及浮點數。即char,int,long,bool,float,double等。注意這裡有一種稱為無符號數的類型unsigned,無符號數恆大於0.需要注意,如果在while中執行:

 

unsignedint a = 10;
while(a> 0)
{…}

 

 

由於a是無符號整型,因此a恆大於0,邏輯判斷恆為真,程序會陷入死循環。

 

用例:

字符char:char a = 'a';char b = '1';char c = '!';char a = 0x0000

整型int:int a = 10; int b = -10;

無符號整型unsigned int:unsigned int a = 10;

布爾bool:bool a = true; bool b = false;

浮點float/double:float a = 1.12321; float b = 3.54234

溢出:內置類型在內存中占據的長度受到限制,若表示的值超過一定長度,則發生溢出。如char長度為1字節,即8 bit,若執行:char a = 0x123456789,將9 bit賦給a,則發生溢出。

 

2.類型轉換

基本內置類型間可互相轉換

int轉bool:若int的值不為0,則轉換為bool後為true,否則為false。

浮點轉int:將截斷小數點後的數

int轉浮點:轉換後對浮點數小數位為0

 

3.字面值常量

字面值常量即為不可改變的量。如43,“hello”(字符串常量)等

在C++中,字符串常量為const char*類型。其中*代表指針。指針的概念將在之後對內容中進行講解。

 

4.轉義序列

有一些字符在C++中含有特殊含義,這些情況下要用到轉意序列。

轉義序列可參考:

http://blog.csdn.net/qustdjx/article/details/7728684

 

5.變量的初始化

建議對所有變量在定義時均賦一個初值,即執行初始化,這一行為可避免大多意想不到的麻煩。

 

在定義一個變量後,若未為其賦初值,則該變量會被系統默認初始化,賦予一個默認的初始值。該初始值由變量類型決定。

 

注意初始化與賦值的區別,這在C++中很重要。初始化的含義是創建變量時賦予其一個初始值,賦值的含義是把對象的當前值擦除,以一個新值代替。

初始化:int a = 1; //這裡a被初始化為1

賦值:int a ; a = 1; //這裡a首先被默認初始化為0,之後執行賦值操作,將a賦值為1.

 

6.變量的作用域

變量可分為全局變量和局部變量。目前只需要知道,在函數體內部定義的變量是局部變量,僅在函數體內有效。(之後會學習到static變量,即靜態變量是例外的,該變量定義後全局有效)

例:

 

int a = 0;

void fun(){
	int fa = 0;
	int fb = 1;
}
int main(){
	int b = 4;
	return
}

 

其中a是全局變量,fa,fb,b均為局部變量。

 

7.變量定義和聲明的區別

注意區分定義和聲明的區別,其中定義是在系統內存中開辟一塊空間,用於存放變量。聲明是告訴程序有這個變量存在。變量只能定義一次,但可以聲明多次。

 

小結:今天介紹了變量中的一些基本知識,下一章將對復合變量中數組這一概念進行詳細分析

 

PS:這裡對前一章中main函數參數列表做一下解釋。

int_tmain(int argc, _TCHAR* argv[])

其中main對參數列表中包含兩個參數,一個是整型int,另一個是TCHAR*數組,其實就是char**類型,表示為一個字符串數組。

當編譯完一個程序後,在命令行中通過命令執行這段程序時,可能希望對其附上一些參數。如下圖所示

\

 

 

可以看到,通過g++將代碼ShowPar.cc編譯為test後,調用test時,argc為參數總數,argv存放各附加參數。

如:./test hello and

執行test程序,附加參數hello和and,argc的值為3,argv中的內容分別為./test,hello以及and


  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved