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 |