這個作業屬於哪個課程 | https://edu.cnblogs.com/campus/besti/2024-2025-1-CFAP |
---|---|
這個作業要求在哪裡 | https://www.cnblogs.com/rocedu/p/9577842.html#WEEK07 |
這個作業的目標 | ①陣列與連結串列②基於陣列和基於連結串列實現資料結構③無序表與有序表④樹⑤圖⑥子程式與引數 |
作業正文 | https://i.cnblogs.com/posts/edit |
教材學習內容總結 | |
1、 《電腦科學概論》第 8 章: |
- 翻譯過程:介紹了程式設計語言的翻譯過程,包括編譯器和直譯器。編譯器是將高階程式設計語言翻譯成機器語言的程式,經過編譯後的程式碼可以直接在計算機上執行,執行效率較高;直譯器則是逐行解釋執行高階程式設計語言的程式,執行速度相對較慢,但具有較好的可移植性。
- 程式設計語言的範型:講解了不同的程式設計語言範型,這是對程式設計方法的一種分類方式。常見的範型有命令式、物件導向、函式式等。不同的範型有各自的特點和適用場景,理解這些範型有助於選擇合適的語言進行程式開發。
- 命令式語言的功能性:對於命令式語言,重點介紹了其功能性方面的內容,如布林表示式用於邏輯判斷;強型別化保證了程式的安全性和正確性;輸入/輸出結構是程式與外部進行資料互動的方式;控制結構包括順序、選擇、迴圈等,用於控制程式的執行流程;複合資料型別可以將多個簡單資料型別組合在一起,方便資料的管理和操作。
- 面嚮物件語言的功能性:在面嚮物件語言方面,闡述了封裝、繼承和多型性等重要特性。封裝將資料和操作封裝在類中,提高了程式碼的安全性和可維護性;繼承允許子類繼承父類的屬性和方法,減少了程式碼的重複編寫;多型性則使得同一個操作可以根據不同的物件型別有不同的實現方式,增加了程式的靈活性。
2、《C 語言程式設計》第 6 章: - 迴圈結構:
- 計數控制的迴圈(for 迴圈):for 迴圈是一種常用的迴圈結構,透過設定初始值、迴圈條件和迭代步長來控制迴圈的執行次數。它適用於已知迴圈次數的情況,例如計算 1 到 100 的和等問題。
- 條件控制的迴圈(while 迴圈和 do-while 迴圈):while 迴圈在迴圈體執行之前先判斷條件,如果條件為真則執行迴圈體,否則跳出迴圈;do-while 迴圈則先執行一次迴圈體,然後再判斷條件,條件為真時繼續迴圈,否則結束迴圈。這兩種迴圈適用於不確定迴圈次數,但根據某個條件來決定是否繼續迴圈的情況。
- 巢狀迴圈:巢狀迴圈是指在一個迴圈的迴圈體中包含另一個迴圈,常用於處理二維陣列、矩陣等具有多維結構的資料,或者生成複雜的圖形、圖案等。
- 常用語句:包括 break 語句和 continue 語句等。break 語句用於跳出當前迴圈,提前結束迴圈的執行;continue 語句用於跳過本次迴圈的剩餘語句,直接進入下一次迴圈。
- 結構化程式設計:強調了結構化程式設計的基本思路,即程式應該具有良好的結構,易於理解、維護和擴充套件。透過合理地使用函式、模組等方式將程式分解為多個獨立的模組,每個模組完成特定的功能,模組之間透過引數傳遞和返回值進行通訊。
學習過程中會遇到的問題及解決過程
問題1:在程式設計語言的翻譯過程中,編譯器和直譯器各自的優缺點是什麼? - 解答:
- 編譯器優點:編譯後的程式執行效率高,因為它是把整個源程式一次性翻譯為機器語言,後續執行時計算機可以直接執行機器語言程式碼,不需要額外的翻譯過程。例如對於大型的、計算密集型的程式,如科學計算軟體,使用編譯器可以讓程式執行得更快。
- 編譯器缺點:除錯相對困難。因為編譯器是對整個程式進行翻譯,如果程式在執行時出現錯誤,定位錯誤的難度可能較大。並且,每次修改源程式後都需要重新編譯整個程式才能執行。
- 直譯器優點:具有良好的平臺可移植性,只要目標平臺有對應的直譯器,就可以執行程式。而且除錯方便,因為是逐行解釋執行,當出現錯誤時可以比較容易地定位到出錯的行。例如一些指令碼語言,在不同作業系統上,只要安裝了相應的直譯器就能執行,而且開發過程中如果程式碼出錯能很快發現問題所在。
- 直譯器缺點:執行效率較低,由於是逐行翻譯並執行,相比編譯後的程式,它需要花費更多的時間在翻譯程式碼這個過程上,對於大型程式或者效能要求高的程式不太適用。
問題2:在C語言的巢狀迴圈中,如何正確地控制內迴圈和外迴圈的執行次數,以實現列印一個九九乘法表? - 解答:
- 九九乘法表是一個典型的二維結構,外迴圈控制行數,內迴圈控制列數。
基於AI的學習
學習進度條
| | 程式碼行數(新增/累積)| 部落格量(新增/累積)|學習時間(新增/累積)|重要成長|
| -------- | :----------------😐:----------------😐:---------------: |:-----😐
| 目標 | 5000行 | 30篇 | 400小時 | |
| 第一週 | 200/200 | 2/2 | 20/20 | |
| 第二週 | 300/500 | 2/4 | 18/38 | |
| 第三週 | 500/1000 | 3/7 | 22/60 | |
| 第四周 | 300/1300 | 2/9 | 30/90 | |