C 學習筆記(5) C語言與C 的區別

2021-10-23 06:08:29 字數 3300 閱讀 4344

標頭檔案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.函式過載 ...