標頭檔案c語言
c++stido.h
iostream
math.h
cmath
string.h
cstring
sdilib.h
cstdlib
。。。命名空間
重複的識別符號
using namespace std; //使用std命名空間
std :: cout << .... 註明cout來自於哪個命名空間
cout cin endl 都是在 std 的命名空間
輸入輸出iostream
printf() scanf()
cout << //輸出
cin << //輸入
endl << //換行
ends <<
基本資料型別
幾乎一樣
int short char float double usigned long
c++新增布林變數
true false
實際執行是 true當做1來使用,false 當做 0
讓**看上去更直觀,while(true)
結構體在 c 中定義乙個結構體,型別的struct不能省略,c++中可以省略
struct stu;
stu s1; //c++風格
struct stu s1; //c風格
強制型別轉換
double a = 3.8;
double b = 6.6;
int c = 30;
int d;
d = c + (int)(a + b); //c風格
d = c + int(a + b); //c++風格
條件運算子 ? :
(a
for迴圈
int i;
for(int i = 0;i<10;i++)//c中必須先定義
for(int i = 0;i<10;i++)//c++中在第乙個表示式中定義,節約記憶體,程式結束釋放
作用域運算子 ::
區分全域性和區域性(變數與函式)
類的作用域
男人 吃飯 eat()
女人 吃飯 eat()
cat 吃飯 eat()
命名空間
using namespace std;
動態記憶體分配
程式語言
開闢記憶體
釋放記憶體方式c
malloc
free
函式c++
new new
delete delete
運算子
int main()
變數的引用&(important)
void swap(int a,int b)
void swap(int* a,int* b)
void swap(int& a,int& b)
int main()
c++:內建函式 (內聯)
關鍵字 inline:編譯的過程中,將所呼叫的函式**直接嵌入到主調函式中
注意:內建函式可以節省執行時間,增加目標**的長度
是使用內建函式時,5行以內,經常出現的函式
不能包含負責的語句,迴圈,switch
inline 比較靈活,並不是乙個指令性的關鍵字
inline 只是乙個建議,編譯器採納與否與程式設計師無關
inline int max(int a,int b,int c)
int main()
帶預設引數的函式
宣告時給形式引數賦值,呼叫時可以不用賦值
呼叫函式是,實際引數個數 = 形式引數個數 - 預設引數個數
形式引數有一些初始化,一些不初始化,需要初始化的 放在引數列表 右邊
int max(int a = 10,int b = 15,int c=18);//宣告時賦值
int main()
int max(int a,int b,int c)
函式的過載
函式名一樣,引數列表個數、型別、順序不一樣
在呼叫的時候,編譯器會自動選擇合適的函式
返回值型別並不能決定是不是函式過載
不能有歧義,函式過載不能與帶預設引數的函式起衝突
運算子過載
& 取位址運算子、按位與、引用
class complex;
complex operator +(complex& c1 ,complex &c2)
int max(int a,int b,int c);
float max(float a,float b,float c);
double max(double a,double b,double c);
int main()
int max(int a,int b,int c)
int max(int a,int b,int c){}
int max(int a,int b,int c){}
函式模板(引數化思想)
函式模板,模板函式
建立乙個通用的函式,函式的型別和引數的型別可以不指定
凡是函式體相同的多個函式,都可以使用函式模板
類模板,模板類
引數化 軟體開發過程中必須要掌握的一種思想,他提出將各種相同的概念用引數來代替使用,將具體的東西帶入這個引數即可
#include using namespace std;
//函式模板
tempalte ;//tempalte tempalte ;//tempalte t1 max(t1 a,t2 b,t1 c);//流入三個介面
int main()
tempalte t1 max(t1 a,t2 b,t1 c)
5 c語言陣列
其中包括 冒泡 高精度加法 統計不相同的數字個數 陣列 陣列元素倒序輸出 go 1 include 234 5功能 冒泡67 6功能 高精度加法78 9void main 10 12int b m 13int c m 14char s m 1 15 int i 0 16 int n1 0 17 in...
5 C 集合與陣列
也就是陣列。具體表示方法是 資料型別 維數 陣列名 new 資料型別 陣列有很多的優點,比如說陣列在記憶體中是連續儲存的,所以它的索引速度是非常的快,而且賦值與修改元素也很簡單,比如 宣告乙個一維陣列 intarray1 new int 3 初始化乙個一維陣列 intarray1 new int 3...
C 筆記 C語言與C 的區別
c語言是結構化和模組化的語言,面向過程。未完全實現解決軟體設計危機 比如 行上千萬 的目標。c 保留了c語言原有的所有優點,增加了物件導向的機制。還對c語言的功能做了補充 1.變數的定義可以出現在程式中的任何行 2.提供了標準輸入輸出流物件cin,cout 3.用const定義常變數 4.函式過載 ...