c到c 的過渡

2021-10-02 16:09:24 字數 4517 閱讀 4810

1.c到c++的過度  1

2.類和物件  2

3.繼承與派生  1

4.運算子過載  1

5.多型   1

6.函式模板與類模板  1

7.異常與檔案   1  c++的基本知識

------------------------------------

8.stl 標準模板庫     2

9.設計模式  2

10.qt 2+ mysql 1

1.彙編 低階語言 可以直接操作硬體

mov移植性差

第一代高階語言

for tran(formula translation)

用來工程問題中或者數學問題中用數學公式表達的問題

b語言(計算機字)

dennis ritchie

unix作業系統

c語言能夠管理計算機資源 處理計算機與使用者之間的一組程式

移植性好,高階語言

變數名實質上是一段連續空間的別名。

力扣網c語言  ------------------------------c++(c++是帶類的c)

面向過程                                      物件導向

物件導向他不是語法,他是寫**的一種思想

面向過程:1.資料(程式使用和處理的資訊)

2.演算法(程式使用的方法)

過程化程式設計首先要確定計算機採取的操作,然後使用語言來實現操作

面象物件:

語言的更新一定是為了程式設計師更方便的敲**

許可權  移植性

名稱:變數/函式/結構體。。。的名稱 int a=1;

類庫 list stack

namespace

namespace的簡單用法

#include

namespace first_namespace 

namespace third_namespace

}namespace second_namespace

}int main()

//using 宣告  using編譯指令

//using 宣告:

//     (main外部)using first_namespace::a

//using 編譯指令:

//        (using namespace ***):使得命名空間的所有名稱都可用

//  using namespace std:   standard 標準化 cout - printf cin - scanf

//  c++標頭檔案

// (c的標頭檔案在c++都可用)#include

//   #include

#include

using namespace std;

//  #include

int main()

//bool 布林型別 基本資料型別  int double long char

//(boolen)

//bool ---- true / false 1,0

#include

using namespace std;

int main()

;cout << sizeof(str) << endl;//str是乙個指標 指標永遠只占用4個位元組

cout << sizeof(strl) << endl;//sizeof-實際所佔位元組大小

cout << strlen(str) << endl;//strlen-計算字串長度

cout << strlen(strl) << endl;

//true false 都可以通過提公升轉換為int型

//true-1 false-0任何非零的值都被轉為true(1)只有0被轉為false(0)

b = 0;

cout << b << endl;

a = b;

cout << a << endl;

return 0;

}//運算子 單:++ - a++ , b--

//       雙: + - /  a + b

//       三:(只有乙個三目運算子)a > b ? a : b

#include

using namespace std;

int main()

//c++ 其實是乙個真實的常量 不是乙個變數

//"符號表"編譯器並不會為這個常量分配儲存空間

const作用

//  1... 2 3 4

與 #define (#define pi 3.1415926)

//   1 const是可以修飾資料型別的 #define是無資料型別的

//   2 #define 由預處理器來處理的 是一種單純的文字替換

//     const 由編譯器處理

//   3 const 是可以用於複雜的型別  結構體 陣列 #define ....

#include

using namespace std;

int main()

//1.引用是已經定義好的 變數的 別名

//一旦執行 互為別名 並且他們同時指向相同的值和相同的記憶體單元

//2.引用的意義何在?

//  函式呼叫(值傳遞呼叫 指標傳遞呼叫)引用傳遞

//            值傳遞:只能改變形參但不能改變實參

//            引用傳遞有更好的可讀性和實用性

//            並且在一些場合可以替代指標

//3.引用的本質

//  typename &name = typename *const name;(常指標)

//  引用他是有自己的儲存空間的

//4.函式的返回值是引用的情況

//  1.不能返回區域性變數的引用(棧變數)(可以返回全域性變數的引用)

//  2.函式呼叫的時候可以作為左值()

//記憶體分割槽的模型

//1 **區 存放的是函式體的二進位制** 由作業系統管理

//2 全域性區 存放的全域性變數 static變數(靜態變數)以及常量

//3 棧區   存放的是函式的引數值,區域性變數,由編譯器自動分配釋放

//4 堆區   由程式設計師分配和釋放,假如程式設計師不釋放 程式結束時作業系統會自己** 指標 malloc new delete

#include

using namespace std;

/*struct student

;void swap1(int a, int b)//交換兩個變數的值

void swap2(int *a, int *b)

void swap3(int &a, int &b)

*/int& test1()

int& test2()

int main()

//普通引用 int &b = a;

//常引用 const int& y = x; 讓變數y擁有唯讀屬性,不能通過y來改變x的值

//用變數初始化常引用

//int a = 20;

//const int &y = a;

//用常量初始化常引用

//const int& a = 100;

//內聯函式

//內聯函式優點:節省時間,執行速度變快 缺點:消耗空間 特點:用空間換取時間

//普通函式呼叫過程

//一般將內聯函式用於非常簡短的**

//內聯函式編譯的限制

//    1.不能存在任何形式的迴圈語句

//    2.不能存在過多的條件判斷語句

//    3.不能對函式進行取位址操作

//    4.函式的內聯宣告必須在呼叫之前

//內聯函式與#define的區別

//1.#define 預處理階段 內聯函式在編譯時候展開的

//2.#define 沒有型別檢查 內聯函式是有型別檢查的

//3.#define 不是乙個函式 內聯函式本質上還是乙個函式

//4.編譯時候 內聯可以直接被鑲嵌目標**

//           #define 只是乙個文字替換

//  注意:#define 時候要注意小心處理巨集引數(勤加括號)

#include

using namespace std;

inline int cube(int a)

int main()

#include

using namespace std;

#define pi 3.1415926

#define s(r) pi*r*r

int main()

//1.當我們函式呼叫時候沒有指定這個引數的值,那麼編譯器會自動用預設的值來代替

//2.如果有多個預設引數  必須從右向左新增

#include

using namespace std;

int test(int a = 0)

double add(int l, double m = 17.7, double n = 70.9)

int main()

從C語言到c 的過渡

c 對c語言中設計不合理的地方的改進 c 98相關的知識點 c 98中進行過對c語言的語法做成模板的方式,包括標頭檔案時可以 h 98以後這種方案就被拋棄了 c 11相關的知識點 關鍵字 c99有32個。c 98繼承c語言,有63個關鍵字,c 對c語言有那些拓展?擴充了物件導向的概念,高度抽象化 c...

C 基礎 001 C到C 的過渡

二 c 對c的加強 2 實用性 增加 3 struct型別加強 4 新增bool型別關鍵字 5 三目運算子的增強 這個物件有下面的兩種說法 具體可以看看這篇文章 下面用一道程式設計題目來簡單說明一下 題目 在c 環境下,編寫程式使其輸入乙個半徑值,求這個半徑對應的圓的面積?程式如下 include ...

從C過渡到C

案例 輸出hello world include using namespace std int main int main 函式過載 函式名相同只有引數 個數或者型別 不同。命名空間 include namespace scope1 namespace scope2 int main 命名空間的作...