1. 程式人生 > 其它 >2022-2023-1 20221325 《計算機基礎與程式設計》第十四周學習總結

2022-2023-1 20221325 《計算機基礎與程式設計》第十四周學習總結

作業資訊

這個作業屬於哪個課程 https://edu.cnblogs.com/campus/besti/2022-2023-1-CFAP
這個作業要求在哪裡 https://www.cnblogs.com/rocedu/p/9577842.html#WEEK14
這個作業的目標 自學教材《C語言程式設計》第13章並完成雲班課測試
作業正文 https://www.cnblogs.com/yx-qx-xy-515-2/p/16949776.html

教材學習內容總結
二進位制檔案和文字檔案
檔案的開啟和關閉,順序讀寫與隨機讀寫
標準輸入/輸出及其重定向
教材學習中的問題和解決過程
Q: 程式的儲存型別?
A: 儲存型別分別是auto(自動),extern(外部),register(暫存器),static(靜態)
1.auto
在函式體中定義的變數預設是auto.當進入程式碼塊(block)時,系統為自動變數分配記憶體.在塊內,這些變數被定義,並被認為他們是區域性於本塊的.當退出塊時,系統釋放分配給自動變數的記憶體,因此,變數值就丟失了.重新進入塊,系統會為自動變數再次分配記憶體,原先的值已經沒有了.
2.extern
在函式的外部宣告變數,就為變數永久的分配儲存,它的儲存型別是extern。定義在函式外部的變數的儲存型別都是extern,既不使用關鍵字extern.使用extern關鍵字是告訴,編譯器”在本檔案或其他檔案中尋找它”。既a檔案中int a =1在b檔案中則可以使用extern int a;來呼叫它。外部變數從不會消失,因為外部變數在整個程式執行期間都是存在的。
兩種方式向函式傳遞資訊:1.使用外部變數.2.使用引數.當函式從其內部而不是通過引數表改變全域性變數時,會產生副作用.這樣的構造容易引發錯誤.正確的做法是通過引數和返回機制影響全域性變數.
3.register
register高速編譯器應該把有關的變數儲存在高速的記憶體暫存器中.使用儲存於型別register是要試圖改善執行速度.當關系速度時,可選擇一些最經常訪問的變數,並把他們的儲存型別宣告為register.
register i;等價於register int i;,register預設是int型別.
4.static
允許區域性變數儲存它的原有值,以便再進入塊時使用.
void f(void)
{
static int cnt = 0;
}
問題2:隨機讀寫與順序讀寫怎麼去理解?
問題2解決方案:隨機讀寫是相對順序讀寫而言的,所謂隨機讀寫,是指可以在任何時候將存取檔案的指標指向檔案內容的任何位置。一般情況下SAS機械硬碟主要是看順序讀寫效能,SSD固態盤主要看隨機讀寫效能。檔案的操作方式:順序讀寫:檔案指標只能從頭移動到尾;隨機讀寫:檔案指標可以隨意移動,根據需要。
程式碼除錯中的問題和解決過程


暫無
學習進度條

程式碼行數(新增/累積) 部落格量(新增/累積) 學習時間(新增/累積) 重要成長
目標 3000行 30篇 200小時
第一週 50/50 2/2 15/15
第二週 100/150 2/4 15/30
第三週 150/350 3/7 20/50
第四周 150/500 3/10 20/70
第五週 150/650 2/12 20/90
第六週 150/800 4/16 20/110
第七週 150/950 1/17 20/130
第八週 150/1100 3/20 20/150
第九周 150/1250 1/21 20/170
第十週 150/1400 1/22 20/190
第十一週 150/1550 1/23 20/210
第十二週 150/1700 1/24 20/230
第十三週 150/1850 1/25 20/250
第十四周 150/2000 1/26 20/270