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

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

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

作業資訊

這個作業屬於哪個課程 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/liu-221304-yi-tong/p/16947708.html

教材學習內容總結

二進位制檔案和文字檔案
檔案的開啟和關閉,順序讀寫與隨機讀寫
標準輸入/輸出及其重定向

教材學習中的問題和解決過程

  • 問題1:二進位制檔案和文字檔案的區別?
  • 問題1解決方案:上網查詢資料後得知:
    1)文字檔案:這類檔案以文字的ASCII碼形式儲存在計算機中。它是以"行"為基本結構的一種資訊組織和儲存方式。
    2)二進位制檔案:這類檔案以文字的二進位制形式儲存在計算機中,使用者一般不能直接讀懂它們,只有通過相應的軟體才能將其顯示出來。二進位制檔案一般是可執行程式、圖形、影象、聲音等等。
    文字方式和二進位制方式的最大區別在於文字方式對於'\n'換行符的理解不同,在DOS平臺下,該字元會被展開成< LF>兩個控制字元(相當於"\r\n"),在ASCII字符集下是0DH,0AH,而在UNIX平臺下,僅僅是,不會展開。而在二進位制方式下,不管是什麼平臺,'\n'都是精確的。而類似於一個數學上的數字128,會在檔案中以什麼樣的格式儲存,是以數字形式儲存(80H),還是對應的可讀文字('1','2','8'),卻和檔案流的開啟方式無關。在C++的檔案流中,使用的術語叫做格式化輸入輸出操作和無格式化操作,前者也就是<<和>>運算子,將數字按照可讀文字儲存,後者是get/put成員函式,直接儲存數字格式。
  • 問題2:隨機讀寫與順序讀寫怎麼去理解?
  • 問題2解決方案:隨機讀寫是相對順序讀寫而言的,所謂隨機讀寫,是指可以在任何時候將存取檔案的指標指向檔案內容的任何位置。一般情況下SAS機械硬碟主要是看順序讀寫效能,SSD固態盤主要看隨機讀寫效能。檔案的操作方式:順序讀寫:檔案指標只能從頭移動到尾;隨機讀寫:檔案指標可以隨意移動,根據需要。
  • 問題3:什麼是重定向?
  • 問題3解決方案:上網查詢資料後得知:
    計算機最基礎的功能是可以提供輸入輸出操作。對於Linux系統來說,通常以鍵盤為預設輸入裝置,又稱標準輸入裝置;以顯示器為預設的輸出裝置,又稱標準輸出裝置。所謂重定向,就是將原本應該從標準輸入裝置(鍵盤)輸入的資料,改由其他檔案或裝置輸入,或將原本應該輸出到標準輸出裝置(顯示器)的內容,改由輸出到其他檔案或裝置上。
    檔案識別符號是重定向中很重要的一個概念,Linux使用0到9的整數指明瞭與特定程序相關的資料流,系統在啟動一個程序的同時會為該程序開啟三個檔案:標準輸入(stdin)、標準輸出(stdout)、標準錯誤輸出(stderr),分別用檔案識別符號0、1、2來標識。如果要為程序開啟其他的輸入輸出,則需要從整數3開始標識。預設情況下,標準輸入為鍵盤,標準輸出和錯誤輸出為顯示器。
    簡單的說,I/O重定向可以將任何檔案、命令、指令碼、程式的輸出重定向到另外一個檔案、命令、程式或指令碼。

程式碼除錯中的問題和解決過程

暫無

學習進度條

程式碼行數(新增/累積) 部落格量(新增/累積) 學習時間(新增/累積) 重要成長
目標 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
  • 計劃學習時間:20小時

  • 實際學習時間:20小時