【C++學習之路】第一章——C++核心方法總論

1 C++核心方法總論

1.1 核心思想

通過實際項目來學習編程,更高效掌握編程規則,以及明白各種語法規則的實際應用。

實驗思想:任何C++的參考資料都不可能覆蓋你遇到的所有問題,這個時候,最好的辦法就是,編輯代碼試一試,理論分析這些有用,不過最終還是要歸結到親自實驗驗證!

1.2 學習C++的方法論

1.2.1 核心方法

  • 在實戰中學習
  • 在錯誤中學習
  • 及時回顧復習

1.2.2 具體實操方法

  • 掌握編程思維
  • 不刻意記憶語法規則,修煉實戰技能
  • 在循序漸進的實戰項目中學習
  • 不斷試錯,在錯誤中學習成長

1.2.3 解決錯誤的辦法

  1. 自己研究30分鐘
  2. 查閱書籍資料,百度谷歌等
  3. 重復1,2,如果實在解決不了可以問高手牛人
  4. 將問題解決方案記錄下來(CSDN博客)
  5. 及時回顧復習,在以后遇到類似問題時候,強化刺激,進一步加深理解
  6. 補充說明:對于初學者來說,建議“不懂就問”,自己研究很可能是在浪費時間

1.2.4 C++語法學習法則

1.2.4.1 核心原則

記憶語法規則不是最關鍵的,能夠在實戰中靈活運用才是最重要的!不要刻意記憶各種語法規則,能夠掌握常用的即可。

1.2.4.1 最原始本質的語法規則

  1. 語法單位之間,由至少一個分隔符隔開,分隔符有:空格、縮進符(Tab)和換行符(Enter)。
    舉例說明:
/*常見風格一*/
int main(void)
{return 0;
}/*常見風格二*/
int
main(void)
{return 0;
}
  1. 所有字符必須是英文狀態下的(字符串內容除外)
  2. 每一句完整的指令最后要加上“;”(英文的分號)【注意,在C/C++中,分號是語句的組成部分,并不是分隔符】
  3. #include、#define 等預處理命令,必須一行一條

1.2.5 核心學習回路

回顧復習,鞏固所學
學會下一個知識點
知道自己怎么學會的

1.3 C++開發環境

1.3.1 概念

C++開發環境,即C/C++程序員的工具包,能夠讓程序員實現如下操作:

  • 編輯代碼
  • 編譯、鏈接
  • 調試
  • 運行程序

1.3.2 開發工具

即構建開發環境所需要的工具,開發環境至少包含

  • 編輯器:程序員編輯代碼的工具
  • 編譯器:將程序員的代碼轉換為計算機可識別的代碼的工具
  • 調試器:程序員用來解決bug的工具

1.3.3 開發工具的種類

  • 分開:編輯器,編譯器,調試器是三個不同的工具
  • 集成:IDE(集成開發環境),三個工具整合為一個
    IDE集成開發環境示意圖

1.4 編程的本質

1.4.1 編程的本質

  • 對數據的控制,失控是會造成災難的,失控就是bug,bug就必須要修復
  • 對數據的處理,函數是處理的方法
  • 編程,就是用程序員的思維,控制計算機來完成對數據的處理。因此編程思維修煉至關重要

1.4.2 C/C++的特點

C/C++與其他語言的最大的區別,在于【極度掌控】,能夠直接控制內存的使用

1.4.3 程序失控造成的災難

計算機時鐘 BUG 導致美軍海灣戰爭中,唯一過百的傷亡(死 28 人,傷 100 余人)
BUG 事件:1991 年 2 月,美軍的愛國者反導彈系統失效,未能攔截伊拉克的飛毛腿導彈,宰
赫蘭基地被炸毀,場炸死 28 個美國士兵,炸傷 100 多人,造成美軍海灣戰爭中唯一一次傷
亡超過百人的重大損失。
BUG 分析:愛國者反導彈系統,每工作 1 小時,系統時鐘延時 3ms 左右,當時已經連續工作
了 100 小時,延時達到三分之一秒!飛毛腿導彈足以擊中目標了!

1.4.4 避免失控

我們一定要關注,并且避免程序的失控,一定要提高程序標準,這是一門需要高精密水準的專業技能。
可能出現的、不易察覺的失控【編譯鏈接通過,程序運行良好,但是有潛在隱患】

  • 內存泄露
  • 堆棧溢出
  • 小規模數據運行良好,大規模數據運行崩潰
  • ……

以上都需要可以關注和避免!在以后章節的學習中要關注細節,這非常重要,否則,他們可能造成很大的災難!

1.5 代碼風格與規范

個人有自己獨特的代碼風格,但是,在與公司的代碼規范要求不沖突的前提下,才能使用自己的代碼風格,初學者建議跟隨著牛人、專業書籍中的代碼規范進行模仿學習,是的,對于初學者來說,模仿真的很重要。

【版權聲明】C++學習之路系列內容,是本人跟隨ROCK老師的課程學習,加上書籍的研究,經過思考實踐后記錄下來的內容,內容涉及到老師的課程內容,若侵權請聯系我刪除。

在此也附上我學習課程的鏈接:https://ke.qq.com/course/388295

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/384802.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/384802.shtml
英文地址,請注明出處:http://en.pswp.cn/news/384802.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【Verilog HDL學習之路】第一章 Verilog HDL 數字設計總論

1 Verilog HDL 數字設計總論 1.1 幾個重要的概念 EDA(Electronic Design Automation) 電子技術自動化 EDA工具 類似于軟件工程中的IDE(集成開發環境),能夠使用Verilog HDL語言描述電路設計,并且能夠通過邏…

【學會如何學習系列】從嬰兒到大學——學習的本質從未改變過

從嬰兒到大學——學習的本質從未改變過 從我們出生一直到現在,其實,學習的本質從來都沒有改變過,并且,嬰兒時期的我們,是學習能力最強的時候,隨著我們不斷長大,外界的誘惑越來越多,…

【匯編語言學習之路】第一章 匯編語言核心方法論

版權聲明:本學習筆記是本人根據小甲魚“匯編語言學習課程”和《匯編語言》(王爽)的書籍,來記錄筆記的 1 匯編語言核心方法論 1.1 學習匯編語言的必要性 匯編語言與機器語言是一一對應關系,它的本質是機器語言的代號。…

藍橋單片機賽題及模擬題代碼

鏈接:https://pan.baidu.com/s/1BVB6VILEed0ufqRDMhvALg 提取碼:ukx7

【Verilog HDL學習之路】第二章 Verilog HDL的設計方法學——層次建模

2 Verilog HDL的設計方法學——層次建模 重要的思想: 在語文教學中,應該先掌握核心方法論,再用正確的方法論去做題目,這樣能夠逐漸加深對于方法論的理解,做題的速度和準確率也會越來越高。在Verilog HDL中&#xff0c…

stm32機械臂資料含視頻

這是在網上買的機械臂的資料 含視頻及相關軟件 在這里分享給大家 不過很大 但是內容很全 鏈接:https://pan.baidu.com/s/1Fd18ww8jxLH8ChqomstZtw 提取碼:147g

【Verilog HDL】第四章 模塊的端口連接規則——污水處理模型

先放上連接規則的簡圖,再詳細解釋 1. 構建模型——污水處理之流水模型 我們先將上述結構構件一個簡單模型,以幫助我們理解。 污水:輸入數據凈水:輸出數據雙向數據暫不討論,取輸入和輸出的交集即可污水處理廠&…

藍橋杯嵌入式第七屆模擬題 代碼

鏈接:https://pan.baidu.com/s/1fdGC20A51axxPGpoyRL8-w 提取碼:by4u

三級嵌入式選擇知識點整理

SoC芯片 通用SoC是系統級芯片 既可以是單核 也可以是多核 該芯片中可以包含數字電路 模擬電路 數字模擬混合電路 及射頻電路 片上系統可使用單個芯片進行數據的采集 轉換 儲存 處理 及I/O口功能 智能手機 和平板都使用的SOC WAV是未壓縮的數字音頻 音質與CD相當 音頻視頻壓縮…

【Verilog HDL】命名的規則研究

Verilog命名規范參考資料 1. 什么可以被命名? 模塊的名稱模塊實例的名稱各種數據類型的名稱 這些名稱我們稱之為標識符,標識符的命名規則不再強調,與C語言類似,字母、數字、下劃線(_)和美元符號&#xf…

【Verilog HDL】深入理解部分語法規則的本質

1. 門級描述 統一規則: 門類型 (輸出,輸入); 細化規則: 與/或門: 多入一出 門 (輸出,輸入1,輸入2,……);緩沖門/非門:一入多出 門 (輸出1,輸出2,……輸出n,輸入); 門…

三級嵌入式填空整理

實時 可預測性是實時系統的重要性能標準 按照響應時間 實時操作系統可分為 1.普通實時操作系統 響應時間一般是秒級 2.強實時操作系統 響應時間為毫秒和微秒級 3.弱實時操作系統 響應時間為數十秒 RTOS 響應中斷請求并完成相應中斷服務子程序的時間非常快 這個時間具有一致性…

【Verilog HDL】從邏輯電路圖到門級建模——人工翻譯的方法論

從左到右,從上到下 先搞定緩沖/非門,再寫與/或門 1. 實例解讀 先以四選一數據選擇器進行說明 對于數字邏輯的部分不再說明,直接進行邏輯電路圖到Verilog門級建模的人工翻譯過程的描述。 1.1 端口和線網分析 確定輸入/輸出端口 輸入端口 …

三級嵌入式 匯編指令匯總

ARM條件碼 EQ 相等 NE 不相等 CS/HS 無符號大于等于 CC/LO 無符號小于 HI 無符號大于 LS 無符號小于等于 GE 帶符號大于等于 L…

【Verilog HDL】語句的并發執行

1. 實踐得到的啟發 先從一個簡單的現象得出結論,Verilog語句是并發執行的! 同時,這也是**$monitor系統任務為全局有效**的一個重要支持因素,如果沒有并發,它是完不成這項功能的實現的。 眾所周知,高級語…

linux下 最常用基本命令

常用命令 基本命令 pwd 打印絕對路徑 ls 路徑 列舉文件名 ls 列舉文件的權限 屬于哪個用戶 容量大小 修改…

【數字邏輯】第四章 組合邏輯電路:端口設計 端口拓展的方法

1. 端口設計的方法 1.1 數據選擇器 以四選一數據選擇器為例,需要的不同接口類型為 輸入端口 數據輸入端口地址輸入端口使能端(控制與拓展) 輸出端口 數據輸出端口 2. 端口拓展的方法——層次建模思想 2.0 兩個拓展方向 2.0.1 “數組型…

GCC及Makefile基本使用教程

GCC .c c原始程序 .C/.cc/.cxx c原始程序 .m objective-C原始程序 .i 已經預處理過的c原始程序 .ii 已經預處理過的c原始程序 .s/.S 匯編原始程序 .h 預處理頭文件 .o 目標文件 .a/.so 編譯后的庫文件 -E 生成預處理文件 -S 生成編譯過的匯編文件 -c 目標文件 .o -o…

【Verilog HDL】第三章 reg和net及其一組類型的區別——充分運用實驗思維

0 確定問題的討論層級與范圍 本文討論的層次是 數字邏輯與Verilog HDL語言 討論的范圍是: 數據存儲而不是討論邏輯 1 線網類型 1.1 wire類型 這個暫時沒什么好說的,一般常用的就是wire類型,需要注意的是: 默認是標量&…

linux中標準I/O 文件I/O 及庫

標準 I / O fopen() 函數打開文件的方式 r / rb 只讀 文件必須存在 r / rb 讀寫 文件必須存在 w / wb 只寫 文件存在則長度清零 不存在則創建 w / wb 讀寫 其他 同w a / ab 同w 且寫入的數據會被追加到文件末尾 a / ab 讀寫 數據在文件末尾追加 其…