聲明:
本系列是我從csdn上學習c++語言基礎記錄的筆記,是跟著賀利堅老師所學,這位老師在教學上有獨特的見解,而且人非常耐心,他的課程也非常適合我這種跨專業程式語言學習者。
本系列將記錄C++語言學習的點點滴滴,內容中會有部分賀老師的課件截圖,現已獲得賀老師授權,發出來分享給大家。
各種程式語言類比
1.1 C++概述1.2 為什麼要學習c++?C++是高性能軟體開發的傑出語言,它的語法已經成為專業程式語言的標準,並且它的 設計思想在計算界引起深刻的反響。Java和C#語言都是從C++發展而來的。
C++是現代編程的基礎。
C++被廣泛應用於教學和研究。這很令一些人吃驚,因為有些人曾 經——正確地——指出,C++並不是已經設計的各種語言中最小和 最清晰的。但不管怎樣,它是:
對於教授基本概念而言是足夠清晰的。
對於深刻的項目而言足夠現實、高效和靈活的。
對依賴各種不同開發和執行環境的組織或研究機構而言,使 用起來足夠方便。
對作為教高級概念和技術的媒介而言,足夠的容易理解。
對作為從學習到非學術使用的工具而言,也足夠商業化。
1#include<iostream>//包含頭文件iostream
2using namespace std;
3int main()
4{
5 cout<<"Hello World."<<endl;
6 return 0;
7}
8
C 和C++中都用數值1代表「真」,用0代表「假」。
C++增加了邏輯型數據類型:bool型
邏輯型常量只有兩個,即false(假)和true(真)。
bool found,flag=false;
found=true;
邏輯型使程序直觀易懂。
在編譯系統處理邏輯型數據時,將false處理 為0,將true處理為1。
在實際中,非0被視為「真」,0被視為「假」
邏輯型數據可以與數值型數據進行算術運算
邏輯運算的規則照舊
邏輯運算表
例:
1#include<iostream>
2using namespace std;
3struct student
4{
5 int no;
6 float math;
7};
8int main()
9{
10 int n;
11 cin>>n;
12 student wang;
13 wang.no=n;
14 cin>>wang.math;
15 cout<<wang.no<<" "<<wang.math<<endl;
16 return 0;
17}
1double x = 2.5,y = 4.7;
2int a = 25,b;
3b = a+(int)(x+y);
4y = double(5%3);
1int *p1,*p2,*p3;
2p1 = new int;
3p2 = new int[5];
4p3 = new int(5);
new為程序分配一塊內存空間,並返回指向該內存的首地址。
1delete p1;
2delete p3;
3delete[]p2;
用new獲取的內存空間,必須用delete進行釋 放;
C語言中由malloc()函數分配內存, 由free()函數釋放內存
例:
1#include <iostream>
2using namespace std;
3float a = 2.4;
4int main()
5{
6 int a = 8;
7 cout<<a<<endl;
8 cout<<::a<<endl;
9}
例:
1#include <iostream>
2
3float a = 2.4;
4int main()
5{
6 int a = 8;
7 std::cout<<a<<std::endl;
8 std::cout<<::a<<std::endl;
9}
10
例
1int a;
2int &b = a;
3a = 20;
4cout<<b<<endl;
聲明變量b為引用類型,不另開闢內存單元來存放b的值。
b和a佔內存中的同一個存儲單元,它們具有同一地址。
a或b的作用相同,都代表同一變量。
引用可以理解為:使變量b具有變量a的地址。
&是引用聲明符,並不代表地址。不同於「把a的值賦給b的地址」。
例:
1#include <iostream>
2#include <iomainp>
3using namespace std;
4int main()
5{
6 int a = 10;
7 int &b = a;
8 a = a*a;
9 cout<<a<<" "<<b<<endl;
10 b = b/5;
11 cout<<b<<" "<<a<<endl;
12 return 0;
13}
增加引用類型,主要用於擴充函數傳遞數據功能
1#include <iostream>
2using namespace std;
3void swap(int &a,int &b);
4int main()
5{
6 int i,j;
7 i = 3,j = 5;
8 swap(i,j);
9 cout<<"i="<<i<<" "<<"j="<<j<<endl;
10 return 0;
11}
12void swap(int &a,int&b)
13{
14 int temp;
15 temp = a;
16 a = b;
17 b = temp;
18}
常變量:在定義變量時,加上關鍵字 const,則變量的值在程序運行期間不 能改變
例:
1const int a = 3;
2const int b = 3 + 6,c = 3*cos(1.5);
例:
1#include<iostream>
2using namespace std;
3const int price = 30;
4int main()
5{
6 int num,total;
7 num = 10;
8 total = num*price;
9 cout<<"total="<<total<<endl;
10 return 0;
11}