1.簡單變量ios
(1)變量名命名規則:a.在名稱中只能使用字母字符、數字和下劃線;b.名稱的第一個字符不能是數字;c.區別大小寫;d.不能將關鍵字用做名稱;e.對名稱長度沒有限制;f.以兩個下劃線或下劃線和大寫字母打頭的名稱被保留給實現使用。c++
(2)幾個基本概念ide
//cout<<hex;和cout<<oct;控制符其實是一條消息,告訴cout採起何種行爲 #include<iostream> using namespace std; int main() { using namespace std; int chest =42; int waist =42; int inseam=42; cout<<"Monsieur cuts a striking figure!"<<endl; cout<<"chest= "<<chest<<" (decimal)"<<endl; cout<<hex;//不會再屏幕上顯示任何內容,而只是顯示cout顯示整數的方式 cout<<"waist= "<<waist<<" hexadecimal"<<endl; cout<<oct; cout<<"inseram= "<<inseam<<" (octal)"<<endl; return 0; }
(3)int、long、short(有符號和無符號的區別,表示範圍) 對類型名如(int)使用操做符sizeof時,應該將名稱放在括號中,對變量名使用,則括號名是可選的。函數
/short int long #include<iostream> #include<limits.h> int main() { using namespace std; int n_int=INT_MAX; short n_short=SHRT_MAX; long n_long=LONG_MAX; cout<<"int is "<<sizeof(int)<<" bytes."<<endl; cout<<"short is "<<sizeof n_short<<" bytes."<<endl; cout<<"long is "<< sizeof n_long<<" bytes."<<endl; cout<<"Maximum values:"<<endl; cout<<"int: "<<n_int<<endl; cout<<"short: "<<n_short<<endl; cout<<"long: "<<n_long<<endl; cout<<"Minimum int value= "<<INT_MIN<<endl; cout<<"Bits per byte= "<<CHAR_BIT<<endl; return 0; }
(4)無符號數 使用unsigned標記spa
無符號數 /如何使用無符號類型,程序試圖超越整型的限制時將產生的結果 //這些整型變量的行爲就像里程錶,一旦超出了限制,其值將爲範圍另外一端的取值 #include<iostream> #define ZERO 0 #include<climits> int main() { using namespace std; short sam=SHRT_MAX; unsigned short sue=sam; cout<<"Sam has "<<sam<<" dollars and sue has "<<sue<<" dollars deposited."<<endl; cout<<"Add $1 to each account."<<endl<<"Now "; sam=sam+1; sue=sue+1; cout<<"Sam has "<<sam<<" dollars and sue has "<<sue<<" dollars deposited."<<endl; sam=ZERO; sue=ZERO; cout<<"Sam has "<<sam<<" dollars and sue has "<<sue<<" dollars deposited."<<endl; sam=sam-1; sue=sue-1; cout<<"Sam has "<<sam<<" dollars and sue has "<<sue<<" dollars deposited."<<endl; cout<<"Lucky sue!"<<endl; return 0; }
(5)char類型:字符和小整數指針
//值的類型引導cout選擇如何顯示值 //ch其實是一個整數,所以能夠對它使用整數操做 #include<iostream> int main() { using namespace std; char ch='M'; int i=ch; cout<<"The ASCII code for "<<ch<<" is "<<i<<endl; cout<<"Add one to the character code:"<<endl; ch=ch+1;//對ch使用整數操做 i=ch; cout<<"The ASCII code for "<<ch<<" is "<<i<<endl; cout<<"Displaying char ch using cout.put(ch):"; cout.put(ch);//成員函數調用 經過類對象cout來使用函數put() cout.put('!'); cout<<endl<<"Done!"<<endl; return 0; } //cout<<'$';//打印$的ASCII值 //cout.put('$');//打印字符$
2.浮點數code
float和double類型精度差別 //float和double類型及它們表示數字時在精度方面的差別 //float確保至少有6位有效位,double確保至少有15位有效位 //浮點常量默認爲double類型 #include<iostream> int main() { using namespace std; cout.setf(ios_base::fixed,ios_base::floatfield); float tub=10.0/3.0; double mint=10.0/3.0; const float million=1.0e6; cout<<"tub= "<<tub; cout<<",a milloin tubs= "<<million*tub; cout<<",\n and ten million tubs = "<<10*million*tub<<endl; cout<<"mint= "<<mint<<" and a million mints = "<<million*mint<<endl; return 0; }
浮點數的優缺點 //浮點數的優缺點 //1.能夠表示整數之間的值。2.有縮放因子因此表示值的範圍更大 //a、運算速度比整數慢。b、精度下降 #include<iostream> int main() { using namespace std; float a=2.34e+22f; float b=a+1.0f; cout<<"a= "<<a<<endl; cout<<"b-a= "<<b-a<<endl; return 0; } //程序運行結果b-a的值等於0. 問題在於a的值是一個小數點左邊有23位的數字。加上1就是在第23位加1 //但float類型只能表示數字中的前6位或前7位,所以修改第23位對這個數的值不會有影響。
3.C++算術操做符對象
(1)基本操做符+、-、*、/、%(要求兩個操做數都是整型)blog
(2)僅當兩個操做符被用於同一個操做數時,優先級和結合性規則纔有效。同一優先級如2*3+3*4沒有指出應該先算哪一個乘法。內存
(3)除法分支:當有操做數爲浮點數時,結果也爲浮點數。對不一樣類型進行運算時,C++把它們轉換成同一類型。
//c++中的/運算 //在對不一樣類型進行運算時,把它們轉換爲同一類型 #include<iostream> int main() { using namespace std; cout.setf(ios_base::fixed,ios_base::floatfield); cout<<"Integer division:9/5= "<<9/5<<endl; cout<<"Floating-point division:9.0/5.0= "<<9.0/5.0<<endl; cout<<"Mixed division: 9.0/5= "<<9.0/5<<endl; cout<<"double constants:1E7/9.0= "<<1e7/9.0<<endl; cout<<"float constants:1e7f/9.0f= "<<1e7f/9.0f<<endl; return 0; }
(4)類型轉換
//強制類型轉換 #include<iostream> int main() { using namespace std; int duks,bats,coots; duks=19.99+11.99; //31.98賦給變量duks時,被截短爲31 bats=(int)19.99+(int)11.99; //在進行加法運算以前先被截斷爲19和11,因此變量的值爲30 coots=int(19.99)+int(11.99); cout<<"duks= "<<duks<<",bats= "<<bats<<",coots= "<<coots<<endl; char ch='Z'; cout<<"The code for "<<ch<<" is "<<int(ch)<<endl;//利用強制轉換打印字符對應的整數。 return 0; }