c++的特點:1.支援抽象資料型別
2.多型性,乙個介面,多重演算法,支援早期聯編和滯後聯編
3.繼承性,保證了**復用,支援分類的概念
乙個c++程式由乙個或多個函式構成,並且在這些函式中只有乙個主函式main,它是程式執行的入口。
c++程式嚴格區別字母的大小寫。
第2章基本資料型別、運算子與表示式
【內容提要】
資料型別
變數與常量
運算子與表示式
簡單輸入與輸出
【重點與難點】
2.1 資料型別
在c++程式裡,每個名字都有乙個與之相關聯的型別,這個型別決定了可以對這個名字所指代的實體應用什麼操作,並決定這些操作將如何做出解釋。
圖中type表示非控資料型別。
2.1.1 基本資料型別
邏輯型:又稱布林型,用關鍵字bool表示。有兩個值true或false。
true可以轉換成整數1,false可以轉換成整數0。與此對應,整數也可以隱式的轉換成bool值:非0的整數轉換成true,0轉換成false。
字元型:用關鍵字char表示。取值包含具體實現所用的字符集裡的乙個字元。字元型資料通常占用1個位元組的儲存空間。
整型:用關鍵字int表示。取值是計算機所能表示的所有整數。
浮點型:包括單精度型(float)和雙精度型(double)。單精度型通常占用4個位元組的儲存空間,雙精度型通常占用8個位元組的空間。
空型別:用關鍵字void表示。用於說明某個函式沒有返回值。沒有void型別的物件。
在基本的資料型別前可以新增修飾符,以改變基本型別的意義。
signed:有符號。
unsigned:無符號。
unsigned和signed只用於修飾char和int,且signed修飾詞可以省略。當用unsigned修飾詞時,後面的型別說明符可以省略。對於有符號和無符號的整型資料,它們所佔的儲存空間的大小相同,但它們的表數範圍卻不相同(對字元型意義相同)。
short:短型。只用於修飾int,且用short修飾時,int可以省略。
long:長型。只用於修飾int和double。當用long修飾int時,int可以省略。
資料型別的描述確定了其記憶體所佔空間的大小,也確定了其表示範圍。用sizeof(資料型別)可以確定某資料型別的位元組長度。請讀者檢視在你所用的機器上,下面型別的最大值和最小值是什麼:
char、short、int、long、float、double、long double 、unsigned。
2.1.2 復合資料型別
陣列:由具有相同資料型別的元素組成的集合。
結構體:由不同的資料型別構成的一種混合的資料結構,構成結構體的成員的資料型別一般不同,並且在記憶體中分別佔據不同的儲存單元。
共用體:是類似於結構體的一種構造型別,與結構體不同的是構成共同體的資料成員共用同一段記憶體單元。
列舉:將變數的值一一枚舉出來,每個列舉成員(列舉符)都與乙個整數相對應。按預設方式,列舉符所賦的值從0開始遞增。
列舉的值也可以用整型的表示式賦值進行初始化。如果某個列舉中所有列舉符的值均非負,該列舉的表示範圍是[0: 2k -1],其中2k是能使所有列舉符位於此範圍內的最小的2的冪;如果存在負的列舉符值,該列舉的取值範圍就是[-2k:
2k -1]。
指標型別:指標型別變數用於儲存另一變數的位址,而不能用來存放基本型別的資料。它在記憶體中佔據乙個儲存單元。
類型別:類是體現物件導向程式設計的最基本特徵,也是體現c++與c最大的不同之處。類是乙個資料型別,它定義的是一種物件型別,由資料和方法組成,描述了屬於該型別的所有物件的性質。
2.2變數與常量
2.1.1 變數:指在執行期間其值可以改變的量。
變數有三個特徵:變數型別、變數名、變數值。
命名:遵循識別符號命名規則。
識別符號是對實體定義的一種定義符,用來標識使用者定義的常量名、變數名、函式名、檔名、陣列名、和資料型別名和程式名等。只能由字母、數字和下劃線組成,且以字母或下劃線開頭。命名時注意以下幾點:
1. c++的關鍵字不能用作使用者自定義的實體名;
2. 以下劃線開頭的名字是保留給實現或者執行環境,用於特殊目的,在應用程式裡不要採用這樣的名字;
3. 大寫與小寫字母是區分的;
4. 見名知義。
5. 維持統一的命名風格。
定義:格式: 《型別名》《變數名》[[=《表示式》],…]
typedef:為某種型別宣告乙個新名字,而不是定義一種新型別。
格式:typedef 《已有型別名》 《新型別名》
2.1.2 常量:程式執行期間其值不變的量。主要有下列幾類常量。
布林常量
字元常量
用單引號括起的乙個字元。在記憶體中,字元資料以ascii碼儲存,如字元『a』的ascii碼為97。以轉義字元『\』開始的字元常量後跟不同的字元表示不同的特殊字元。
字串常量
由一對雙引號括起來的零個或多個字串行。
字串可以寫在多行上,不過在這種情況下必須用反斜線『\』表示下一行字元是這一行字元的延續。
字串常量實際上是乙個字元陣列,組成陣列的字元除顯示給出的外,還包括字元結尾處標識字串結束的符號『\0』,所以字串「abc」實際上包含4個字元:『a』、『b』、『c』和『\0』。
注意字元常量與字串常量在表示、儲存、運算方面的區別。
整型常量
可以用十進位制、八進位制或十六進製制表示。
十進位制常量 :一般佔乙個機器字長,是乙個帶正負號的常數(預設情況下為正數)。
八進位制常量 :由數字0開頭,其後由若干0-7的數字組成,如0378,0123等。
十六進製制常量:以0x或0x開頭,其後由若干0-9的數字及a-f(或小寫a-f)的字母組成,如0x123,0x3ab。
浮點型常量
只能以十進位制形式表示。共有兩種表示形式:小數表示法和指數表示法。
如:11.3、.2、2.3e10、-2.3e-1等。
列舉常量
列舉宣告形式: enum 《列舉名》;
列舉符可以有兩種形式:
《列舉符名》/《列舉符名》=《整形常量》
符號常量
定義形式:const 《型別名》 《符號常量名》=《表示式》[,…];
表示可選項,以下都採用這種標記。
定義的符號常量必須初始化。乙個符號常量可看作是乙個唯讀變數,由const定義的常量的值不可以改變。const的最常見的用途是作為陣列的界和作為分情況標號。
2.3 運算子與表示式
在程式中,表示式是計算求值的基本單位,它是由運算子和運算數組成的式子。運算子是表示進行某種運算的符號。運算數包含常量、變數和函式等。
c++語言的運算子按其在表示式中與運算物件的關係(連線運算物件的個數)可分為:單目運算、雙目運算、三目運算。
2.4 簡單輸入與輸出
在c++中,i/o使用了流的概念-字元(或位元組)流。每乙個i/o 裝置傳送和接收一系列的位元組,稱之為流。輸入操作可以看成是位元組從乙個裝置流入記憶體,而輸出操作可以看成是位元組從記憶體流出到乙個裝置。
要使用c++標準的i/o流庫的功能,需要包括兩個標頭檔案:iostream.h用於提供基本的輸入輸出功能,iomanip.
h用於提供格式化的功能。
2.4.1 i/o的書寫格式(基本資料型別的輸入輸出)
標頭檔案iostream.h包含有cin和cout物件,對應於標準輸入流和標準輸出流。流讀取運算子「>>」表示流的輸入,可以從cin輸入流中讀取字元;流插入運算子「<<」表示流的輸出,可以向cout輸出流插入字元。
如:cout<<」hello world.」< int i,j;
cin>>i>>j輸入i,j的值
2.4.2使用控制符(基本資料型別輸入輸出的格式控制)
c++中提供了大量的用於執行格式化輸入輸出的格式控制符,具體名稱及作用請參看表2.2。
【典型例題】
例題1:對以下各種資料型別比較所占用儲存空間的大小:
(1)char、int、short int、long int、double、long double.
高考化學重點知識點
高中化學重點知識記憶 一 幾個常見的熱點問題 1 阿伏加德羅常數 1 條件問題 常溫 常壓下氣體摩爾體積增大,不能使用22.4 l mol。2 狀態問題 標準狀況時,h2o n2o4 碳原子數大於4的烴為液態或固態 so3 p2o5等為固態,不能使用22.4 l mol。3 特殊物質的摩爾質量及微粒...
電力電子教材重點知識點總結
1 電力電子技術定義 是使用電力電子器件對電能進行變換和控制的技術,是應用於電力領域的電子技術,主要用於電力變換。1 交流變直流ac dc 整流 2 直流變交流dc ac 逆變 3 直流變直流dc dc 一般通過直流斬波電路實現,也叫斬波電路 4 交流變交流ac ac 可以是電壓或電力的變換,一般稱...
高中化學重點知識點總結
一 高中化學離子方程式總結 鹼與酸酐的反應 多酸的酸酐與鹼反應,酸酐少量生成正鹽,酸酐過量生成酸式鹽。1 co2與nao 少量co2 co2 2oh co32 h2o 過量co2 co2 oh hco3 此外,當co2通入naalo2 ca clo 2 na2sio3等溶液中時,co2少量生成碳酸鹽...