C++語言中加入了面向對象的概念,雖然C語言的語法絕大部分都被保留在C++語言中,但C++的程式結構與C語言的程式結構存在很大差別。C++語言對C語言做了很多改進,C++語言相對於C語言的最根本的變化是引進了類和對象的概念。 ...
一、C++的特點
1、C++語言的特點
它是C語言的繼承,儘量相容C語言,既保持了C語言的簡潔和高效,可以像C語言那樣進行結構化程式設計,同時也增強了C語言對類型的處理。
加入了面向對象的特征,可以進行以抽象數據類型為特點的基於對象的程式設計,還可以進行以繼承和多態為特點的面向對象的程式設計。
2、與C語言相比,C++語言的優點:
(1)從程式運行的穩定性來說,C++語言比C語言更安全,它支持過程化編程、面向對象編程和泛型編程。因為能夠支持面向對象的開發方式,所以C++語言的應用領域更加廣泛。
(2)C++語言可運行於多種平臺上,如Windows、MAC操作系統及UNIX的多種版本。
(3)C++語言中加入了面向對象的概念,雖然C語言的語法絕大部分都被保留在C++語言中,但C++的程式結構與C語言的程式結構存在很大差別。C++語言對C語言做了很多改進,C++語言相對於C語言的最根本的變化是引進了類和對象的概念。
二、基礎語法
C++工程中只能有一個main() 函數
1、基本的輸入/輸出
在C++中,可以使用流提取運算符“>>”從標準輸入設備鍵盤取得數據。
- cin 是一個標準的輸入流對象, “cin>>x;”從鍵盤獲取輸入數據並賦給變數x。使用cin可以獲得多個來自鍵盤的輸入值。
- cout是一個標準輸出流對象,使用流插入運算符“<<”向輸出設備屏幕輸出信息。
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
2、頭文件
頭文件:在C++中一個C++源文件如果要使用其他C++文件的內容,那麼他必須包含其頭文件,使用#include指令
- ostream是C++的標準輸入/輸出流。當在程式中使用cin或cout時,必須在程式的最前麵包含這個流。
- 每條#include指令僅可以包含一個頭文件,如果需要包含多個頭文件,則需要使用多條#include指令。
- 在C++中,頭文件不再以“.h”結尾,以“.h”結尾的頭文件是C語言中常用的頭文件。
當使用尖括弧時,C++編譯器將首先在C++系統設定的目錄中尋找要包含的文件,如果沒有找到,再到指令中指定的目錄中去查找。採用雙引號時,C++編譯器在用戶當前目
錄下或指令中指定的目錄下尋找要包含的文件。例如,要包含e:\myprog目錄下的頭文件ex1.h,相應的語句如下:#include"e:\myprog\ex1.h“
常用的頭文件有以下一些。
- 標準輸入輸出流:<iostream>。
- 標準文件流:<fstream>。
- 標準字元串處理函數:<string>。
- 標準數學函數:<cmath>。
#include <iostream> #include <string> #include"e:\myprog\ex1.h“
3、命名空間
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; }
4、C++中的基本數據類型
整型:整形包括短整型、整形和長整形。
- 1、短整形:兩個位元組,例如:short a=1;
- 2、整形:一般占4個位元組(32位),最高位代表符號,0表示正數,1表示負數,取值範圍是-2147483648~2147483647,在記憶體中的存儲順序是地位在前、高位在後;定義:用int關鍵字,例:int a=6;
- 3、長整形:一般8位元組 long a=10;
浮點型:浮點型包括單精度型和雙精度型。
- 1、單精度型浮點型,又稱實型,也稱單精度。一般占4個位元組(32位),例如:float a=4.5;
- 2、雙精度型:一般占8個位元組(64位) 例如: double a=4.5;
字元類型:在各種不同系統中,字元類型都占一個位元組(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; }
5、數據類型轉換
強制類型轉換(顯式類型轉換):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 類型
6、C++程式的編輯步奏
編寫C++程式一般需經過的幾個步驟依次是:編輯、編譯、連接、運行
- 編輯:編寫.cpp的源文件
- 編譯:C++編譯器將源文件編譯位為位元組碼文件
- 連接:鏈接就是把自己寫的源代碼的目標文件與庫函數的目標文件組合起來(#include指令),生成最終的可執行文件
- 運行:執行.exe