C 學習記錄一

2021-07-26 18:30:45 字數 1396 閱讀 5416

概述

一、嵌入式開發中為什麼學習c++語言?

1、 嵌入式軟體工程師崗位需求

2、 面向過程程式設計vs物件導向程式設計

面向過程程式設計的特點:

①c語言的特點

*c語言是在時間的過程中逐步完善起來的

·沒有深思熟慮的設計過程(使用時存在很多「灰色地帶」)

·殘留量過多低階語言的特徵(直接利用指標進行記憶體操作)

*c語言的目標是高效的

·最終程式執行效率的高效

②面向過程的程式設計特點

面向過程程式設計:資料結構+演算法

*主要解決科學計算問題,使用者需求簡單而固定

*特點:分析解決問題所需要的步驟

利用函式實現各個步驟

依次呼叫函式解決問題

*問題:軟體可重用性差

軟體可維護性差

構建的軟體無法滿足使用者需求

物件導向程式設計的特點:

①物件導向的程式設計特點:

物件導向程式設計:由現實世界建立軟體模型

*將現實世界中的事物直接對映到程式中,可直接滿足客戶需求

*特點:直接分析使用者需求中涉及的各個實體

在**中描述現實世界中的實體

在**中關聯各個實體協同工作解決問題

*優勢:構建的軟體能夠適應使用者需求的不斷變化

直接利用面向過程方法的優勢而避開其劣勢

②c++語言的特點:

c語言+物件導向方**:objective-c、c++

3、 學習c++的優勢

*強化c語言程式設計能力、提高程式設計的**質量

*幫助學習其他程式語言

1、 c++之父:本賈尼·斯特勞斯特魯普

2、 c++標準:98、03、11、14

3、 c++11值得學習的特性

智慧型指標如shared_ptr、weak_ptr等

rvalue reference

function/bind

lambdaexpression and closure

4、 c++開發工具(ide:整合開發環境)eclipse cdt

《effective c++ 3rd》*必看、兩遍以上

《c++程式設計規範》

《敏捷軟體開發——原則、模式與實踐》

《**大全》(第二版)

從c到c++的公升級

1、 宣告定義

for(int i = 0; i< 5; i++)

i作用域:for迴圈,出了for迴圈不能用

c++支援c99,所有變數可以在需要時定義

c語言中的變數必須在作用域開始的位置定義

2、 register關鍵字的公升級

*register關鍵字請求「編譯器」將區域性變數儲存於暫存器中

·c語言無法取得register變數位址

·c++中可以取得register變數的位址

c 學習記錄(一)

函式簽名 除函式名以外的返回型別 引數等 include 格式 引用標準庫標頭檔案,編譯器從標準庫目錄開始搜尋 include 格式 引用非標準庫的標頭檔案,編譯器從使用者的工作目錄開始搜尋 malloc free函式 include 運算子過載 有些時候函式宣告在operator前有 有時候沒有 ...

C 學習中記錄(一)

js中的頁面跳轉和顯示 function searchform thisform,width,height 將查詢畫面的查詢條件返回父畫面 document.getelementbyid 記錄資料 value returntarget 0 cleradioboxsituationstr showlo...

個人C 學習筆記記錄(一)

extern const int a 1 這樣定義的常量才能被引用 extern const int a 是引用常量 在乙個工程中不能重複定義全域性變數 int a 3 int b a 用來引用a a的另乙個名字是b。不能用int b 3 這樣的形式。但是對於常量而言可以用const int b 3...