一、C++語言的特色
它是C語言的繼承,儘可能兼容C語言,既保持了C語言的簡潔和高效,能夠像C語言那樣進行結構化程序設計,同時也加強了C語言對類型的處理。
加入了面向對象的特徵,能夠進行以抽象數據類型爲特色的基於對象的程序設計,還能夠進行以繼承和多態爲特色的面向對象的程序設計。ios
二、與C語言相比,C++語言的優勢:
(1)從程序運行的穩定性來講,C++語言比C語言更安全,它支持過程化編程、面向對象編程和泛型編程。由於可以支持面向對象的開發方式,因此C++語言的應用領域更加普遍。
(2)C++語言可運行於多種平臺上,如Windows、MAC操做系統及UNIX的多種版本。
(3)C++語言中加入了面向對象的概念,雖然C語言的語法絕大部分都被保留在C++語言中,但C++的程序結構與C語言的程序結構存在很大差異。C++語言對C語言作了不少改進,C++語言相對於C語言的最根本的變化是引進了類和對象的概念。編程
C++工程中只能有一個main() 函數安全
一、基本的輸入/輸出函數
在C++中,可使用流提取運算符「>>」從標準輸入設備鍵盤取得數據。spa
void cinAndCout(){ int x=0; cin>>x; cout << "Hello, World!=>" << x << endl; }
真題:已知:"int a=5;char c='a';"則輸出語句cout<<c+1<<a<<c;的顯示結果是(985a) 解答:'a'+1 是一個算數運算,a轉爲int 對於的ascII 嗎是97 因此 c+1=98操作系統
二、頭文件設計
頭文件:在C++中一個C++源文件若是要使用其餘C++文件的內容,那麼他必須包含其頭文件,使用#include指令code
當使用尖括號時,C++編譯器將首先在C++系統設定的目錄中尋找要包含的文件,若是沒有找到,再到指令中指定的目錄中去查找。採用雙引號時,C++編譯器在用戶當前目
錄下或指令中指定的目錄下尋找要包含的文件。例如,要包含e:\myprog目錄下的頭文件ex1.h,相應的語句以下:#include"e:\myprog\ex1.h「對象
經常使用的頭文件有如下一些。blog
#include <iostream> #include <string> #include"e:\myprog\ex1.h「
三、命名空間
C++中爲了不名字定義衝突,特別引入了「命名空間」的定義,即namespace。命名空間的做用是爲了消除同名引發的歧義。 using namespace std;
namespace 命名空間名{
命名空間內的各類聲明(函數聲明、類聲明、……)
}
namespace MyTest{ int add(int a,int b){ return a+b; } } int main() { int m=MyTest::add(1,3); cout << "m=:" << m << endl; return 0; }
四、C++中的基本數據類型
整型:整形包括短整型、整形和長整形。
浮點型:浮點型包括單精度型和雙精度型。
字符類型:在各類不一樣系統中,字符類型都佔一個字節(8位)。例如: char c='a'; 也能夠用字符對應的ASCII碼賦值,如:char c=97;
#include <typeinfo> void number(){ int num_I=10; long num_L=12; short num_s=20; float num_f=12.3; double num_d=12.3; char num_c='A'; cout<<"type"<< typeid(num_I).name()<<endl; }
五、數據類型轉換
強制類型轉換(顯式類型轉換):static_cast用於將一種數據類型轉換成另外一種數據類型,使用格式以下:static_cast<類型名>(表達式)其功能是把表達式轉換爲類型名所指定的類型。static_cast也能夠省略。
int oneInt2=static_cast<int>(12.34); //強制類型轉換 int oneInt3=int(12.34); //強制類型轉換運算符的新形式 int oneInt4=(int)12.34; //強制類型轉換運算符的舊有形式 int oneInt5=12.34; //自動類型轉換
隱式類型轉換:
long num_L=12; double num_d=12.3; cout<<"type="<< typeid(num_L+num_d).name()<<endl; // d double 類型
六、C++程序的編輯步奏
編寫C++程序通常需通過的幾個步驟依次是:編輯、編譯、鏈接、運行