C++快速入門、變量、基本類型
阿新 • • 發佈:2018-10-08
如果 style line clas 沒有 建立 oat 有時 變量名 在for中定義並初始化的變量,在退出for之後不能再次使用
13、為兼容C,C++的string類型的字符串,在字符串的最後會增加一個空字符
如‘A’,是1個字符
“A”,是1個字符A加1個空字符
L“A”,寬字符串
14、兩個相鄰的字符串(或者兩個寬字符串:註,一定要相同類型)或寬字符串,中間如果是空格、制表符、換行符,則分行撰寫可以形成一行,如
std::cout<<"I"
“The”
"world"<<std::endl;
將輸出 I The world的結果
15、多行面值,可以用反斜杠操作,可將下一行當同一行處理,反斜杠後不能加任何字符,反斜杠的下一行不允許有其他無關字符。
std::cou\
t<<"Hi"<<st\
d::endl
16、回車和換行轉義符號的區別
‘\r‘是回車,前者使光標到行首,(carriage return)
整理看書過程中要註意的點
1、每個函數都必須指定返回類型,main函數的返回類型為int,通常return 0;,return 語句後面要增加“;” 2、C++文件後綴:cc,cpp,cxx,cp,c,visual C++認 *.cpp 3、輸入輸出使用iostream庫,用cin, cout, cerr, clog,這些都包含在std namespace中 若在文件的開頭沒有寫using namespace std,則用的時候應該是std :: cin 4、建立Visual C++ 工程文件時,選 win32 console application 5、在新的編譯器中,6、wchar_t(16位)用於拓展字符,如中文、日文 7、short 16位,半個機器字長 int 16位,1個機器字長 在32位系統中,int 和 long有時字長是相同。 8、int 、short、long默認帶符號位 不需要帶符號需增加unsigned前綴 若僅寫unsigned類型,則認為是 unsigned int 9、把-1賦值給unsigned char 類型的數,=255 -1=-1*256+255 C++對溢出的數求模取余 10、float 用32位描述,但只有6個有效位 double用64位描述,有10個有效位 long double 用96或128位描述,有10個有效位 11、以0(零)開頭的數字常表示8進制 0x開頭的數字常表示16進制 12、指定LONG類型可以在數字後面增加”L“,無符號可以加”u“,float可以加"F", 采用科學計數法時,用E或e表示 在字符面前增加L就能得到wchar_t類型的寬字符面值,如L’a‘
‘\n‘是換行,後者使光標下移一格,(line feed)
\r 是回車,return
\n 是換行,newline
對於換行這個動作,unix下一般只有一個0x0A表示換行("\n"),windows下一般都是0x0D和0x0A兩個字符("\r\n"),蘋果機(MAC OS系統)則采用回車符CR表示下一行(\r)
Unix系統裏,每行結尾只有“<換行>”,即“\n”;
Windows系統裏面,每行結尾是“<回車><換行>”,即“\r\n”;
Mac系統裏,每行結尾是“<回車>”,即“\r”。
一個直接後果是,Unix/Mac系統下的文件在Windows裏打開的話,所有文字會變成一行;而Windows裏的文件在Unix下打開的話,在每行的結尾會多車一個^M字符。 寫不同的系統代碼,要根據系統的要求來編寫代碼。
第17~24 講解了變量的初始化方法,變量名的同義定義,常量的定義方法,類型的同義定義,枚舉類型的使用,這些在32位嵌入式芯片的程序設計中都是基礎中的基礎,一定要牢牢掌握,後續再抽空撰寫32位內核芯片的常見定義以及相關說明的解讀。
17、初始化
int ival = 1024;
int &refval= ival; //引用的定義 refval++ std::cout<<ival; //輸出的結果為1025 在常數的定義中,也存在類似的用法,例如, const int ival=1024; const int &kval = ival; 23、typedef,定義數據類型的同義詞。可以起到隱藏特定類型的目的,同時也使人更容易理解。 typedef double wag; typedef wag salary; //salary 實際就是double類型 24、枚舉類型(關鍵字:enum) 默認枚舉的第一個成員為0,也可以初始化第一個,後面依次+1,例如: enum form{shape=1,sphere,cylinder,polygon}; 但是,枚舉的值又不是唯一的,例如 enum point{point2d = 2, point2w ,point3d = 3, point3w}; // point2w = 3; point3w = 4; point pt1 = point2d;註意:不能用int的定義,例如: point pt1 = 2;
25、類類型 類的定義以class關鍵字開始,包含接口(操作:成員函數)和實現(數據:數據成員)兩部分; class Sales_item{ public: private: std::string isbn; unsigned units_sold; double revenue; };// “;”號是最容易被遺忘的部分 類可以包含0到多個public或private,每一個類就是一種新的類型。 類的數據成員不是在初始化時定義,而是通過構造函數。 不是類的組成部分的代碼,不能訪問private 成員,這樣可以保護類中的數據成員。 26、struct 關鍵字(主要從C語言中繼承過來) ——在32位芯片程序的開發中常用到,在C語言中struct中不放成員函數,這一點與C++有很大的區別。而在硬件的底層編程中,主要使用C語言類型的結構體,所以要關註這點。 struct中,未使用private部分默認為public; class中,未使用public部分默認為private;27、設計自己的頭文件
因為頭文件包含在多個源文件中,所以不應該含有變量或函數的定義,#ifndef 只能保證在同一個文件中,相同的頭文件段值包含一次;若同一個工程文件中的多個文件均有多個變量的定義,則編譯的過程會報錯。 但是有三個例外: ① 類; ② const 對象; ③ inline 函數 使用頭文件的格式有兩種: #include <iostream>//在指定的目錄查找標準的頭文件 #include"iostream.h"//在源目錄查找【工程文件所在的目錄】28、預處理器
預處理器變量的名字在程序中必須唯一,否則其他重復的地方都將關聯到預處理器變量 為了避免名字沖突,預處理器變量通常用大寫字母 格式: #ifndef SALESITEM_H #defineSALESITEM_H #endif //結束預定義處理C++快速入門、變量、基本類型